En una migración de servidores desde SQL2000 a 2005 o 2008 si tenemos servidores vinculados (Linked Server) podemos llegar a tener el siguiente error al querer aplicar el Script en el destino (por ejemplo SQL 20008).
Aquí muestro un ejemplo del script
sp_addlinkedserver 'CASACENTRAL','SQL SERVER',
'SQLOLEDB','SQLPROD','','','SERVICECENTRAL'
go
Al ejecutar este script en un 2008 o 2005 nos encontramos con el siguiente error
Msg 15428, Level 16, State 1, Procedure sp_addlinkedserver, Line 40
You cannot specify a provider or any properties for product 'SQL SERVER'.
El problema se da porque el driver SQLOLEDB no existe en 2008 o 2005, para lo cual deberíamos modificar el script como muestro a continuación
EXEC sp_addlinkedserver
@server='CASACENTRAL',
@srvproduct='',
@provider='SQLNCLI',
@datasrc='SQLPROD'
go
Aquí solo se ha modificado el Provider por SQLCLI, ahora si nuestro Script va a funcionar y podemos migrar nuestro Linked Server.
Debo mencionar que esto no sucede con todos los Linked sino que básicamente sobre aquellos que usamos un nombre distinto al del servidor SQL,
como pudimos ver en nuestro ejemplo el servidor se llama SQLPROD y el Linked CASACENTRAL.
Además de esto, muchas veces me preguntan como se migran estos linked server, hay varias opciones, a mi me gusta mucho usar esta tool free.
http://www.codeproject.com/cs/database/ScriptLinkedServers.asp