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


Восстановление базы данных в SQL Server из Управляемого экземпляра SQL Azure

Область применения: Управляемый экземпляр SQL Azure

В этой статье описывается восстановление резервного копирования базы данных из Управляемого экземпляра SQL Azure в SQL Server 2022 или SQL Server 2025.

Обзор

При настройке управляемого экземпляра SQL с политикой обновления выровняете внутренний формат базы данных с определенной версией SQL Server. Совместимость форматов базы данных между SQL Managed Instance и SQL Server позволяет легко копировать или перемещать базы данных из SQL Managed Instance в SQL Server издания Enterprise, Developer или Standard, размещенный локально, на виртуальные машины Azure или в других облаках.

Восстановление баз данных из управляемых экземпляров SQL в SQL Server 2022 или SQL Server 2025 позволяет разблокировать следующие сценарии:

  • Обеспечивает перемещение баз данных между SQL Managed Instance и продуктами на основе SQL Server.
  • Предоставляет копии базы данных клиентам и другим соответствующим сторонам.
  • Обновляет среды вне SQL Managed Instance.

Рассмотрим следующее:

  • Возможность восстановления полных резервных копий баз данных из Управляемого экземпляра SQL в SQL Server 2022 доступна по умолчанию для всех существующих и недавно развернутых экземпляров. Эта возможность доступна до конца основной поддержки SQL Server 2022. После изменения политики обновления экземпляра на SQL Server 2025 или Always-up-to-date восстановление базы данных до SQL Server 2022 больше невозможно.
  • Возможность восстановления полных резервных копий баз данных из Управляемого экземпляра SQL в SQL Server 2025 доступна только для экземпляров, настроенных с политикой обновления SQL Server 2025. Эта возможность доступна до конца основной поддержки SQL Server 2025. После изменения политики обновления экземпляра на Always-up-to-date восстановление базы данных до SQL Server 2025 больше невозможно.

Создание резервной копии на Управляемом экземпляре SQL

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

Вы можете создать учетные данные с помощью управляемого удостоверения или маркера подписанного URL-адреса (SAS).

Управляемое удостоверение — это функция Microsoft Entra ID (ранее Azure Active Directory), которая предоставляет экземплярам служб Azure, таким как управляемый экземпляр Azure SQL, автоматически управляемое удостоверение в Microsoft Entra ID, назначаемое системой.

Это удостоверение можно использовать для авторизации запросов на доступ к данным в других ресурсах Azure, включая учетные записи хранения. Такие службы, как Управляемый экземпляр SQL Azure имеют управляемое удостоверение, назначаемое системой, а также могут иметь одно или несколько управляемых удостоверений, назначаемых пользователем. Для авторизации запросов можно использовать управляемые удостоверения, назначаемые системой или пользователем.

Прежде чем администратор службы хранилища Azure записывает файл резервной копии в учетную запись хранения, он должен предоставить разрешения управляемому удостоверению для записи данных. Предоставление разрешений управляемому удостоверению экземпляра выполняется так же, как предоставление разрешений любому другому пользователю Microsoft Entra. Например:

  1. На портале Azure на панели управления доступом (IAM) учетной записи хранения выберите Добавить назначение роли.

  2. Выберите встроенную роль управления доступом на основе ролей Azure (RBAC). Это обеспечивает доступ для чтения и записи к необходимым контейнерам Blob в Azure, используя управляемое удостоверение.

    Вместо предоставления управляемого удостоверения роли участника данных BLOB-объектов хранилища Azure RBAC можно предоставить более детализированные разрешения. Дополнительные сведения см. в разделе "Настройка списков управления доступом" в Azure Data Lake Storage 2-го поколения.

  3. На следующей странице для предоставления доступа выберите управляемую идентичность.

  4. Выберите участников и затем в раскрывающемся списке управляемых удостоверений, выберите соответствующее управляемое удостоверение. Дополнительные сведения см. в статье Назначение ролей Azure с помощью портала Azure.

Теперь создание учетных данных на уровне базы данных для аутентификации управляемого удостоверения стало простым.

В следующем примере обратите внимание, что Managed Identity это жестко закодированная строка, и необходимо заменить имя универсальной учетной записи хранения именем фактической учетной записи хранения:

CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<containername>]
WITH IDENTITY = 'MANAGED IDENTITY';

Затем создайте резервную копию базы данных, выполнив следующую COPY_ONLY примерную команду T-SQL:

BACKUP DATABASE [SampleDB]
TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH COPY_ONLY;

Восстановление в SQL Server

Восстановите базу данных в SQL Server с помощью WITH MOVE параметра команды RESTORE DATABASE T-SQL и предоставления явных путей к файлам на целевом сервере.

Чтобы восстановить базу данных в SQL Server, выполните следующую примерную команду T-SQL с путями к файлам, соответствующими вашей среде:

RESTORE DATABASE [SampleDB]
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH
    MOVE 'data_0' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_data_0.mdf',
    MOVE 'log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDBlog.ldf',
    MOVE 'XTP' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_xtp.xtp';

Примечание.

Чтобы восстановить базы данных, зашифрованные на месте хранения с помощью прозрачного шифрования данных (TDE), целевой сервер SQL Server должен иметь доступ к тому же ключу, который используется для защиты исходной базы данных с помощью соединителя SQL Server для Azure Key Vault. Дополнительные сведения см. в статье о настройке расширяемого управления ключами SQL Server TDE с помощью Azure Key Vault.

Рекомендации

При восстановлении базы данных в SQL Server рассмотрите следующее:

  • Необходимо использовать WITH MOVE квалификатор и указать явные пути к файлам данных.

  • Базы данных, зашифрованные с помощью ключей TDE, управляемых службой, не могут быть восстановлены в SQL Server. Вы можете восстановить зашифрованную базу данных на SQL Server, только если она была зашифрована с помощью управляемого клиентом ключа и целевого сервера имеет доступ к тому же ключу, который используется для шифрования базы данных. Дополнительные сведения см. в статье Настройка управления расширяемыми ключами SQL Server TDE с помощью Azure Key Vault.

  • Политика обновлений для вашего управляемого экземпляра SQL должна соответствовать версии вашего экземпляра SQL Server или быть более поздней. Базы данных, восстановленные в SQL Server 2022, должны поступать из экземпляров с политикой обновления SQL Server 2022. Аналогичным образом базы данных, восстановленные в SQL Server 2025, должны поступать из экземпляров с политикой обновления SQL Server 2025. Также можно восстановить базу данных из экземпляра с политикой обновления SQL Server 2022 на экземпляр с политикой обновления SQL Server 2025 . После восстановления базы данных в экземпляр с более высокой политикой обновления версий эта база данных больше не может быть восстановлена в экземпляре с более низкой политикой обновления версий. Восстановление баз данных из экземпляров с более низкой политикой обновления версий не поддерживается.

  • После восстановления базы данных Управляемого экземпляра SQL Azure в SQL Server и удаления индекса или таблицы с индексом при выполнении команды может появиться DBCC CHECKDB.

    Осторожность

    При создании секционированного индекса в таблице после удаления индекса, как описано в этом сценарии, таблица становится недоступной.