Ok, o que se podia esperar era que a Microsoft tornasse esta Exportação/Importação absolutamente transparente, certo? Pois é, eu também gostaria que fosse assim, mas a verdade é que se você exportar sua lista de servidores registrados no SSMS 2005 e tentar simplesmente importar no SSMS 2008 receberá a seguinte mensagem de erro e obviamente a lista não será importada.
TITLE: Import Registered Servers
——————————
Cannot import from C:/TEMP/regsrv.regsrvr.
——————————
ADDITIONAL INFORMATION:
The operation ‘Import’ failed. (Microsoft.SqlServer.Management.RegisteredServers)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2531.0+((Katmai_PCU_Main).090329-1015+)&LinkId=20476
——————————
Serialization output is invalid. (Microsoft.SqlServer.Management.Sdk.Sfc)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2734.0+((Katmai_SP1_QFE-CU).090911-1500+)&LinkId=20476
——————————
‘None’ is an invalid XmlNodeType. Line 1250, position 10. (System.Xml)
——————————
BUTTONS:
OK
——————————
Bom, este problema existe devido a uma imcompatibilidade entre o formato do .xml gerado pelo SSMS 2005 e o esperado pelo SSMS 2008. Pesquisando sobre o problema até encontrei as duas entradas abaixo registradas no connect.microsoft.com, mas infelizmente sem uma solução…
http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=350633
http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=366121
Pesquisando mais um pouco, encontrei um post no blog do Buck Woody (http://blogs.msdn.com/buckwoody/archive/2008/08/18/importing-sql-server-2005-registered-servers-to-sql-server-2008.aspx), no entando, notei que para muitos a sugestão não funcionou. Acredito eu que seja porque algumas informações não estão claras… daí baseado neste blog foi que solucionei meu problema e resolvi escrever esta dica… de forma mais clara.
Bom, então partindo do princípio que você já exportou sua lista e está recebendo o erro acima, faça o seguinte:
1) Na máquina aonde você está com o SSMS 2005 instalado (o que possui a lista de servidores a exportar), localize o arquivo RegSrvr.xml no seguinte caminho… (ignore minha barra de separação, tive que inverter aqui devido a uma limitação)
C:/Documents and Settings/seu_login_no_windows/Application Data/Microsoft/Microsoft SQL Server/90/Tools/Shell
Obs: Em “Documents and Settings” você deverá encontrar uma pasta com o nome do seu login no Windows. Já vi também instalações onde a pasta “Documents and Settings” fica em outro disco, por exemplo D:/
2) Copie este arquivo para um diretório temporário qualquer.
3) Na máquina aonde você está com o SSMS 2008 instalado e quer importar a lista de servidores, acesse o caminho…
C:/Documents and Settings/seu_login_no_windows/Application Data/Microsoft/Microsoft SQL Server/
Possivelmente você verá apenas a pasta /100. Neste caso, crie a estrutura /90/Tools/Shell e copie aqui o arquivo RegSrvr.xml que você copiou no passo 3
Caso a estra estrutura /90/Tools/Shell já exista, localize e renomeie o arquivo existente RegSrvr.xml e depois copie aqui o arquivo RegSrvr.xml que você copiou no passo 3
4) Agora, abra o SSMS 2008, clique com o botão direito em “Local Servers Groups” e selecione Tasks | Previously Registered Servers
5) clique em Yes e depois expanda “Local Servers Groups”
6) Pronto, seus servidores devem estar todos aí.
Bom, pode ser que após você clicar em Yes no passo 5, você receba algumas mensagens de erro e ao final não tenha todos os seus servidores registrados. Neste caso, na lista dos servidores que estão registrados no SSMS 2005, certique de possuir acesso a todos os servidores registrados e que eles não estão registrados como “SQL Authentication“, por exemplo, usando o usuário sa e senha. Tive alguns problemas com servidores que estavam registrados usando sa e resolvi após entrar na propriedade do servidor e mudar a autenticação para “Windows Authentication“.
É isso… abraços e espero que ajude.
Nilton Pinheiro