Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2019 (15.x)
В этой статье описывается восстановление существующей базы данных в главном экземпляре кластеров больших данных SQL Server 2019. Рекомендуемый метод — использовать подход резервного копирования, копирования и восстановления.
Это важно
Надстройка "Кластеры больших данных Microsoft SQL Server 2019" будет прекращена. Поддержка кластеров больших данных SQL Server 2019 завершится 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на этой платформе, а программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений для SQL Server до этого времени. Для получения дополнительной информации см. запись блога об объявлении и параметры работы с большими данными на платформе Microsoft SQL Server.
Резервное копирование существующей базы данных
Сначала создайте резервную копию существующей базы данных SQL Server из SQL Server в Windows или Linux. Используйте стандартные методы резервного копирования с Transact-SQL или с помощью средства, например SQL Server Management Studio (SSMS).
В этой статье показано, как восстановить базу данных AdventureWorks, но можно использовать любую резервную копию базы данных.
Подсказка
Скачайте резервную копию AdventureWorks.
Копирование файла резервной копии
Скопируйте файл резервной копии в контейнер SQL Server в pod главного экземпляра кластера Kubernetes.
kubectl cp <path to .bak file> master-0:/var/tmp/<.bak filename> -c mssql-server -n <name of your big data cluster>
Пример:
kubectl cp ~/Downloads/AdventureWorks2022.bak master-0:/var/tmp/AdventureWorks2022.bak -c mssql-server -n clustertest
Затем убедитесь, что файл резервной копии скопирован в контейнер pod.
kubectl exec -it master-0 -n <name of your big data cluster> -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit
Пример:
kubectl exec -it master-0 -n clustertest -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit
Восстановление файла резервной копии
Затем восстановите резервную копию базы данных до главного экземпляра SQL Server. Если вы восстанавливаете резервную копию базы данных, созданную в Windows, вам потребуется получить имена файлов. В Azure Data Studio подключитесь к главному экземпляру и запустите этот скрипт SQL:
RESTORE FILELISTONLY FROM DISK='/tmp/<db file name>.bak'
Пример:
RESTORE FILELISTONLY FROM DISK='/tmp/AdventureWorks2022.bak'
Теперь восстановите базу данных. Следующий сценарий является примером. Замените имена и пути по мере необходимости в зависимости от резервного копирования базы данных.
RESTORE DATABASE AdventureWorks2022
FROM DISK='/tmp/AdventureWorks2022.bak'
WITH MOVE 'AdventureWorks2022_Data' TO '/var/opt/mssql/data/AdventureWorks2022_Data.mdf',
MOVE 'AdventureWorks2022_Log' TO '/var/opt/mssql/data/AdventureWorks2022_Log.ldf',
MOVE 'AdventureWorks2022_mod' TO '/var/opt/mssql/data/AdventureWorks2022_mod'
Настройка пула данных и доступа HDFS
Теперь чтобы экземпляр master SQL Server получил доступ к пулам данных и HDFS, выполните хранимые процедуры пула данных и пула хранения. Запустите следующие скрипты Transact-SQL в вновь восстановленной базе данных:
USE AdventureWorks2022;
GO
-- Create the SqlDataPool data source:
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlDataPool')
CREATE EXTERNAL DATA SOURCE SqlDataPool
WITH (LOCATION = 'sqldatapool://controller-svc/default');
-- Create the SqlStoragePool data source:
IF NOT EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlStoragePool')
CREATE EXTERNAL DATA SOURCE SqlStoragePool
WITH (LOCATION = 'sqlhdfs://controller-svc/default');
GO
Замечание
Эти скрипты установки необходимо выполнить только для баз данных, восстановленных из более старых версий SQL Server. Если вы создаете новую базу данных в главном экземпляре SQL Server, процедуры хранения пула данных и пула носителей уже настроены для вас.
Дальнейшие шаги
Дополнительные сведения о кластерах больших данных SQL Server см. в следующем обзоре: