web-dev-qa-db-ja.com

このリンクサーバーを作成するときに「ログインに失敗しました」と表示されるのはなぜですか?

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
2
  1. 「mydomain\myuser」資格情報を使用してserverAにログインします。
  2. 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
    
  3. 「serverB」がsys.serversに存在するかどうかを確認します。

    select * from sys.servers
    
  4. 「serverB」がServerAから機能するかどうかを確認します。

    select * from serverB.master.dbo.sysdatabases
    
2
Kin Shah