別のドメインのVPN上のリモートSQL Serverに接続しようとしています。SQL Serverにサーバー名を入力し、[追加の接続パラメーター]を選択して、学校で必要なものを追加します。
Integrated Security=SSPI; User ID=DOMAIN\username; Password=Password
次のエラーが表示されます。
ログインに失敗しました。ログインは信頼できないドメインからのものであり、Windows認証では使用できません。
別のドメインのVPN上のリモートSQL Serverに接続しようとしています。SQL Serverにサーバー名を入力し、[追加の接続パラメーター]を選択して、学校で必要なものを追加します。
Integrated Security=SSPI; User ID=DOMAIN\username; Password=Password
次のエラーが表示されます。
ログインに失敗しました。ログインは信頼できないドメインからのものであり、Windows認証では使用できません。
回答:
アプリケーションの接続文字列からプレーンテキストでWindows資格情報を渡そうとしています。これは単にWindows認証が機能する方法ではなく、その目的を大きく損ないます。
また、自分のドメインで同じパスワードを使用して同じユーザー名を作成し、それが魔法のように機能することを期待することもできません。ドメイン名はまだ検証の一部です。マシンはドメインの一部であるか、マシンが属するドメインが学校のドメインによって信頼されている必要があります。
私が知っている唯一の回避策はSSMSであり、それrunas /netonly
がこの回答で説明されているトリックです。これにより、Windowsは自分のログインではなく、指定したログインとしてSSMSを起動します(これは、SSMSの[接続プロパティ]ダイアログで設定できるものではなく、コマンドラインまたはショートカットからSSMSを起動する方法です)。
runas /netonly /user:domain\username "C:\path_to\ssms.exe"
これにより、リモートドメインでパスワードの入力が求められます。それはなります見て、それはあなたのローカルのWindows資格情報を使用しているように、そうではありません。
Visual Studioでも動作する可能性はありますが、実際にはわかりません。
オプションは次のとおりです。
runas /netonly
Visual Studioでトリックを試すrunas /netonly
SSMSでトリックを使用するだけですrunas
ことは Visual Studioで機能します。
別の方法がありますが、今ではこのrunas /netonly
方法よりも優先して使用しています。
Windowsのコントロールパネルにある資格情報マネージャーを使用して、Windowsのプロファイルに資格情報を追加できます。
「インターネットまたはネットワークアドレス」フィールドに、資格情報を保存するSQLインスタンスの名前とポート番号を入力します。
例:UniServer:1433
(1433はデフォルトのポートです。特に名前付きインスタンスに接続している場合は、別のポートが必要になる場合があります)
MYDOMAIN\MYUSER
)サーバー名、ポート、およびログインの詳細が正しい場合、ほとんどのクライアントツール、SSMS、ExcelなどからWindows認証を使用できるようになります。それらはすべて、保存された資格情報を使用します。
ヒント:資格情報を追加するときに、サーバーのFQNを使用する必要がある場合があります。たとえばUniServer.UniDomain.org:1433
、それはすべてネットワークの仕様に依存します。
ここにメソッドの簡単なデモがあります:http : //youtu.be/WiVBPsqB9b4
これは、デスクトップでVMで実行されているSQL Serverに接続しようとして(そして失敗して)、必要な資格情報を追加して再試行する-成功した画面です。
ヒント:「cmdkey / add」コマンドを使用して、保存された資格情報の作成と更新をスクリプト化します。