Поделиться через


sys.sp_rda_reauthorize_db (Transact-SQL)

Область применения: SQL Server 2016 (13.x) и более поздних версий

Восстанавливает прошедшее проверку подлинности соединение между локальной базой данных, включенной для Stretch и удаленной базой данных.

Внимание

Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.

Соглашения о синтаксисе 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 бит.

[ @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;