Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server 2019 (15.x)
В этой статье описывается восстановление существующей базы данных в главном экземпляре кластеров больших данных SQL Server 2019. Рекомендуемый метод — использовать подход резервного копирования, копирования и восстановления.
Important
Кластеры больших данных Microsoft SQL Server 2019 прекращены. Поддержка кластеров больших данных SQL Server 2019 закончилась с 28 февраля 2025 г. Дополнительные сведения см. в записи блога объявлений и параметрах больших данных на платформе Microsoft SQL Server.
Резервное копирование существующей базы данных
Сначала создайте резервную копию существующей базы данных SQL Server из SQL Server в Windows или Linux. Используйте стандартные методы резервного копирования с Transact-SQL или с помощью средства, например SQL Server Management Studio (SSMS).
В этой статье показано, как восстановить базу данных AdventureWorks, но можно использовать любую резервную копию базы данных.
Tip
Скачайте резервную копию 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>
Example:
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
Example:
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'
Example:
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
Note
Эти скрипты установки необходимо выполнить только для баз данных, восстановленных из более старых версий SQL Server. Если вы создаете новую базу данных в главном экземпляре SQL Server, процедуры хранения пула данных и пула носителей уже настроены для вас.
Next steps
Дополнительные сведения о кластерах больших данных SQL Server см. в следующем обзоре: