7

ドメイン外から SQL サーバーに接続しようとしています。

次の接続文字列があります。

SqlConnection("SERVER=Server;DATABASE=Database;User ID=Domain\User;Password=password");

これをドメイン外で使用しようとすると、SQL 認証を使用してログインしようとするため失敗します。

コマンドを文字列に渡して Active Directory 認証を使用する方法はありますか。

ドメイン外の Active Directory の詳細を使用して SQL サーバーに接続するには、他にどのような方法がありますか?

4

1 に答える 1

3

次のいずれかが必要です。

  1. 接続文字列で統合セキュリティを使用し、リソース ドメイン (SQL サーバーがある場所) とアカウント ドメイン (アカウントがある場所) の間にドメイン信頼関係を作成します。または...
  2. SQL Server でアカウントを作成し、それを接続文字列でユーザー名とパスワードとして使用します。

ユーザー/パスにドメイン資格情報を入れることで無効な組み合わせを行っており、信頼関係さえありません。

編集:

コメントは、SQL アカウントを AD クレデンシャルと同期する必要があることを示しています。これは必要ありません。SQL アカウントは、SQL サーバーに固有の単純な SQL スコープのユーザー名とパスワードであり、ドメイン資格情報とは関係ありません。SQL アカウントを使用する場合、それらはアプリの構成設定になり、適切な接続を構築してネットワーク経由で送信するために使用されます。SQL サーバーは、AD を使用せずにこれらの資格情報をローカルで認証します。

また、2 層 (SQL に直接アクセスするファット クライアント) を作成するか、3 層 (SQL にアクセスする中間層アプリ サーバーにクライアントがアクセスする) を作成するかも興味深い点です。後者の場合、アプリケーションはユーザーを認証および承認し、その後、sql 固有のユーザー/パスを含む構成設定を使用して sql にアクセスします。前者で、SQL アカウントを使用している場合は、クライアントごとに 1 つ必要であり、それが問題になります。

于 2013-04-16T11:52:09.780 に答える