sys.sp_rda_set_query_mode (Transact-SQL)
適用対象: SQL Server 2016 (13.x) 以降のバージョン
現在の Stretch 対応データベースとそのテーブルに対するクエリで、ローカル データとリモート データ (既定値) の両方を返すか、ローカル データのみを返すかを指定します。
重要
拡張データベースは、SQL Server 2022 (16.x) および Azure SQL Database では非推奨になります。 この機能は、データベース エンジンの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。
構文
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 の既定の動作です。 つまり、クエリはローカル データとリモート データの両方から結果を返します。