sys.sp_rda_reauthorize_db (Transact-SQL)
適用於: SQL Server 2016 (13.x) 和更新版本
還原已啟用 Stretch 和遠端資料庫之本機資料庫之間的已驗證連線。
重要
Stretch Database 在 SQL Server 2022 (16.x) 及 Azure 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;