如何为 Azure SQL 上的弹性查询设置 CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly'?
How to set the CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly' for elastic queries on Azure SQL?
我正在使用弹性查询访问其他数据库。数据源是这样创建的:
CREATE EXTERNAL DATA SOURCE TheCompanyQueryDataSrc WITH (
TYPE = RDBMS,
--CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly',
CREDENTIAL = ElasticDBQueryCred,
LOCATION = 'thecompanysql.database.windows.net',
DATABASE_NAME = 'TheCompanyProd'
);
为了减少数据库负载,只读副本已创建并应使用。据我了解,我应该添加 CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly'
(在上面的代码中注释掉)。但是,我只得到 Incorrect syntax near 'CONNECTION_OPTIONS'
两个数据库(设置连接+外部表的数据库,另一个只读在同一台服务器上(thecompanysql.database.windows.net) .两者都设置了兼容杆SQLServer 2019(150).
我还应该设置什么才能使其正常工作?
CREATE EXTERNAL DATA SOURCE 语法不支持选项 CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly'
。我们不能在语句中使用它。
如果你想实现只读请求,方法是请使用只有只读(db_reader)权限的用户帐户登录外部数据库。
例如:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>' ;
CREATE DATABASE SCOPED CREDENTIAL SQL_Credential
WITH
IDENTITY = '<username>' -- readonly user account,
SECRET = '<password>' ;
CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc
WITH
( TYPE = RDBMS ,
LOCATION = '<server_name>.database.windows.net' ,
DATABASE_NAME = 'Customers' ,
CREDENTIAL = SQL_Credential
) ;
既然不支持这个选项,那我们就不能用elastic query了。使用 SSMS 连接到 Azure SQL 数据的唯一方法是这样的:
HTH.
我正在使用弹性查询访问其他数据库。数据源是这样创建的:
CREATE EXTERNAL DATA SOURCE TheCompanyQueryDataSrc WITH (
TYPE = RDBMS,
--CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly',
CREDENTIAL = ElasticDBQueryCred,
LOCATION = 'thecompanysql.database.windows.net',
DATABASE_NAME = 'TheCompanyProd'
);
为了减少数据库负载,只读副本已创建并应使用。据我了解,我应该添加 CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly'
(在上面的代码中注释掉)。但是,我只得到 Incorrect syntax near 'CONNECTION_OPTIONS'
两个数据库(设置连接+外部表的数据库,另一个只读在同一台服务器上(thecompanysql.database.windows.net) .两者都设置了兼容杆SQLServer 2019(150).
我还应该设置什么才能使其正常工作?
CREATE EXTERNAL DATA SOURCE 语法不支持选项 CONNECTION_OPTIONS = 'ApplicationIntent=ReadOnly'
。我们不能在语句中使用它。
如果你想实现只读请求,方法是请使用只有只读(db_reader)权限的用户帐户登录外部数据库。
例如:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>' ;
CREATE DATABASE SCOPED CREDENTIAL SQL_Credential
WITH
IDENTITY = '<username>' -- readonly user account,
SECRET = '<password>' ;
CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc
WITH
( TYPE = RDBMS ,
LOCATION = '<server_name>.database.windows.net' ,
DATABASE_NAME = 'Customers' ,
CREDENTIAL = SQL_Credential
) ;
既然不支持这个选项,那我们就不能用elastic query了。使用 SSMS 连接到 Azure SQL 数据的唯一方法是这样的:
HTH.