次の方法で共有


sys.sp_rda_reauthorize_db (Transact-SQL)

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

Stretch が有効になっているローカル データベースとリモート データベースの間の認証済み接続を復元します。

重要

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

Transact-SQL 構文表記規則

構文

sp_rda_reauthorize_db
    [ @credential = ] credential
      , [ @with_copy = ] with_copy
    [ , [ @azure_servername = ] azure_servername
      , [ @azure_databasename = ] azure_databasename ]
[ ; ]

引数

[ @credential = ] N'credential'

ローカルの Stretch 対応データベースに関連付けられているデータベース スコープの資格情報。 @credentialsysname です。

[ @with_copy = ] with_copy

リモート データのコピーを作成し、コピーに接続するかどうかを指定します (推奨)。 @with_copyビットです。

[ @azure_servername = ] azure_servername

リモート データを含む Azure サーバーの名前を指定します。 @azure_servernamesysname です。

[ @azure_databasename = ] azure_databasename

リモート データを含む Azure データベースの名前を指定します。 @azure_databasenamesysname です。

リターン コードの値

0 (成功) または > 0 (失敗)。

アクセス許可

db_ownerのアクセス許可が必要です。

解説

sys.sp_rda_reauthorize_db (Transact-SQL) を実行してリモート Azure データベースに再接続すると、この操作によってクエリ モードが自動的にLOCAL_AND_REMOTEにリセットされます。これは Stretch Database の既定の動作です。 つまり、クエリはローカル データとリモート データの両方から結果を返します。

次の例では、Stretch が有効になっているローカル データベースとリモート データベースの間の認証済み接続を復元します。 リモート データのコピーを作成し (推奨)、新しいコピーに接続します。

DECLARE @credentialName NVARCHAR(128);

SET @credentialName = N'<existing_database_scoped_credential_name>';

EXEC sp_rda_reauthorize_db
    @credential = @credentialName,
    @with_copy = 1;