¿Cómo realizar una copia de seguridad (volcado) a nivel de tabla en MS SQL Server 2005/2008?
Respuestas:
No puede usar el BACKUP DATABASE
comando para respaldar una sola tabla, a menos que, por supuesto, la tabla en cuestión esté asignada a la suya FILEGROUP
.
Lo que puede hacer, como ha sugerido, es exportar los datos de la tabla a un archivo CSV. Ahora, con el fin de obtener la definición de su tabla, puede realizar un script en el CREATE TABLE
script.
Puede hacer esto dentro de SQL Server Management Studio, por:
haciendo clic derecho en Base de datos> Tareas> Generar script
A continuación, puede seleccionar la tabla que desea convertir en script y también elegir incluir cualquier objeto asociado, como restricciones e índices.
para poder llevarse DATA
bien con solo el schema
, debe elegir Advanced
en la pestaña de opciones de scripting establecer, y en la GENERAL
sección establecer la Types of data to script
selecciónSchema and Data
Espero que esto ayude, pero no dude en ponerse en contacto conmigo directamente si necesita más ayuda.
Advanced
en la pestaña de opciones de scripting de conjunto, y en la sección GENERAL establecer la Types of data to script
selección Schema and Data
. Eso no fue obvio la primera vez que lo hice.
Estoy usando la utilidad de copia masiva para lograr copias de seguridad a nivel de tabla
exportar:
bcp.exe "select * from [MyDatabase].dbo.Customer " queryout "Customer.bcp" -N -S localhost -T -E
importar:
bcp.exe [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
como puede ver, puede exportar en función de cualquier consulta, por lo que incluso puede hacer copias de seguridad incrementales con esto. Además, es programable a diferencia de los otros métodos mencionados aquí que usan SSMS.
Estos son los pasos que necesita. Step5 es importante si desea los datos. El paso 2 es donde puede seleccionar tablas individuales.
EDITAR la versión de la pila no es del todo legible ... aquí hay una imagen de tamaño completo http://i.imgur.com/y6ZCL.jpg
Puede ejecutar la siguiente consulta para realizar una copia de seguridad de la tabla existente que crearía una nueva tabla con la estructura existente de la tabla anterior junto con los datos.
select * into newtablename from oldtablename
Para copiar solo la estructura de la tabla, use la siguiente consulta.
select * into newtablename from oldtablename where 1 = 2
Esto es similar a la solución de qntmfred , pero usando un volcado de tabla directo. Esta opción es un poco más rápida (consulte los documentos de BCP ):
exportar:
bcp "[MyDatabase].dbo.Customer " out "Customer.bcp" -N -S localhost -T -E
importar:
bcp [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
Si está buscando algo como MySQL DUMP
, entonces buenas noticias: SQL Server 2008 Management Studio agregó esa capacidad.
En SSMS, simplemente haga clic derecho en la base de datos en cuestión y seleccione Tareas> Generar scripts . Luego, en la segunda página del asistente de opciones, asegúrese de seleccionar que también le gustaría que se escribieran los datos , y generará lo que equivale a un DUMP
archivo para usted.
Cree un nuevo grupo de archivos, coloque esta tabla en él y haga una copia de seguridad solo de este grupo de archivos.
Puede utilizar el Asistente de publicación de bases de datos gratuito de Microsoft para generar archivos de texto con scripts SQL (CREAR TABLA e INSERTAR EN).
Puede crear un archivo de este tipo para una sola tabla y puede "restaurar" la tabla completa, incluidos los datos, simplemente ejecutando el script SQL.
No sé si coincidirá con el problema descrito aquí. ¡Tuve que hacer una copia de seguridad incremental de una mesa! (Solo se deben copiar los datos nuevos insertados). Solía diseñar un paquete DTS donde.
Busco nuevos registros (sobre la base de una columna de 'estado') y transfiero los datos al destino. (A través de 'Transformar tarea de datos')
Luego, acabo de actualizar la columna 'estado'. (A través de 'Ejecutar tarea SQL')
Tuve que arreglar el 'flujo de trabajo' correctamente.
Cada modelo de recuperación le permite realizar una copia de seguridad de una base de datos SQL Server completa o parcial o de archivos individuales o grupos de archivos de la base de datos. No se pueden crear copias de seguridad a nivel de tabla .
De: Descripción general de la copia de seguridad (SQL Server)
Probablemente tenga dos opciones, ya que SQL Server no admite copias de seguridad de tablas. Ambos comenzarían con un script para la creación de la tabla. Luego, puede usar la opción Tabla de secuencias de comandos - INSERT, que generará muchas declaraciones de inserción, o puede usar los servicios de integración (DTS con 2000) o similar para exportar los datos como CSV o similar.
BMC Recovery Manager (anteriormente conocido como SQLBacktrack) permite la recuperación puntual de objetos individuales en una base de datos (también conocidas como tablas). No es barato pero hace un trabajo fantástico: http://www.bmc.com/products/proddocview/0,2832,19052_19429_70025639_147752,00.html
http://www.bmc.com/products/proddocview/0,2832,19052_19429_67883151_147636,00.html
Si está buscando poder restaurar una tabla después de que alguien haya eliminado filas por error, tal vez pueda echar un vistazo a las instantáneas de la base de datos. Puede restaurar la tabla con bastante facilidad (o un subconjunto de las filas) desde la instantánea. Ver http://msdn.microsoft.com/en-us/library/ms175158.aspx
Una aplicación gratuita llamada SqlTableZip hará el trabajo. Básicamente, escribes cualquier consulta (que, por supuesto, también puede ser [seleccionar * de la tabla]) y la aplicación crea un archivo comprimido con todos los datos, que se puede restaurar más tarde.
Handy Backup realiza automáticamente archivos de volcado de MS SQL Server, incluido MSSQL 2005/2008. Estos volcados son archivos binarios de nivel de tabla que contienen copias exactas del contenido de la base de datos en particular.
Para realizar un volcado simple con Handy Backup, siga las siguientes instrucciones:
Ahora ejecute su nueva tarea haciendo clic en un icono antes de su nombre o espere la hora programada. Handy Backup creará automáticamente un volcado para su base de datos. Luego abra su destino de copia de seguridad. Encontrará una carpeta (o un par de carpetas) con sus copias de seguridad de MS SQL. Cualquier carpeta de este tipo contendrá un archivo de volcado a nivel de tabla, que consta de algunas tablas binarias y configuraciones comprimidas en un solo ZIP.
Handy Backup puede guardar volcados para MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, Lotus Notes y cualquier base de datos SQL genérica que tenga un controlador ODBC. Algunas de estas bases de datos requieren pasos adicionales para establecer conexiones entre el DBMS y Handy Backup.
Las herramientas descritas anteriormente a menudo descargan bases de datos SQL como una secuencia de comandos SQL a nivel de tabla, lo que hace que estos archivos estén listos para cualquier modificación manual que necesite.