Compartir vía


Restauración de una base de datos de SQL Server en un contenedor para Linux

Se aplica a: SQL Server - Linux

En este tutorial se muestra cómo mover y restaurar un archivo de copia de seguridad de SQL Server en una imagen de contenedor de Linux de SQL Server 2017 (14.x) que se ejecuta en Docker.

En este tutorial se muestra cómo mover y restaurar un archivo de copia de seguridad de SQL Server en una imagen de contenedor de Linux de SQL Server 2019 (15.x) que se ejecuta en Docker.

En este tutorial se muestra cómo mover y restaurar un archivo de copia de seguridad de SQL Server en una imagen de contenedor de Linux de SQL Server 2022 (16.x) que se ejecuta en Docker.

  • Extraiga y ejecute la imagen de contenedor de Linux de SQL Server más reciente.
  • Copie el archivo de base de datos de Wide World Importers en el contenedor.
  • Restaure la base de datos en el contenedor.
  • Ejecute instrucciones de Transact-SQL para ver y modificar la base de datos.
  • Realice una copia de seguridad de la base de datos modificada.

Requisitos previos

Opciones de implementación

En esta sección se proporcionan opciones de implementación para su entorno.

Actualmente, sqlcmd no admite el parámetro MSSQL_PID al crear contenedores. Si usa las instrucciones de sqlcmd de este tutorial, creará un contenedor con la edición para desarrolladores de SQL Server. Use las instrucciones de la interfaz de la línea de comandos (CLI) para crear un contenedor mediante la licencia que prefiera. Para obtener más información, consulte Implementación y conexión a contenedores de Linux de SQL Server.

Extracción y ejecución de la imagen de contenedor

  1. Abra un terminal de Bash en Linux.

  2. Extraiga la imagen de contenedor de Linux de SQL Server 2017 (14.x) desde Microsoft Container Registry.

    sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
    
  3. Para ejecutar la imagen de contenedor con Docker, puede usar el siguiente comando:

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql1' -p 1401:1433 \
       -v sql1data:/var/opt/mssql \
       -d mcr.microsoft.com/mssql/server:2017-latest
    

    Este comando crea un contenedor de SQL Server 2017 (14.x) con la edición Developer (valor predeterminado). El puerto 1433 de SQL Server se expone en el host como puerto 1401. El parámetro -v sql1data:/var/opt/mssql opcional crea un contenedor de volúmenes de datos denominado sql1data. Se usa para almacenar los datos creados por SQL Server.

    Importante

    En este ejemplo se usa un contenedor de volúmenes de datos dentro de Docker. Para obtener más información, consulte Configuración de imágenes de contenedor de SQL Server en Docker.

  4. Para ver los contenedores, use el comando docker ps.

    sudo docker ps -a
    
  5. Si la columna STATUS muestra el estado Up, esto indica que SQL Server se está ejecutando en el contenedor y que está escuchando en el puerto especificado en la columna PORTS. Si en la columna STATUS del contenedor de SQL Server se muestra Exited, vea Solución de problemas de contenedores de Docker de SQL Server.

$ sudo docker ps -a

CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
941e1bdf8e1d        mcr.microsoft.com/mssql/server/mssql-server-linux   "/bin/sh -c /opt/m..."   About an hour ago   Up About an hour    0.0.0.0:1401->1433/tcp   sql1
  1. Abra un terminal de Bash en Linux.

  2. Extraiga la imagen de contenedor de Linux de SQL Server 2019 (15.x) desde Microsoft Container Registry.

    sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    
  3. Para ejecutar la imagen de contenedor con Docker, puede usar el siguiente comando:

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql1' -p 1401:1433 \
       -v sql1data:/var/opt/mssql \
       -d mcr.microsoft.com/mssql/server:2019-latest
    

    Este comando crea un contenedor de SQL Server 2019 (15.x) con la edición Developer (valor predeterminado). El puerto 1433 de SQL Server se expone en el host como puerto 1401. El parámetro -v sql1data:/var/opt/mssql opcional crea un contenedor de volúmenes de datos denominado sql1data. Se usa para almacenar los datos creados por SQL Server.

    Importante

    En este ejemplo se usa un contenedor de volúmenes de datos dentro de Docker. Para obtener más información, consulte Configuración de imágenes de contenedor de SQL Server en Docker.

  4. Para ver los contenedores, use el comando docker ps.

    sudo docker ps -a
    
  5. Si la columna STATUS muestra el estado Up, esto indica que SQL Server se está ejecutando en el contenedor y que está escuchando en el puerto especificado en la columna PORTS. Si en la columna STATUS del contenedor de SQL Server se muestra Exited, vea Solución de problemas de contenedores de Docker de SQL Server.

    $ sudo docker ps -a
    
    CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
    941e1bdf8e1d        mcr.microsoft.com/mssql/server/mssql-server-linux   "/bin/sh -c /opt/m..."   About an hour ago   Up About an hour    0.0.0.0:1401->1433/tcp   sql1
    
  1. Abra un terminal de Bash en Linux.

  2. Extraiga la imagen de contenedor de Linux de SQL Server 2022 (16.x) desde Microsoft Container Registry.

    sudo docker pull mcr.microsoft.com/mssql/server:2022-latest
    
  3. Para ejecutar la imagen de contenedor con Docker, puede usar el siguiente comando:

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql1' -p 1401:1433 \
       -v sql1data:/var/opt/mssql \
       -d mcr.microsoft.com/mssql/server:2022-latest
    

    Este comando crea un contenedor de SQL Server 2022 (16.x) con la edición Developer (valor predeterminado). El puerto 1433 de SQL Server se expone en el host como puerto 1401. El parámetro -v sql1data:/var/opt/mssql opcional crea un contenedor de volúmenes de datos denominado sql1data. Se usa para almacenar los datos creados por SQL Server.

    Importante

    En este ejemplo se usa un contenedor de volúmenes de datos dentro de Docker. Para obtener más información, consulte Configuración de imágenes de contenedor de SQL Server en Docker.

  4. Para ver los contenedores, use el comando docker ps.

    sudo docker ps -a
    
  5. Si la columna STATUS muestra el estado Up, esto indica que SQL Server se está ejecutando en el contenedor y que está escuchando en el puerto especificado en la columna PORTS. Si en la columna STATUS del contenedor de SQL Server se muestra Exited, vea Solución de problemas de contenedores de Docker de SQL Server.

    $ sudo docker ps -a
    
    CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
    941e1bdf8e1d        mcr.microsoft.com/mssql/server/mssql-server-linux   "/bin/sh -c /opt/m..."   About an hour ago   Up About an hour    0.0.0.0:1401->1433/tcp   sql1
    

Cambiar la contraseña de SA

La cuenta SA es un administrador del sistema en la instancia de SQL Server que se crea durante la instalación. Después de crear el contenedor de SQL Server, la variable de entorno MSSQL_SA_PASSWORD especificada se reconoce mediante la ejecución de echo $MSSQL_SA_PASSWORD en el contenedor. Por motivos de seguridad, cambie la contraseña de administrador del sistema:

  1. Elija una contraseña segura que se usará para el usuario SA.

  2. Use docker exec para ejecutar la utilidad sqlcmd a fin de cambiar la contraseña a través de una instrucción Transact-SQL. Reemplace <YourStrong!Passw0rd> y <YourNewStrong!Passw0rd> con valores de contraseña propios:

    Importante

    La variable de entorno SA_PASSWORD está en desuso. En su lugar, use MSSQL_SA_PASSWORD.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourStrong!Passw0rd>' \
       -Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong!Passw0rd>"'
    
    docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd `
       -S localhost -U SA -P "<YourStrong!Passw0rd>" `
       -Q "ALTER LOGIN SA WITH PASSWORD='<YourNewStrong!Passw0rd>'"
    

Copia de un archivo de copia de seguridad en el contenedor

En este tutorial se usan las bases de datos de ejemplo Wide World Importers para Microsoft SQL. Siga estos pasos para descargar y copiar el archivo de copia de seguridad de base de datos de Wide World Importers en el contenedor de SQL Server.

  1. En primer lugar, use docker exec para crear una carpeta de copia de seguridad. El siguiente comando crea un directorio /var/opt/mssql/backup dentro del contenedor de SQL Server.

    sudo docker exec -it sql1 mkdir /var/opt/mssql/backup
    
  2. Luego, descargue el archivo WideWorldImporters-Full.bak en el equipo host. Los siguientes comandos llevan al directorio home/user y descargan el archivo de copia de seguridad como wwi.bak.

    cd ~
    curl -L -o wwi.bak 'https://github.com/Microsoft/sql-server-samples/releases/download/wide-world-importers-v1.0/WideWorldImporters-Full.bak'
    
  3. Use docker cp para copiar el archivo de copia de seguridad en el contenedor, en el directorio /var/opt/mssql/backup.

    sudo docker cp wwi.bak sql1:/var/opt/mssql/backup
    

