![](/img/trans.png)
[英]How to set the CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly' for elastic queries on Azure SQL?
[英]Azure SQL Server Elastic query with ApplicationIntent ReadOnly
我正在使用SQL Server Management Studio v18.2 *創建對不同Azure數據庫( 水平分區 )的彈性查詢。 對數據庫的訪問必須包含標志ApplicationIntent=ReadOnly
。
我創建了主密鑰和范圍憑證:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'
CREATE DATABASE SCOPED CREDENTIAL stg_credentials
WITH IDENTITY = 'user',
SECRET = 'pass';
然后,我需要創建外部數據源 。 根據文檔,語法為:
CREATE EXTERNAL DATA SOURCE <data_source_name>
WITH
( LOCATION = '<prefix>://<path>[:<port>]'
[, CONNECTION_OPTIONS = '<name_value_pairs>']
[, CREDENTIAL = <credential_name> ]
[, PUSHDOWN = ON | OFF]
[, TYPE = HADOOP | BLOB_STORAGE ]
[, RESOURCE_MANAGER_LOCATION = '<resource_manager>[:<port>]'
)
[;]
我正在使用以下查詢:
CREATE EXTERNAL DATA SOURCE stg_1 WITH
(TYPE = RDBMS, LOCATION = 'myserver.database.windows.net', CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly', DATABASE_NAME = 'mydatabase', CREDENTIAL = stg_credentials);
但是在執行它時,盡管我為該選項使用了正確的語法 ,但出現以下錯誤。
“ CONNECTION_OPTIONS”附近的語法不正確。
我是否需要在SSMS中安裝任何其他組件? 語法有什么問題嗎? 任何幫助將不勝感激。
* SQL Server Management Studio 15.0.18142.0 Microsoft Analysis Services客戶端工具15.0.1389.0 Microsoft數據訪問組件(MDAC)10.0.17763.1
請安裝最新版本的SQL Server Management Studio( v18.2 ),以獲得所有Azure SQL Database PaaS產品的最佳體驗。
完全在T-SQL中跨Azure SQL數據庫查詢。 這允許對遠程數據庫進行只讀查詢,並為當前的本地SQL Server客戶提供使用三部分和四部分名稱或鏈接服務器將應用程序遷移到SQL DB的選項。
對於Azure SQL數據庫,它沒有參數“ CONNECTION_OPTIONS”。
您可以從提供的文檔中找到它: Azure SQL數據庫 。
您也可以參考本文檔跨數據庫查詢入門(垂直分區)(預覽) 。 它還給出了示例。
外部數據源:
CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
(TYPE = RDBMS,
LOCATION = '<server_name>.database.windows.net',
DATABASE_NAME = 'Customers',
CREDENTIAL = ElasticDBQueryCred,
) ;
更新:
彈性查詢預覽限制 :
彈性查詢僅適用於Azure SQL數據庫。 您不能將其用於查詢本地SQL Server或VM中的SQL Server。
因此,您無法使用Elastic Query連接到虛擬機上的SQL Server。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.