Exportación e Importación de bases de datos MSSQL a través de un recurso compartido de Red

  • Mike Sherman
  • 8 de octubre de 2020, 9: 00am EDT

Al trabajar con bases de datos MSSQL, es posible que necesite exportar bases de datos a través de un recurso compartido de red directamente desde la interfaz de SQL Server Management Studio (SMSS). Si bien los SMS no contienen esta función de forma nativa, ¡vamos a mostrarle un trabajo alrededor!

En primer lugar, Cubramos la Exportación e importación de bases de datos MSSQL

Como una necesidad básica para utilizar esta guía, queremos asegurarnos de que sepa cómo exportar e importar sus bases de datos como .archivos bak. Así es como se realiza la copia de seguridad de una base de datos MSSQL y cómo se mueve una base de datos entre dos servidores. Este proceso se conoce internamente dentro de SSMS (SQL Server Management Studio) como Copia de seguridad o Restauración de una base de datos, dependiendo de la dirección en la que vaya.

Exportar una base de datos MSSQL mediante copia de seguridad

Para comenzar a exportar su base de datos, abra SSMS, inicie sesión en su servidor y navegue hasta su base de datos.

Puede hacer una copia de seguridad de la base de datos haciendo clic con el botón derecho en las bases de datos deseadas y navegando a Tareas > Copia de seguridad.

 Ejecute una copia de seguridad de la base de datos haciendo clic con el botón derecho en las bases de datos deseadas y navegando a Copia de seguridad de tareas.

Advertisement

Esto abre el menú de Copia de seguridad de la base de datos, donde puede seleccionar su base de datos para realizar la copia de seguridad, el tipo de copia de seguridad, el destino del archivo y muchas otras opciones. Por el bien de este artículo, no necesitamos modificar ninguna configuración adicional o avanzada en este momento, así que solo tenga en cuenta el menú y su diseño.

 Aquí, puede seleccionar opciones para seleccionar opciones de copia de seguridad.

Al crear una copia de seguridad de MSSQL, su base de datos se exportará como a .archivo bak. En la sección destino del menú anterior, puede agregar o quitar ubicaciones para hacer una copia de seguridad de su base de datos. Puede agregar una o varias ubicaciones para la ubicación de destino de su .archivo bak.

Haga clic en Aceptar y se realizará una copia de seguridad de su base de datos en la ubicación seleccionada.

Importar una base de datos MSSQL Restaurando

Para restaurar una base de datos, vamos a seguir un proceso similar pero a la inversa. En lugar de exportar la base de datos .archivo bak, importaremos la base de datos desde el .archivo de atrás.

Para importar su base de datos, haga clic con el botón secundario en su servidor en lugar de la base de datos y seleccione Restaurar base de datos.

Importe su base de datos haciendo clic con el botón derecho en su servidor y seleccionando Restaurar base de datos.

Esto le lleva a un menú similar al menú de copia de seguridad, donde puede seleccionar el archivo desde el que está importando, en la configuración del dispositivo, y su destino de ubicación, así como cualquier otra opción avanzada que pueda necesitar.

 Seleccione el archivo desde el que desea importar, en la configuración del dispositivo, junto con su destino de ubicación y cualquier otra opción avanzada necesaria.

Advertisement

Seleccionar el icono en el menú de dispositivo Fuente > le permite seleccionar el .archivo bak que desea importar. Haga clic en Agregar y podrá navegar hasta el .archivo bak que desea restaurar. Haga clic en Aceptar y su base de datos se importará al servidor SQL actual.

En este punto, si está intentando importar o exportar a un recurso compartido de red o unidad asignada, puede encontrar algunas dificultades.

¿Por qué no puedo Exportar Directamente a una Unidad Asignada?

La razón por la que existe esta guía es porque Microsoft no incluye de forma nativa una función para exportar una base de datos directamente a un recurso compartido de red o unidad asignada. Cuando exporta su base de datos para copias de seguridad o para importarla a otro servidor, no puede seleccionar ninguna unidad en red en el menú ni introducir manualmente una ubicación remota.

 Selección de la ubicación de red donde se debe almacenar la copia de seguridad.

