Minha empresa tem muitas filiais e cada filial possui um servidor de banco de dados. Alguns têm SQL Server 2005 e outros SQL Server 2008. O esquema é o mesmo para todos esses servidores.
Sempre que quero fazer DDL, como adicionar colunas, etc., faço isso conectando-me a cada servidor, um por um, ou executando o script DDL com OSQL por meio de um arquivo em lote.
Existe uma ferramenta integrada para fazer DDL de uma só vez em vários servidores? E as ferramentas de terceiros? (de preferência gratuitos)
Uma abordagem:
No Management Studio 2008 R2, você pode adicionar seus servidores a grupos chamados Servidores Registrados. Eu tenho grupos para prod, dev, Prod-SQL2000 etc. Você começa indo em View - Registered Servers e, em seguida, adicionando-os um por um (você pode compartilhar com colegas exportando-os)
Isso permitirá que você clique em um de seus grupos (por exemplo, Prod) e selecione New Query. naquele grupo. Pessoalmente, faço operações somente de leitura, pois alterar vários servidores ao mesmo tempo é mais arriscado.
Uma ferramenta criada pela Atlantis Interactive chamada SQL Anywhere permite que você se conecte a várias instâncias e execute código em todas elas.
Encontre aqui: http://www.atlantis-interactive.co.uk/
É GRATUITO. Ele também tem algumas outras ferramentas, mas só recentemente comecei a brincar com o SQL Anywhere. É muito mais leve que o SSMS e faz algumas auditorias legais também.
Para SQL 2008 em diante, você pode usar
CMS
(Central Management Server). Você pode até registrar bancos de dados SQL 2000 e SQL 2005 nisso. No SSMS em um sistema SQL 2008, clique emView>Registered Servers
. Em seguida, na janela Registered Servers, expanda o Database Engine para ver a pasta Central Management Server. Aqui está um link inicial para ler mais sobre ele.Fique atento às diferenças de sintaxe nas diferentes versões do SQL ao executar as consultas.