Partilhar via


sys.sp_rda_reauthorize_db (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores

Restaura a conexão autenticada entre um banco de dados local habilitado para Stretch e o banco de dados remoto.

Importante

O banco de dados de ampliação foi preterido no SQL Server 2022 (16.x) e no Banco de Dados SQL do Azure. Esse recurso será removido em uma versão futura do mecanismo de banco de dados. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@credential [ = ] N'credencial'

A credencial no escopo do banco de dados associada ao banco de dados local habilitado para Stretch. @credential é sysname.

@with_copy [ = ] with_copy

Especifica se deseja fazer uma cópia dos dados remotos e conectar-se à cópia (recomendado). @with_copy é pouco.

@azure_servername [ = ] azure_servername

Especifica o nome do servidor do Azure que contém os dados remotos. @azure_servername é sysname.

@azure_databasename [ = ] azure_databasename

Especifica o nome do banco de dados do Azure que contém os dados remotos. @azure_databasename é sysname.

Valores do código de retorno

0 (sucesso) ou > 0 (falha).

Permissões

Requer permissões de db_owner.

Comentários

Quando você executa sys.sp_rda_reauthorize_db (Transact-SQL) para se reconectar ao banco de dados remoto do Azure, essa operação redefine automaticamente o modo de consulta para LOCAL_AND_REMOTE, que é o comportamento padrão do Stretch Database. Ou seja, as consultas retornam resultados de dados locais e remotos.

Exemplos

O exemplo a seguir restaura a conexão autenticada entre um banco de dados local habilitado para Stretch e o banco de dados remoto. Ele faz uma cópia dos dados remotos (recomendado) e se conecta à nova cópia.

DECLARE @credentialName NVARCHAR(128);

SET @credentialName = N'<existing_database_scoped_credential_name>';

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