共用方式為


sys.sp_rda_set_query_mode (Transact-SQL)

適用於:SQL Server 2016 (13.x) 和更新版本

指定目前已啟用 Stretch 的資料庫及其數據表的查詢是否同時傳回本機和遠端資料(預設值),還是只傳回本機數據。

重要

Stretch Database 在 SQL Server 2022 (16.x) 及 Azure SQL 資料庫中已被取代。 資料庫引擎的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

Transact-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。 若要結束此模式,請執行下列其中一項動作。

  • sp_rda_reauthorize_db

    當您執行 sys.sp_rda_reauthorize_db (Transact-SQL) 以重新連線到遠端 Azure 資料庫時,此作業會自動將查詢模式 LOCAL_AND_REMOTE重設為 ,這是 Stretch Database 的預設行為。 也就是說,查詢會從本機和遠端數據傳回結果。