Problema: No se puede ejecutar una consulta a través de un servidor vinculado de SQL Server 2005. Este problema sólo ocurre con un no-administrador de sistemas.

Usted consigue el mensaje:

Msg 7416, Level 16, State 2, Line 1
Denegado el acceso al servidor remoto. No existe ninguna asignación de inicio de sesión.


Causa: Cuando se crea un servidor vinculado con el parámetro @provstr y  uso un cuenta local de SQL Server no-administrador o  no-Windows, entonces el parámetro de nombre de usuario es requerido en el @provstr


Resolución: Agregar "User ID = Nombre de usuario" en la cadena de su proveedor de servidor vinculado

EXEC master.dbo.sp_addlinkedserver @server = N'LinkServerName', @provider=N'SQLNCLI',@srvproduct = 'MS SQL Server', @provstr=N'SERVER=serverName\InstanceName;User ID=myUser'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'LinkServerName', @locallogin = NULL , @useself = N'False', @rmtuser = N'myUser', @rmtpassword = N'*****'

Verificación:

SELECT  TOP 1 * FROM LinkServerName.msdb.dbo.backupset
GO
SELECT * FROM OPENQUERY (LinkServerName, 'SELECT TOP 1 * FROM msdb.dbo.backupset ')

Michel Degremont | Premier Field Engineer - SQL Server Core Engineer |