Azure の試用版を使用しています。社内で SQL 2012 からクロス サーバー クエリを実行しようとしています。
ローカル 2012 が Azure にリンクされているようです。Server Object
->Linked Servers
管理スタジオに入ると、Azure
データベースが表示されます。
しかし、カタログとテーブルを開こうとすると、エラー メッセージが表示されます。
Reference to database and/or server name in 'Perseus.sys.sp_tables_rowset2' is not supported in this version of SQL Server
** Perseusは のカタログの名前ですAzure Sql
。
ローカル接続からのクエリの実行:
SELECT * FROM [azureDBServer].[Perseus].[dbo].[accounts]
結果は次のとおりです。
OLE DB provider "SQLNCLI11" for linked server "azureDBServer" returned message
"Unspecified error". Msg 40515, Level 16, State 2, Line 1 Reference to database and/or
server name in 'Perseus.sys.sp_tables_info_90_rowset' is not supported in this version of
SQL Server.
これと同じ社内の SQL 2012 サーバーは、クロス サーバー クエリによって、またリンク サーバーを介してその構造を表示することによって、社内の 2008 に接続できます。
この記事から、 Azure が Linked Servers をサポートしていることがわかります。
だから私は何が悪いのか迷っています。管理者は、ビジネス SQL アカウントではなく Web-Sql アカウントを持っている可能性があると考えています。このAzure Web とビジネス SQLの古いスタック リンクは、SQL のバージョンが問題ではなく、Azure がリンク サーバーを提供する前の日付であることを意味します。
だから、私は理解しようとしています
a) SQL Linking を提供するための適切な設定をしていませんか?
b)私たちは裁判によって制限されていますか?
c) Web SQL のバージョンによる制限はありますか?
d)他に何かありますか?