sys.sp_rda_set_query_mode (Transact-SQL)
適用於: SQL Server 2016 (13.x) 和更新版本
指定目前已啟用 Stretch 的資料庫及其數據表的查詢是否同時傳回本機和遠端資料(預設值),還是只傳回本機數據。
重要
Stretch Database 在 SQL Server 2022 (16.x) 及 Azure SQL 資料庫中已被取代。 資料庫引擎的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。
語法
sp_rda_set_query_mode
[ @mode = ] @mode
[ , [ @force = ] @force ]
[ ; ]
引數
[ @mode = ] @mode
下列其中一個值:
DISABLED
啟用 Stretch 的數據表的所有查詢都會失敗。LOCAL_ONLY
啟用 Stretch 的數據表查詢只會傳回本機數據。LOCAL_AND_REMOTE
啟用 Stretch 的數據表查詢會同時傳回本機和遠端數據。 此為預設行為。
[ @force = ] @force
如果您想要變更查詢模式而不驗證,則可以設定為1的選擇性 位 值。
傳回碼值
0
(成功) 或 > 0
(失敗)。
權限
需要 db_owner 權限。
備註
下列擴充預存程式也會設定已啟用 Stretch 之資料庫的查詢模式。
sp_rda_deauthorize_db
:執行
sp_rda_deauthorize_db
之後,針對已啟用 Stretch 的資料庫和數據表的所有查詢都會失敗。 也就是說,查詢模式會設定為DISABLED
。 若要結束此模式,請執行下列其中一項動作。執行 sys.sp_rda_reauthorize_db (Transact-SQL) 以重新連線到遠端 Azure 資料庫。 此作業會自動將查詢模式
LOCAL_AND_REMOTE
重設為 ,這是 Stretch Database 的預設行為。 也就是說,查詢會從本機和遠端數據傳回結果。使用 自變數執行
LOCAL_ONLY
sys.sp_rda_set_query_mode,讓查詢只針對本機數據繼續執行。
sp_rda_reauthorize_db
:當您執行 sys.sp_rda_reauthorize_db (Transact-SQL) 以重新連線到遠端 Azure 資料庫時,此作業會自動將查詢模式
LOCAL_AND_REMOTE
重設為 ,這是 Stretch Database 的預設行為。 也就是說,查詢會從本機和遠端數據傳回結果。