ServerAからServerBへのリンクサーバーを作成していますが、どちらもSQL Server 2008サーバーです。誰でもリンクサーバーを利用できるように、ドメインサービスアカウントを使用してリンクサーバーを作成する必要があります。 ServerBはWindows認証のみを受け入れるため、サービスドメインアカウントを適切な権限でServerBに追加しました。サービスドメインアカウントでServerBにログインして権限を確認しましたが、すべて問題ありません。しかし、以下のスクリプトを使用してServerAにリンクサーバーを作成すると、「ユーザーのログインに失敗しました」というメッセージが表示されます。このスクリプトは正しくありませんか、それとも他に何か不足していますか?
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'ServerB', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'ServerB', @catalog=N'MyDatabase'
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ServerB',@useself=N'False',@locallogin=NULL,@rmtuser=N'mydomain\myuser',@rmtpassword='mypassword'
GO
TSQLの下で実行します。
EXEC master.dbo.sp_addlinkedserver
@server = N'serverB',
@srvproduct=N'',
@provider=N'SQLNCLI',
@datasrc=N'serverB',
@catalog=N'MyDatabase',
@provstr='Integrated Security=SSPI;'
GO
EXEC sp_addlinkedsrvlogin 'serverB', true
go
「serverB」がsys.serversに存在するかどうかを確認します。
select * from sys.servers
「serverB」がServerAから機能するかどうかを確認します。
select * from serverB.master.dbo.sysdatabases