次の方法で共有


sys.sp_rda_set_query_mode (Transact-SQL)

適用対象: SQL Server 2016 (13.x) 以降のバージョン

現在の Stretch 対応データベースとそのテーブルに対するクエリで、ローカル データとリモート データ (既定値) の両方を返すか、ローカル データのみを返すかを指定します。

重要

拡張データベースは、SQL Server 2022 (16.x) および Azure SQL Database では非推奨になります。 この機能は、データベース エンジンの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

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 に設定されます。 このモードを終了するには、次のいずれかの操作を行います。

    • 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 の既定の動作です。 つまり、クエリはローカル データとリモート データの両方から結果を返します。