Restauración de la base de datos

El archivo de copia de seguridad ahora se encuentra dentro del contenedor. Antes de restaurar la copia de seguridad, es importante conocer los nombres de archivo lógicos y los tipos de archivo que hay dentro de la copia de seguridad. Los siguientes comandos de Transact-SQL examinan la copia de seguridad y realizan la restauración con sqlcmd en el contenedor.

Sugerencia

En este tutorial se usa sqlcmd dentro del contenedor, ya que este incluye esta herramienta preinstalada. Pero también puede ejecutar instrucciones de Transact-SQL con otras herramientas de cliente fuera del contenedor, como la extensión de SQL Server para Visual Studio Code o utilizar SQL Server Management Studio en Windows para administrar SQL Server en Linux. Para conectarse, use el puerto de host que se ha asignado al puerto 1433 en el contenedor. En este ejemplo es localhost,1401 en el equipo host y Host_IP_Address,1401 de forma remota.

  1. Ejecute sqlcmd dentro del contenedor para enumerar los nombres de archivo lógicos y las rutas de acceso que hay dentro de la copia de seguridad. Esto se hace con la instrucción de Transact-SQL RESTORE FILELISTONLY.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd -S localhost \
       -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/backup/wwi.bak"' \
       | tr -s ' ' | cut -d ' ' -f 1-2
    

    Debería ver una salida similar a la siguiente:

    LogicalName   PhysicalName
    ------------------------------------------
    WWI_Primary   D:\Data\WideWorldImporters.mdf
    WWI_UserData   D:\Data\WideWorldImporters_UserData.ndf
    WWI_Log   E:\Log\WideWorldImporters.ldf
    WWI_InMemory_Data_1   D:\Data\WideWorldImporters_InMemory_Data_1
    
  2. Llame al comando RESTORE DATABASE para restaurar la base de datos dentro del contenedor. Especifique nuevas rutas de acceso para cada uno de los archivos del paso anterior.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'RESTORE DATABASE WideWorldImporters FROM DISK = "/var/opt/mssql/backup/wwi.bak" WITH MOVE "WWI_Primary" TO "/var/opt/mssql/data/WideWorldImporters.mdf", MOVE "WWI_UserData" TO "/var/opt/mssql/data/WideWorldImporters_userdata.ndf", MOVE "WWI_Log" TO "/var/opt/mssql/data/WideWorldImporters.ldf", MOVE "WWI_InMemory_Data_1" TO "/var/opt/mssql/data/WideWorldImporters_InMemory_Data_1"'
    

    Debería ver una salida similar a la siguiente:

    Processed 1464 pages for database 'WideWorldImporters', file 'WWI_Primary' on file 1.
    Processed 53096 pages for database 'WideWorldImporters', file 'WWI_UserData' on file 1.
    Processed 33 pages for database 'WideWorldImporters', file 'WWI_Log' on file 1.
    Processed 3862 pages for database 'WideWorldImporters', file 'WWI_InMemory_Data_1' on file 1.
    Converting database 'WideWorldImporters' from version 852 to the current version 869.
    Database 'WideWorldImporters' running the upgrade step from version 852 to version 853.
    Database 'WideWorldImporters' running the upgrade step from version 853 to version 854.
    Database 'WideWorldImporters' running the upgrade step from version 854 to version 855.
    Database 'WideWorldImporters' running the upgrade step from version 855 to version 856.
    Database 'WideWorldImporters' running the upgrade step from version 856 to version 857.
    Database 'WideWorldImporters' running the upgrade step from version 857 to version 858.
    Database 'WideWorldImporters' running the upgrade step from version 858 to version 859.
    Database 'WideWorldImporters' running the upgrade step from version 859 to version 860.
    Database 'WideWorldImporters' running the upgrade step from version 860 to version 861.
    Database 'WideWorldImporters' running the upgrade step from version 861 to version 862.
    Database 'WideWorldImporters' running the upgrade step from version 862 to version 863.
    Database 'WideWorldImporters' running the upgrade step from version 863 to version 864.
    Database 'WideWorldImporters' running the upgrade step from version 864 to version 865.
    Database 'WideWorldImporters' running the upgrade step from version 865 to version 866.
    Database 'WideWorldImporters' running the upgrade step from version 866 to version 867.
    Database 'WideWorldImporters' running the upgrade step from version 867 to version 868.
    Database 'WideWorldImporters' running the upgrade step from version 868 to version 869.
    RESTORE DATABASE successfully processed 58455 pages in 18.069 seconds (25.273 MB/sec).
    

