私はSQL Serverが新しくなっています。私は質問がある:私は3つのSQLサーバー、2ドメインDomain1と1 Domain2にしている。SQL Server:SELECTクエリを実行しているダブルホップのリンクサーバー
- SQL Serverの1 & 2はドメイン1に
- SQL Server_3はドメイン2にあります。
- SQL SERVER_1 - 3
SQL server_2のにリンクされているとSQL Server 2は、SQL Serverにリンクされている私のWindows認証では、すべての3台のサーバ上のすべてのWindowsサーバーとSQLサーバー上で管理者です。私はSQLServer_1
にこれらのクエリを実行しようとしました(SQLServer_1
とSQLServer_3
間を直接接続することは、残念ながらオプションの外にある)中央のジャンプポイントとしてSQLServer_2
を使用してSQLServer_3
からデータを取得するためにSQLServer_1
にSELECT
クエリを実行するために
をしようとしています:
The object name 'SQLServer_2.SQLServer_3.DBName_1.Table_Name1' contains more than the maximum number of prefixes. The maximum is 3.
SELECT *
FROM [SQLServer_3].[DBName_1].[Table_Name1]
:
SELECT *
FROM [SQLServer_2].[SQLServer_3].[DBName_1].[Table_Name1]
は、しかし、私はこのエラーを取得します中の
結果:
Could not find server 'SQLServer_3' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.
だから、両方が動作しませんでした。
お願いします。それも可能ですか?
おそらく、2番目のサーバーでOPENQUERYを使用して、3番目のサーバーでクエリを実行しますか?例えば(server2、 'select * from server3.database.schema.table;'); 'または、server1(server3に接続する)上のストアドプロシージャをserver1から実行することを検討することもできます。 – ZLK
ありがとうございました!!!!それは働いた:)))whooohoooo –