Si intenta navegar hasta la unidad seleccionando el icono en el menú Seleccionar destino de copia de seguridad, su unidad Z: conectada en red no aparecerá en la lista y solo se mostrarán las unidades locales.

 Unidades locales para seleccionar en el menú Seleccionar Destino de copia de seguridad.

Muchos intentan ingresar manualmente la ruta de acceso a su unidad de red. Si ingresa directamente la ruta de acceso a la unidad compartida de red, como por ejemplo Z:\mybackup.bak, puede hacer clic en Aceptar en el menú Seleccionar Destino de copia de seguridad.

 Puede introducir directamente la ruta de acceso a la unidad compartida de red en el menú Seleccionar Destino de copia de seguridad.

Advertisement

Pero cuando hace clic en Aceptar en la exportación final, aparece un mensaje de error similar a este:

Si una copia de seguridad no puede encontrar la ruta correcta para almacenarla, se mostrará un mensaje de error en la exportación final.

Como puede ver, esto puede ser un problema si necesita hacer copias de seguridad de bases de datos en una ubicación remota por falta de espacio o por razones de seguridad. Normalmente, tendría que exportar la base de datos localmente, copiarla al servidor remoto y, a continuación, importarla al servidor SQL de destino.

¿Cómo Podemos Evitar Esta Funcionalidad Que Falta?

Para hacer esto, se debe ejecutar una serie de scripts para agregar la unidad en red al menú seleccionable de MSSQL. Lo primero que debe hacer es eliminar su recurso compartido de red actual, ya que lo está recreando durante el proceso dentro de la línea de comandos SQL. Para hacer eso, simplemente haga clic con el botón derecho en la unidad en el explorador de archivos y seleccione “Desconectar” o abrir símbolo del sistema, e ingrese:

net use Z: /delete

Su recurso compartido de red es la letra de unidad de Z .

Ahora que ha eliminado el recurso compartido existente, abra SSMS y cree una Nueva consulta con los siguientes comandos:

EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'xp_cmdshell',1 GO RECONFIGURE GO

Haga clic en Ejecutar y verá la siguiente ventana:

 Ejecutar una eliminación del recurso compartido de red actual.

Lo que hace este script es configurar el shell de comandos para SQL para que pueda ejecutar sus propios scripts directamente desde el shell de comandos compatible con SQL.

Advertisement

Una vez que haya ejecutado el comando anterior, cree una nueva consulta y ejecute el siguiente comando:

EXEC XP_CMDSHELL 'net use Z: \192.168.1.1\C$ /user:Administrator '

Reemplace 192.168.1.1 por la dirección IP de su servidor de destino remoto y actualice para que sea la contraseña del usuario administrativo. Tenga en cuenta que para crear estos recursos compartidos, es casi seguro que necesita derechos de administrador.

Ahora puede verificar que su unidad en red está configurada correctamente en SQL ejecutando la siguiente consulta:

EXEC XP_CMDSHELL 'Dir V:'

Ha habilitado la consola de comandos, ha creado un recurso compartido de red dentro de SQL y ha verificado su existencia. Ahora puede exportar e importar copias de seguridad directamente desde esta ubicación. Puede verlo yendo a la copia de seguridad de su base de datos > Tareas >, donde puede ver que la unidad Z: está disponible al agregar una ubicación de destino a la que realizar la copia de seguridad.

Felicitaciones! Ahora ha configurado un recurso compartido de red dentro de SQL que persiste incluso si cierra y vuelve a abrir SSMS. Puede realizar copias de seguridad o restauraciones directamente en esta ubicación ahora, y ya no tendrá que preocuparse por realizar copias de seguridad de bases de datos localmente, solo para tener que moverlas a un servidor remoto inmediatamente después.

Mike Sherman
Mike Sherman trabajó como administrador principal de servidores empresariales para un centro de datos internacional, así como consultor técnico para un MSP nacional. Tiene años de experiencia en alojamiento, seguridad y resolución práctica de problemas.Lea la Biografía completa ”

Leave a Reply