Comprobar la base de datos restaurada

Ejecute la consulta siguiente para mostrar una lista de nombres de bases de datos del contenedor:

sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
   -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
   -Q 'SELECT Name FROM sys.Databases'

Debería ver WideWorldImporters en la lista de bases de datos.

Realización de cambios

Siga estos pasos para realizar un cambio en la base de datos.

  1. Ejecute una consulta para ver los diez elementos principales de la tabla Warehouse.StockItems.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'SELECT TOP 10 StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems ORDER BY StockItemID'
    

    Debería ver una lista de identificadores y nombres de elemento:

    StockItemID StockItemName
    ----------- -----------------
              1 USB missile launcher (Green)
              2 USB rocket launcher (Gray)
              3 Office cube periscope (Black)
              4 USB food flash drive - sushi roll
              5 USB food flash drive - hamburger
              6 USB food flash drive - hot dog
              7 USB food flash drive - pizza slice
              8 USB food flash drive - dim sum 10 drive variety pack
              9 USB food flash drive - banana
             10 USB food flash drive - chocolate bar
    
  2. Actualice la descripción del primer elemento con la siguiente instrucción UPDATE:

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'UPDATE WideWorldImporters.Warehouse.StockItems SET StockItemName="USB missile launcher (Dark Green)" WHERE StockItemID=1; SELECT StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems WHERE StockItemID=1'
    

    Debería ver una salida similar al siguiente texto:

    (1 rows affected)
    StockItemID StockItemName
    ----------- ------------------------------------
              1 USB missile launcher (Dark Green)
    

Crear una nueva copia de seguridad

Después de haber restaurado la base de datos en un contenedor, puede que también quiera crear periódicamente copias de seguridad de base de datos dentro del contenedor en ejecución. Los pasos siguen un patrón similar a los pasos anteriores, pero en orden inverso.

  1. Use el comando de Transact-SQL BACKUP DATABASE para crear una copia de seguridad de base de datos en el contenedor. En este tutorial se crea un nuevo archivo de copia de seguridad wwi_2.bak en el directorio /var/opt/mssql/backup creado previamente.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q "BACKUP DATABASE [WideWorldImporters] TO DISK = N'/var/opt/mssql/backup/wwi_2.bak' WITH NOFORMAT, NOINIT, NAME = 'WideWorldImporters-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
    

    Debería ver una salida similar a esta:

    10 percent processed.
    20 percent processed.
    30 percent processed.
    40 percent processed.
    50 percent processed.
    60 percent processed.
    70 percent processed.
    Processed 1200 pages for database 'WideWorldImporters', file 'WWI_Primary' on file 1.
    Processed 53096 pages for database 'WideWorldImporters', file 'WWI_UserData' on file 1.
    80 percent processed.
    Processed 3865 pages for database 'WideWorldImporters', file 'WWI_InMemory_Data_1' on file 1.
    Processed 938 pages for database 'WideWorldImporters', file 'WWI_Log' on file 1.
    100 percent processed.
    BACKUP DATABASE successfully processed 59099 pages in 25.056 seconds (18.427 MB/sec).
    
  2. Luego, copie el archivo de copia de seguridad del contenedor en el equipo host.

    cd ~
    sudo docker cp sql1:/var/opt/mssql/backup/wwi_2.bak wwi_2.bak
    ls -l wwi*
    

Uso de los datos almacenados

