L'accès au serveur distant est refusé parce qu'il n'y a pas de mappage des connexions.
Problème : impossible d’exécuter une requête à travers un serveur lié SQL Server 2005. Ce problème arrive uniquement avec un compte non sysadmin.
Vous obtenez le message :
Msg 7416, Level 16, State 2, Line 1
L'accès au serveur distant est refusé parce qu'il n'y a pas de mappage des connexions.
Cause : Lorsque vous créez un serveur lié avec le paramètre @provstr et que vous utilisez un compte local SQL server non-admin ou non-Windows, alors le paramètre User Name est requis dans le paramètre @provstr
Résolution : Ajouter "User ID=Username" dans la chaine du provider de votre serveur lié
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'*****'
Vérification :
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 |