リンクサーバーを設置してみました。ターゲットサーバーはMS SQL 2008R2です。
Saアカウントでリモートログインを設定すると問題なく動作します。
ただし、Windowsアカウントを使用すると、エラーがポップアップ表示されます。
そして、ログから次のメッセージが表示されます。
SQL Server認証でNTアカウント名を使用しようとしています
リンクされたサーバーにWindows認証を使用させる方法はありますか?
いいえ、リモート側のWindowsアカウントを指定することはできません。
できることは、[偽装]チェックボックスをオンにすることだけですが、サーバーのSQLアカウントでWindowsドメインアカウントを使用してリモートマシンに接続することはできません。また、サーバー上のWindowsユーザーが別のWindowsアカウントを使用してリモートマシンに接続することもできません。
今、あなたがおそらくできることは、EXECUTE ASを使用してストアドプロシージャ内のWindowsアカウントを偽装することです(ここではストアドプロシージャを使用していると想定しています)。次に、偽装するアカウントのリンクサーバーマッピングを設定します。両方のマシンでKerberosが正しく設定されていることを正しく前提として。
いくつかの設定を行う必要があります。それを使い始めることはできません。つまり、ログインを適切に設定し、SPNを作成して、Kerberosを使用する必要があります。これを行ったら、リンクサーバーを構成して、自己マッピングを実行します。これに関するマイクロソフトの記事 ここにあります 。トリッキーなことは、SPNを正しく取得することです。通常、SQL Serverが使用するドメインログインにSPN作成権限を付与するのが最善です。このようにして、サーバーが起動するたびに自分自身のSPNを作成します。これを機能させるには、ドメイン管理者の助けが必要です。
エラーメッセージはそれをすべて言います。ユーザー名とパスワードを入力するのは、SQL認証アカウント用です。エラーメッセージは、SQL資格情報ではないWindows資格情報を入力したことを示しています。