Además de realizar copias de seguridad de las bases de datos para proteger los datos, puede usar contenedores de volúmenes de datos. Al principio de este tutorial se ha creado el contenedor sql1 con el parámetro -v sql1data:/var/opt/mssql. El contenedor de volúmenes de datos sql1data almacena los datos de /var/opt/mssql incluso después de quitar el contenedor. En los pasos siguientes se quita por completo el contenedor sql1 y, luego, se crea un nuevo contenedor, sql2, con los datos almacenados.

  1. Detención del contenedor sql1.

    sudo docker stop sql1
    
  2. Quite el contenedor. Esto no elimina el contenedor de volúmenes de datos sql1data creado previamente ni los datos almacenados en él.

    sudo docker rm sql1
    
  3. Cree un nuevo contenedor, sql2, y vuelva a usar el contenedor de volúmenes de datos sql1data.

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql2' -e 'MSSQL_PID=Developer' -p 1401:1433 \
       -v sql1data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
    
  4. La base de datos Wide World Importers está ahora en el nuevo contenedor. Ejecute una consulta para comprobar el cambio anterior que ha realizado.

    sudo docker exec -it sql2 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'SELECT StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems WHERE StockItemID=1'
    

    Nota:

    La contraseña de administrador del sistema no es la que ha especificado para el contenedor sql2, MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>. Todos los datos de SQL Server se han restaurado desde sql1, incluida la contraseña modificada anteriormente en el tutorial. En efecto, algunas opciones como esta se omiten debido a la restauración de los datos de /var/opt/mssql. Por esta razón, la contraseña es <YourNewStrong!Passw0rd>, como se muestra aquí.

  1. Detención del contenedor sql1.

    sudo docker stop sql1
    
  2. Quite el contenedor. Esto no elimina el contenedor de volúmenes de datos sql1data creado previamente ni los datos almacenados en él.

    sudo docker rm sql1
    
  3. Cree un nuevo contenedor, sql2, y vuelva a usar el contenedor de volúmenes de datos sql1data.

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql2' -e 'MSSQL_PID=Developer' -p 1401:1433 \
       -v sql1data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
    
  4. La base de datos Wide World Importers está ahora en el nuevo contenedor. Ejecute una consulta para comprobar el cambio anterior que ha realizado.

    sudo docker exec -it sql2 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'SELECT StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems WHERE StockItemID=1'
    

    Nota:

    La contraseña de administrador del sistema no es la que ha especificado para el contenedor sql2, MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>. Todos los datos de SQL Server se han restaurado desde sql1, incluida la contraseña modificada anteriormente en el tutorial. En efecto, algunas opciones como esta se omiten debido a la restauración de los datos de /var/opt/mssql. Por esta razón, la contraseña es <YourNewStrong!Passw0rd>, como se muestra aquí.

  1. Detención del contenedor sql1.

    sudo docker stop sql1
    
  2. Quite el contenedor. Esto no elimina el contenedor de volúmenes de datos sql1data creado previamente ni los datos almacenados en él.

    sudo docker rm sql1
    
  3. Cree un nuevo contenedor, sql2, y vuelva a usar el contenedor de volúmenes de datos sql1data.

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
       --name 'sql2' -e 'MSSQL_PID=Developer' -p 1401:1433 \
       -v sql1data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
    
  4. La base de datos Wide World Importers está ahora en el nuevo contenedor. Ejecute una consulta para comprobar el cambio anterior que ha realizado.

    sudo docker exec -it sql2 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourNewStrong!Passw0rd>' \
       -Q 'SELECT StockItemID, StockItemName FROM WideWorldImporters.Warehouse.StockItems WHERE StockItemID=1'
    

    Nota:

    La contraseña de administrador del sistema no es la que ha especificado para el contenedor sql2, MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>. Todos los datos de SQL Server se han restaurado desde sql1, incluida la contraseña modificada anteriormente en el tutorial. En efecto, algunas opciones como esta se omiten debido a la restauración de los datos de /var/opt/mssql. Por esta razón, la contraseña es <YourNewStrong!Passw0rd>, como se muestra aquí.

Paso siguiente

En este tutorial ha aprendido a realizar una copia de seguridad de una base de datos en Windows y a moverla a un servidor de Linux con la versión preliminar de SQL Server 2017 (14.x). Ha aprendido a:

En este tutorial ha aprendido a realizar una copia de seguridad de una base de datos en Windows y a moverla a un servidor de Linux con la versión preliminar de SQL Server 2019 (15.x). Ha aprendido a:

En este tutorial ha aprendido a realizar una copia de seguridad de una base de datos en Windows y a moverla a un servidor de Linux con la versión preliminar de SQL Server 2022 (16.x) en un contenedor. Ha aprendido a:

  • Crear imágenes de contenedor de Linux de SQL Server.
  • Copiar copias de seguridad de base de datos de SQL Server en un contenedor.
  • Ejecutar instrucciones de Transact-SQL con sqlcmd.
  • Crear y extraer archivos de copia de seguridad desde un contenedor.
  • Use los contenedores de volúmenes de datos para almacenar datos de producción de SQL Server.

Después, revise otros escenarios de configuración y solución de problemas del contenedor:

Contribuya a la documentación de SQL

¿Sabía que puede editar el contenido de SQL usted mismo? Si lo hace, no solo contribuirá a mejorar la documentación, sino que también se le reconocerá como colaborador de la página.

Para más información, vea Cómo colaborar en la documentación de SQL Server.