Восстановление базы данных на SQL Server 2022 из Управляемого экземпляра SQL Azure
Область применения: Управляемый экземпляр SQL Azure
В этой статье описывается, как восстановить резервную копию базы данных из Управляемого экземпляра Azure SQL в SQL Server 2022.
Обзор
Выравнивание формата базы данных между Управляемый экземпляр SQL и SQL Server 2022 позволяет легко копировать или перемещать базы данных из управляемого экземпляра в выпуск Enterprise, Developer или Standard SQL Server 2022, размещенный локально, на виртуальных машинах в Azure или в других облаках.
Восстановление баз данных из управляемых экземпляров в экземпляры SQL Server 2022 разблокирует следующие сценарии:
- Обеспечивает перемещение баз данных между SQL Managed Instance и продуктами на основе SQL Server.
- Предоставляет копии базы данных клиентам и другим соответствующим сторонам.
- Обновляет среды вне SQL Managed Instance.
Возможность восстановления полных резервных копий баз данных в режиме только копирования из SQL Managed Instance в SQL Server 2022 доступна по умолчанию во всех существующих и любых новых развернутых экземплярах.
Внимание
Возможность восстановления полных резервных копий баз данных только для копирования из Управляемый экземпляр SQL в SQL Server 2022 будет доступна до конца основной поддержки SQL Server 2022.
Создание резервной копии на Управляемом экземпляре SQL
Сначала создайте учетные данные для доступа к учетной записи хранения из экземпляра, создайте резервную копию базы данных только для копирования, а затем сохраните ее.
Вы можете создать учетные данные с помощью управляемого удостоверения или маркера подписанного URL-адреса (SAS).
Управляемое удостоверение — это функция Microsoft Entra ID (ранее Azure Active Directory), которая предоставляет экземплярам служб Azure, таким как управляемый экземпляр Azure SQL, автоматически управляемое удостоверение в Microsoft Entra ID, назначаемое системой.
Это удостоверение можно использовать для авторизации запросов на доступ к данным в других ресурсах Azure, включая учетные записи хранения. Такие службы, как Управляемый экземпляр SQL Azure имеют управляемое удостоверение, назначаемое системой, а также могут иметь одно или несколько управляемых удостоверений, назначаемых пользователем. Для авторизации запросов можно использовать управляемые удостоверения, назначаемые системой или пользователем.
Прежде чем администратор службы хранилища Azure записывает файл резервной копии в учетную запись хранения, он должен предоставить разрешения управляемому удостоверению для записи данных. Предоставление разрешений управляемому удостоверению экземпляра выполняется так же, как предоставление разрешений любому другому пользователю Microsoft Entra. Например:
На портале Azure на панели управления доступом (IAM) учетной записи хранения выберите Добавить назначение роли.
Выберите встроенную роль управления доступом на основе ролей Azure (RBAC). Это обеспечивает доступ для чтения и записи к необходимым контейнерам Blob в Azure, используя управляемое удостоверение.
Вместо предоставления управляемого удостоверения роли участника данных BLOB-объектов хранилища Azure RBAC можно предоставить более детализированные разрешения. Дополнительные сведения см. в разделе "Настройка списков управления доступом" в Azure Data Lake Storage 2-го поколения.
На следующей странице для предоставления доступа выберите управляемую идентичность.
Выберите участников и затем в раскрывающемся списке управляемых удостоверений, выберите соответствующее управляемое удостоверение. Дополнительные сведения см. в статье Назначение ролей 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. Дополнительные сведения см. в статье "Настройка TDE SQL Server с помощью AKV".
Рекомендации
При восстановлении базы данных в SQL Server рассмотрите следующее:
- Необходимо использовать
WITH MOVE
квалификатор и указать явные пути к файлам данных. - Базы данных, зашифрованные с помощью ключей TDE, управляемых службой, не могут быть восстановлены в SQL Server. Вы можете восстановить зашифрованную базу данных на SQL Server, только если она была зашифрована с помощью управляемого клиентом ключа и целевого сервера имеет доступ к тому же ключу, который используется для шифрования базы данных. Дополнительные сведения см. в статье "Настройка TDE SQL Server с помощью Azure Key Vault".
- Эта возможность доступна только для экземпляров с политикой обновления SQL Server 2022. Вы не сможете восстановить резервную копию базы данных в SQL Server 2022 из экземпляра с политикой обновления всегда актуально.
- После восстановления базы данных Управляемого экземпляра SQL Azure до SQL Server 2022 и удаления индекса или таблицы с индексом может появиться ошибка 8992 при выполнении команды
DBCC CHECKDB
.
Следующие шаги
- Чтобы узнать, как создать свой первый управляемый экземпляр, см. Руководство по быстрому началу работы.
- Сведения о функциях и список их сравнений см. в статье Общие функции SQL.
- Дополнительные сведения о конфигурации виртуальной сети см. в Управляемый экземпляр SQL: конфигурация виртуальной сети.
- Быстро начать создание управляемого экземпляра и восстановление базы данных из файла резервной копии можно, ознакомившись с разделом Создание управляемого экземпляра.
- Сведения о руководстве по миграции с использованием Azure Database Migration Service см. в разделе Миграция в Управляемый экземпляр SQL с использованием Database Migration Service.
- Для расширенного мониторинга Управляемого экземпляра SQL см. раздел «Наблюдатель за базами данных».
- Сведения о ценах см. на странице с ценами на Базу данных SQL.