Solución:
Los tipos de copia de seguridad dependen del modelo de recuperación de SQL Server. Cada modelo de recuperación le permite realizar copias de seguridad de la base de datos SQL Server completa o parcial o de archivos individuales o grupos de archivos de la base de datos. No se puede crear una copia de seguridad a nivel de tabla, no existe tal opción. Pero hay una solución para esto
Es posible realizar una copia de seguridad de la tabla de SQL Server en SQL Server. Hay varias formas alternativas de hacer una copia de seguridad de una tabla en sql SQL Server
- BCP (PROGRAMA DE COPIA A GRANEL)
- Generar secuencia de comandos de tabla con datos
- Haga una copia de la tabla usando SELECT INTO
- GUARDAR datos de tabla directamente en un archivo plano
- Exportar datos usando SSIS a cualquier destino
Aquí estoy explicando solo el primer descanso que podrías estar conociendo.
Método 1: copia de seguridad de la tabla SQL mediante BCP (PROGRAMA DE COPIA A GRANEL)
Para hacer una copia de seguridad de una tabla SQL llamada “Person.Contact”, que reside en SQL Server AdventureWorks, necesitamos ejecutar el siguiente script, que
-- SQL Table Backup
-- Developed by DBATAG, www.DBATAG.com
DECLARE @table VARCHAR(128),
@file VARCHAR(255),
@cmd VARCHAR(512)
SET @table="AdventureWorks.Person.Contact" -- Table Name which you want to backup
SET @file="C:MSSQLBackup" + @table + '_' + CONVERT(CHAR(8), GETDATE(), 112) -- Replace C:MSSQLBackup to destination dir where you want to place table data backup
+ '.dat'
SET @cmd = 'bcp ' + @table + ' out ' + @file + ' -n -T '
EXEC master..xp_cmdshell @cmd
PRODUCCIÓN
Nota –
- Debe tener privilegios de importación / exportación masiva
- En la secuencia de comandos anterior -n denota tipos de datos SQL nativos, que es clave durante la restauración
- -T indica que se está conectando a SQL Server mediante la autenticación de Windows, en caso de que desee conectarse mediante la autenticación de SQL Server, utilice -U -P
- Esto también le dirá, acelera a la transferencia de datos, en mi caso esto fue 212468.08 filas por segundo.
- Una vez que se completen estos comandos, esto creará un archivo llamado “AdventureWorks.Person.Contact_20120222” es una carpeta de destino especificada
Alternativamente, puede ejecutar el BCP a través del símbolo del sistema y escribir el siguiente comando en el símbolo del sistema, ambas operaciones realizan la misma actividad, pero me gusta el método mencionado anteriormente, ya que es guardar tipo al abrir un símbolo del sistema y escribir.
bcp AdventureWorks.Person.Contact out C:MSSQLBackupAdventureWorks.Person.Contact_20120222.dat -n -T
Método 1:
Si solo le preocupan los datos en las tablas y que se usarán localmente dentro de la misma base de datos y servidor, puede usar la siguiente consulta para realizar una copia de seguridad de las tablas seleccionadas:
SELECT * INTO newtable1
FROM originalTable1
— Para la tabla 2
SELECT * INTO newtable2
FROM originalTable2
y así sucesivamente … para n número de tablas
Esta declaración CREARÁ las tablas llamadas tabla nueva1, tabla nueva1, .. por lo que no tiene que crearla previamente.
Nota * Este método realiza la copia de seguridad bastante rápido, pero la principal desventaja sería que no transfiere las claves, índices y restricciones de la tabla y la copia de seguridad se almacena dentro de la base de datos, no en algún lugar externo a un archivo.
Método 2:
Si desea realizar una copia de seguridad de la tabla en otro servidor para cualquier solución de recuperación de desastres o prevención de pérdida de datos, puede crear un script de la tabla utilizando la opción Generar scripts de Tareas.
-
Primero, haga clic con el botón derecho en la base de datos que contiene las tablas que desea respaldar y elija Tareas -> Generar scripts
-
Seleccione su base de datos de la lista cuyas tablas deben respaldarse
-
La siguiente pantalla que aparece es Opciones de secuencia de comandos.
-
Desplácese hacia abajo en las opciones de secuencia de comandos hasta que vea Opciones de tabla / vista. Queremos que se cumpla lo siguiente: Verifique las restricciones, los datos de la secuencia de comandos, las claves externas, las claves primarias, los activadores y las claves únicas. (O puede elegir lo que necesite, por supuesto). Seleccione Siguiente y se nos presenta la pantalla Seleccionar tipos de objetos
-
Seleccione Tablas y presione siguiente. Por último, elija la tabla o tablas de las que desea hacer una copia de seguridad y presione siguiente
Método 3:
También puede utilizar la utilidad bcp para realizar copias de seguridad de tablas.
No puede respaldar tablas específicas en un .bak
archivo, puede exportarlos a csv o escribirlos o usarlos bcp
para ponerlos en un archivo.
Lo que puede hacer si desea realizar una copia de seguridad de tablas específicas (y siempre son las mismas) es moverlas a una file group
y haga una copia de seguridad de ese grupo de archivos.
Consulte Copia de seguridad de archivos y grupos de archivos para obtener la documentación.
Por ejemplo, si desea hacer una copia de seguridad de archivos o grupos de archivos específicos usando T-SQL, puede usar (desde el enlace)
--Back up the files in SalesGroup1.
BACKUP DATABASE Sales
FILEGROUP = 'SalesGroup1',
FILEGROUP = 'SalesGroup2'
TO DISK = 'C:MySQLServerBackupsSalesSalesFiles.bck';
GO
y
--Backup the files in the SalesGroup1 secondary filegroup.
BACKUP DATABASE Sales
FILE = 'SGrp1Fi2',
FILE = 'SGrp2Fi2'
TO DISK = 'G:SQL Server BackupsSalesSalesGroup1.bck';
GO