web-dev-qa-db-ja.com

リンクサーバーの問題。 Windowsログインをリモートログインアカウントとして使用できない

リンクサーバーを設置してみました。ターゲットサーバーはMS SQL 2008R2です。

Saアカウントでリモートログインを設定すると問題なく動作します。

ただし、Windowsアカウントを使用すると、エラーがポップアップ表示されます。

そして、ログから次のメッセージが表示されます。

SQL Server認証でNTアカウント名を使用しようとしています

リンクされたサーバーにWindows認証を使用させる方法はありますか?

3
maxisam

いいえ、リモート側のWindowsアカウントを指定することはできません。

できることは、[偽装]チェックボックスをオンにすることだけですが、サーバーのSQLアカウントでWindowsドメインアカウントを使用してリモートマシンに接続することはできません。また、サーバー上のWindowsユーザーが別のWindowsアカウントを使用してリモートマシンに接続することもできません。

今、あなたがおそらくできることは、EXECUTE ASを使用してストアドプロシージャ内のWindowsアカウントを偽装することです(ここではストアドプロシージャを使用していると想定しています)。次に、偽装するアカウントのリンクサーバーマッピングを設定します。両方のマシンでKerberosが正しく設定されていることを正しく前提として。

5
mrdenny

いくつかの設定を行う必要があります。それを使い始めることはできません。つまり、ログインを適切に設定し、SPNを作成して、Kerberosを使用する必要があります。これを行ったら、リンクサーバーを構成して、自己マッピングを実行します。これに関するマイクロソフトの記事 ここにあります 。トリッキーなことは、SPNを正しく取得することです。通常、SQL Serverが使用するドメインログインにSPN作成権限を付与するのが最善です。このようにして、サーバーが起動するたびに自分自身のSPNを作成します。これを機能させるには、ドメイン管理者の助けが必要です。

3
darin strait

エラーメッセージはそれをすべて言います。ユーザー名とパスワードを入力するのは、SQL認証アカウント用です。エラーメッセージは、SQL資格情報ではないWindows資格情報を入力したことを示しています。

0
Ben Thul