Restauración de una base de datos en la instancia maestra del clúster de macrodatos de SQL Server
Se aplica a: SQL Server 2019 (15.x)
En este artículo se describe cómo restaurar una base de datos existente en la instancia maestra de un Clústeres de macrodatos de SQL Server 2019. El método recomendado consiste en seguir una estrategia de copia de seguridad, copia y restauración.
Importante
El complemento Clústeres de macrodatos de Microsoft SQL Server 2019 se va a retirar. La compatibilidad con Clústeres de macrodatos de SQL Server 2019 finalizará el 28 de febrero de 2025. Todos los usuarios existentes de SQL Server 2019 con Software Assurance serán totalmente compatibles con la plataforma, y el software se seguirá conservando a través de actualizaciones acumulativas de SQL Server hasta ese momento. Para más información, consulte la entrada de blog sobre el anuncio y Opciones de macrodatos en la plataforma Microsoft SQL Server.
Copia de seguridad de la base de datos existente
En primer lugar, realice una copia de seguridad de la base de datos de SQL Server existente desde SQL Server en Windows o Linux. Use las técnicas de copia de seguridad estándar con Transact-SQL o una herramienta como SQL Server Management Studio (SSMS).
En este artículo se muestra cómo restaurar la base de datos AdventureWorks, pero puede usar cualquier copia de seguridad de base de datos.
Sugerencia
Descargue la copia de seguridad de AdventureWorks.
Copia del archivo de copia de seguridad
Copie el archivo de copia de seguridad en el contenedor de SQL Server en el pod de la instancia maestra del clúster de Kubernetes.
kubectl cp <path to .bak file> master-0:/var/tmp/<.bak filename> -c mssql-server -n <name of your big data cluster>
Ejemplo:
kubectl cp ~/Downloads/AdventureWorks2022.bak master-0:/var/tmp/AdventureWorks2022.bak -c mssql-server -n clustertest
Después, compruebe que el archivo de copia de seguridad se ha copiado en el contenedor de pods.
kubectl exec -it master-0 -n <name of your big data cluster> -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit
Ejemplo:
kubectl exec -it master-0 -n clustertest -c mssql-server -- bin/bash
cd /var/
ls /tmp
exit
Restauración del archivo de copia de seguridad
Después, restaure la copia de seguridad de base de datos en la instancia maestra de SQL Server. Si va a restaurar una copia de seguridad de base de datos creada en Windows, deberá obtener los nombres de los archivos. En Azure Data Studio, conéctese a la instancia maestra y ejecute este script SQL:
RESTORE FILELISTONLY FROM DISK='/tmp/<db file name>.bak'
Ejemplo:
RESTORE FILELISTONLY FROM DISK='/tmp/AdventureWorks2022.bak'
Ahora, restaure la base de datos. El siguiente script es un ejemplo. Reemplace los nombres o las rutas de acceso según sea necesario en función de la copia de seguridad de la base de datos.
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'
Configuración del grupo de datos y del acceso a HDFS
Ahora, para que la instancia maestra de SQL Server pueda acceder a los grupos de datos y a HDFS, ejecute los procedimientos almacenados del grupo de datos y del bloque de almacenamiento. Ejecute los siguientes scripts de Transact-SQL en la base de datos recién restaurada:
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
Nota
Tendrá que ejecutar estos scripts de configuración solo para bases de datos restauradas a partir de versiones anteriores de SQL Server. Si crea una base de datos en la instancia maestra de SQL Server, los procedimientos almacenados del grupo de datos y del bloque de almacenamiento ya estarán configurados.
Pasos siguientes
Para obtener más información sobre Clústeres de macrodatos de SQL Server, vea la siguiente introducción: