sys.sp_rda_reauthorize_db (Transact-SQL)

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

還原已啟用 Stretch 和遠端資料庫之本機資料庫之間的已驗證連線。

重要

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

Transact-SQL 語法慣例

語法

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

引數

[ @credential = ] N'credential'

與已啟用本機 Stretch 之資料庫相關聯的資料庫範圍認證。 @credential為 sysname

[ @with_copy = ] with_copy

指定是否要建立遠端數據的複本,並連接到複本(建議)。 @with_copy為 bit

[ @azure_servername = ] azure_servername

指定包含遠端資料的 Azure 伺服器名稱。 @azure_servername為 sysname

[ @azure_databasename = ] azure_databasename

指定包含遠端資料的 Azure 資料庫名稱。 @azure_databasename為 sysname

傳回碼值

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;