Pregunta

¿Existe una forma automática en SQL Server 2005 de crear una base de datos a partir de varias tablas en otra base de datos?Necesito trabajar en un proyecto y sólo necesito unas pocas tablas para ejecutarlo localmente, y no quiero hacer una copia de seguridad de una base de datos de 50 gigas.

ACTUALIZAR

Probé Tareas -> Exportar datos en Management Studio y, aunque creó una nueva subbase de datos con las tablas que quería, no copió ningún metadato de la tabla, es decir... sin restricciones PK/FK ni datos de identidad (incluso con Preservar identidad marcado).

Obviamente los necesito para que funcione, así que estoy abierto a otras sugerencias.Probaré esa herramienta de publicación de bases de datos.

No tengo servicios de integración disponibles y los dos servidores SQL no pueden conectarse directamente entre sí, por lo que están descartados.

Actualización de la Actualización

La herramienta de publicación de bases de datos funcionó, el SQL que generó tenía algunos errores, por lo que se necesitó un poco de edición manual (intenté hacer referencia a activadores inexistentes), pero una vez que lo hice, estaba listo.

¿Fue útil?

Solución

Puedes usar el Asistente de publicación de bases de datos para esto.Le permitirá seleccionar un conjunto de tablas con o sin datos y exportarlos a un archivo de script .sql que luego puede ejecutar en su otra base de datos para recrear las tablas y/o los datos.

Otros consejos

Primero cree su nueva base de datos.Luego haga clic derecho sobre él y vaya al submenú Tareas en el menú contextual.Debería tener algún tipo de funcionalidad de importación/exportación allí.¡No recuerdo exactamente porque no estoy en el trabajo ahora mismo!:)

Desde allí, podrá elegir sus fuentes de datos de origen y destino y qué tablas desea transferir.Cuando seleccione sus tablas, haga clic en el botón avanzado (u opciones) y seleccione la casilla de verificación llamada "preservar claves primarias".De lo contrario, se crearán nuevos valores de clave principal.

Sé que este método difícilmente puede considerarse automático, pero ¿por qué no utiliza algunas declaraciones SELECT INTO simples?

Porque primero tendría que reconstruir el esquema, las restricciones y los índices.Esa es la parte que quiero automatizar... Obtener los datos es la parte fácil.

Gracias a todos por sus sugerencias, parece que esto es fácil.

Los servicios de integración pueden ayudar a realizar esta tarea.Esta herramienta proporciona capacidades avanzadas de transformación de datos para que pueda obtener el subconjunto exacto de datos que necesita de una gran base de datos.

Suponiendo que dichos datos sean necesarios para realizar pruebas/depuración, puede considerar aplicar el muestreo de filas para reducir la cantidad de datos exportados.

  1. Crear nueva base de datos
  2. Haga clic derecho sobre él,
  3. Tareas -> Importar datos
  4. Seguir instrucciones
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top