0

からserver1、リンク サーバー機能を使用してリモート サーバー (server2) への接続を作成しました。両方のサーバーが同じドメインにあります。にログインするserver1と、SQL Server Management Studio からストアド プロシージャを正常に実行できますが、ブラウザ アプリケーションからストアド プロシージャを実行すると、次のエラーが発生しserver 2ます。

エラー: 18456、重大度: 14、状態: 58。
ユーザー 'sa' のログインに失敗しました。SQL 認証を使用したログインに失敗しました。
サーバーは Windows 認証のみに構成されています。

インターネットと Stackoverflow で解決策を検索しましたが、この問題を解決する最善の方法がわかりません。データベースのセキュリティ設定を追加/変更する必要があると確信していますが、これらの変更をどこで行うべきかわかりません。

前もって感謝します。

4

1 に答える 1

0

Enterprise Manager でサーバーを右クリックし、プロパティを選択して [セキュリティ] に移動し、SQL Server および Windows 認証モードに変更します。

スクリーンショット

認証に sa またはその他の sql-account を使用する場合は、混合モードが必要です。ただし、推奨される方法は、サーバーを Windows 認証モードに保ち、認証にドメイン アカウントを使用することだと思います。sa-account は手っ取り早い方法です。

両方のサーバーでまったく同じセキュリティ設定を行っている場合、リンク サーバーのプロパティで [ログインの現在のセキュリティ コンテキストを使用して作成する] を選択すると、それらの間のリンクが機能するはずです。そうすれば、アカウントはリンクサーバーへの接続で「継承」されます。

スクリーンショット

同じアカウントが両方のサーバーに追加されるように、各サーバーの [セキュリティ - ログイン] を確認します。また、両方のエントリのプロパティを確認します。[サーバー ロール] の下で、sysadmin-role を追加して、アカウントがサーバー上のすべてのデータベースにアクセスできることを確認してください。ただし、ライブ環境ではこのアクセスを制限する必要があります:)

スクリーンショット

于 2013-06-04T19:57:04.123 に答える