Включение базы данных Stretch для базы данных

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

Важно!

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

Чтобы настроить имеющуюся базу данных так, чтобы она использовала Stretch Database, выберите Задачи > Stretch > Включить для базы данных в SQL Server Management Studio. После этого откроется мастер включения базы данных для Stretch. Кроме того, вы можете использовать Transact-SQL, чтобы включить Stretch Database для базы данных.

Если при выборе Задачи > Stretch > Включить для отдельной таблицы служба Stretch Database для базы данных еще не включена, то мастер настроит базу данных для Stretch Database и позволит выбрать таблицы в ходе этого процесса. Выполните шаги из этой статьи вместо шагов из статьи Включение Stretch Database для таблицы.

Чтобы настроить Stretch Database для таблицы или базы данных, требуются права db_owner. Для включения Stretch Database для базы данных также требуются разрешения CONTROL DATABASE.

Примечание.

В случае последующего отключения Stretch Database для таблицы или базы данных помните, что такое отключение не приводит к удалению дистанционного объекта. Если вы хотите удалить удаленную таблицу или базу данных, это нужно сделать с помощью портала управления Azure. Пока удаленные объекты не будут удалены вручную, их хранение будет сопровождаться затратами в Azure.

Необходимые условия

Обязательное требование: включение Stretch Database на сервере

Перед включением службы Stretch Database для базы данных или таблицы необходимо включить ее на локальном сервере. Для этой операции требуются права sysadmin или serveradmin.

  • При наличии нужных административных разрешений мастер включения базы данных для Stretch настроит сервер для Stretch Database.

  • Если у вас нет необходимых разрешений, администратор должен вручную включить этот параметр, выполнив sp_configure перед запуском мастера, или администратор должен запустить мастер.

Чтобы включить Stretch Database на сервере вручную, запустите sp_configure и включите параметр удаленного архива данных. В следующем примере включается параметр remote data archive путем изменения его значения на 1.

EXEC sp_configure 'remote data archive' , '1';
GO

RECONFIGURE;
GO

Дополнительные сведения см. в статьях Настройка параметра конфигурации сервера remote data archive и sp_configure (Transact-SQL).

Использование мастера

Сведения о мастере включения базы данных для Stretch, включая описание информации, которую необходимо указать, и вариантов, из которых необходимо выбрать, см. в разделе Запуск мастера включения базы данных для Stretch.

Использование Transact-SQL

Перед включением службы Stretch Database для отдельных таблиц необходимо включить ее для базы данных.

Чтобы настроить Stretch Database для таблицы или базы данных, требуются права db_owner. Для включения Stretch Database для базы данных также требуются разрешения CONTROL DATABASE.

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

  2. На сервере Azure создайте правило брандмауэра с диапазоном IP-адресов сервера SQL Server. Это правило позволит SQL Server обмениваться данными с удаленным сервером.

    Вы можете легко найти нужные значения и создать правило брандмауэра, попытавшись подключиться к серверу Azure из обозревателя объектов в среде SQL Server Management Studio (SSMS). SSMS поможет вам создать правило. Для этого откроется приведенное ниже диалоговое окно, где уже указаны необходимые значения IP-адресов.

    Важно!

    Поддержка Stretch Database удалена в SQL Server Management Studio версии 19. Для управления Stretch Database можно использовать SQL Server Management Studio версии 18.9.1 или более ранней версии.

    Screenshot showing a firewall rule for Stretch.

  3. Для настройки базы данных SQL Server для использования со Stretch Database необходим главный ключ базы данных. Главный ключ базы данных защищает учетные данные, используемые для подключения к удаленной базе данных, использующей Stretch Database. В следующем примере создается главный ключ базы данных.

    USE <database>;
    GO
    
    CREATE MASTER KEY ENCRYPTION BY PASSWORD='<password>';
    GO
    

    Дополнительные сведения о главном ключе базы данных см. в статьях CREATE MASTER KEY (Transact-SQL) и Создание главного ключа базы данных.

  4. При настройке базы данных для Stretch Database необходимо указать учетные данные для Stretch Database, которые будут использоваться для обмена данными между локальным SQL Server и удаленным сервером Azure. В этом случае у вас есть два варианта.

    • Можно предоставить учетные данные администратора.

      • Если вы включаете Stretch Database с помощью мастера, можно указать учетные данные с помощью мастера.

      • Если вы собираетесь включить Stretch Database, используя инструкцию ALTER DATABASE, вам нужно создать учетные данные вручную, прежде чем запускать инструкцию ALTER DATABASE.

        В следующем примере создаются учетные данные.

        CREATE DATABASE SCOPED CREDENTIAL [<db_scoped_credential_name>]
            WITH IDENTITY = '<identity>' , SECRET = '<secret>';
        GO
        

        Дополнительные сведения об учетных данных см. в статье CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL). Для создания учетных данных требуется разрешение ALTER ANY CREDENTIAL.

    • Вы можете использовать федеративную учетную запись службы для взаимодействия SQL Server с удаленным сервером Azure при выполнении следующих условий.

      • Учетная запись службы, под которой работает экземпляр SQL Server, является доменной учетной записью.

      • Учетная запись домена принадлежит домену, active Directory которого является федеративным с идентификатором Microsoft Entra (ранее — Azure Active Directory).

      • Удаленный сервер Azure настроен для поддержки проверки подлинности Microsoft Entra.

      • Учетная запись службы, под которой выполняется экземпляр SQL Server, должна быть настроена как учетная запись dbmanager или sysadmin на удаленном сервере Azure.

  5. Чтобы настроить базу данных для использования со Stretch Database, выполните инструкцию ALTER DATABASE.

    1. Для аргумента SERVER укажите имя существующего сервера Azure, включая часть .database.windows.net имени, например MyStretchDatabaseServer.database.windows.net.

    2. Предоставьте существующие учетные данные администратора с аргументом CREDENTIAL или укажите FEDERATED_SERVICE_ACCOUNT = ON. В примере ниже приведены существующие учетные данные.

    ALTER DATABASE [<database name>]
        SET REMOTE_DATA_ARCHIVE = ON
            (
                SERVER = '<server_name>' ,
                CREDENTIAL = [<db_scoped_credential_name>]
            );
    GO
    

Следующие шаги

См. также