¿Cómo copiar una base de datos usando sql?
Seis métodos de movimiento de datos en SQL\x0d\1 Importar o exportar a través del diseñador de la herramienta DTS\x0d\ El diseñador de DTS es potente, admite multitarea y es una interfaz visual. Es fácil de operar, pero no mucha gente lo sabe. Si solo mueve algunas tablas en la base de datos de SQL Server, este método es el mejor. Por supuesto, también puede mover todas las tablas. En SQL Server Enterprise Manager, expanda el + en el lado izquierdo del servidor, seleccione la base de datos, haga clic derecho, seleccione Todas las tareas/Importar datos... (o Todas las tareas/Exportar datos...), ingrese al modo asistente, y siga las instrucciones paso a paso. Es muy detallado y puede copiar datos de manera flexible entre diferentes fuentes de datos, lo cual es muy conveniente. Y se puede guardar como un paquete DTS. Si tiene la misma tarea de copia en el futuro, simplemente ejecute el paquete DTS directamente, ahorrando tiempo y esfuerzo. También puede abrir el diseñador DTS directamente expandiendo Servicios de transformación de datos bajo el nombre del servidor, seleccionando Paquetes locales, haciendo clic derecho en la ventana derecha y seleccionando Nuevo paquete para abrir el diseñador DTS. Vale la pena señalar: si la tabla que se va a copiar de la base de datos de origen tiene claves externas, preste atención al orden de movimiento. A veces es necesario moverla en lotes; de lo contrario, se pueden perder las claves externas, las claves primarias y los índices. Las indicaciones junto a las opciones al moverse son muy claras, o una vez Copie a la base de datos de destino de forma permanente y luego restablezca las claves externas, las claves primarias y los índices. \x0d\ De hecho, al crear una base de datos, los archivos utilizados para crear claves externas, claves primarias e índices deben separarse de los archivos de tabla, y los archivos de datos utilizados también deben separarse y colocarse en diferentes unidades, lo cual es propicio a la optimización de la base de datos. \x0d\2. Utilice la herramienta Bcp \x0d\ Aunque no se recomienda el uso de esta herramienta en SQL Server 7, a muchos administradores de bases de datos todavía les gusta usarla, especialmente aquellos que han usado versiones anteriores de SQL Server. Bcp tiene limitaciones, en primer lugar, su interfaz no es gráfica. En segundo lugar, solo copia entre tablas (vistas) de SQL Server y archivos de texto. Sin embargo, sus ventajas son un buen rendimiento, poca sobrecarga, poco uso de memoria y alta velocidad. Los amigos interesados pueden consultar el manual de referencia. \x0d\3. Utilice copia de seguridad y recuperación\x0d\ Primero realice una copia de seguridad completa de la base de datos de origen, haga una copia de seguridad en un dispositivo, luego copie el archivo de copia de seguridad en el servidor de destino (la recuperación es rápida) y realice operaciones de recuperación de la base de datos, complete en el nombre de la base de datos de origen en el nombre de la base de datos restaurada (los nombres deben ser los mismos), seleccione recuperación forzada (la opción de la base de datos anterior se puede sobrescribir), seleccione restaurar desde el dispositivo y seleccione el archivo respaldado cuando hojeada. Este método puede restaurar completamente la base de datos, incluidas claves externas, claves primarias e índices. \x0d\4. Copie directamente los archivos de datos\x0d\ Copie los archivos de datos de la base de datos (*.mdf) y los archivos de registro (*.ldf) al servidor de destino y use la declaración en SQL Server Query Analyzer para restaurar: \x0d. \ EXEC sp_attach_db @dbname = 'prueba ', \x0d\@filename1 = 'd:\mssql7\data\test_data.mdf ', \x0d\@filename2 = 'd:\mssql7\data\test_log.ldf ' \x0d\ tal Simplemente adjunte la base de datos de prueba a SQL Server y úsela como de costumbre.
Si no desea utilizar el archivo de registro original, puede utilizar el siguiente comando: \x0d\EXEC sp_detach_db @dbname = 'test ' \x0d\EXEC sp_attach_single_file_db @dbname = 'test ', \x0d\@physname = 'd :\mssql7\data \test_data.mdf ' \x0d\La función de esta declaración es solo cargar el archivo de datos. La base de datos de SQL Server puede agregar automáticamente el archivo de registro, pero los datos registrados en el archivo de registro original serán. perdido. \x0d\5. Personalice \x0d\ en el programa de aplicación. Puede ejecutar el programa que escribió en el programa de aplicación (PB, VB) o en Query Analyzer. De hecho, utiliza una plataforma para conectarse. a La base de datos principal utilizada en la plataforma son las declaraciones SQL. Este método tiene poco impacto en la base de datos. Sin embargo, si se utiliza un servidor de enlace remoto, se requiere un buen rendimiento de transmisión entre redes. Generalmente hay dos declaraciones: \x0d\1>. seleccione... en nuevo_nombre_tabla donde... \x0d\2> inserte (en) antiguo_nombre_tabla seleccione... desde... donde... \x0d\La diferencia es que el primero inserta datos en una nueva tabla (crea la primero la tabla, luego insertar datos), la última es insertar datos en una tabla existente. Personalmente, me gusta la última, porque en términos de estructura de programación y alcance de la aplicación, la segunda declaración es más sólida que la primera. \x0d\6. Función de replicación de SQL Server\x0d\ SQL Server proporciona una poderosa función de replicación de datos, que también es la más difícil de dominar. Consulte la información relevante para aplicaciones específicas. Vale la pena señalar que para replicar datos con éxito. , algunas condiciones son esenciales: \x0d\1> Se debe iniciar el Agente SQL Server y se debe iniciar MSDTC. \x0d\2> Todas las tablas que se van a replicar deben tener claves primarias. \x0d\3> Si hay un tipo de datos de texto o imagen en la tabla, se debe usar la opción with log y no se puede usar la opción with no_log. \x0d\Además, la opción de tamaño máximo de respuesta de texto controla el tamaño máximo de datos de texto e imagen que se pueden copiar. Las operaciones que excedan este límite fallarán. \x0d\4> En la computadora a copiar, debe haber al menos un recurso compartido implícito, es decir, el nombre del recurso compartido es C$ o D$?. \x0d\5> La cuenta de Windows NT utilizada para el Agente SQL Server no puede ser una cuenta del sistema local porque las cuentas del sistema local no permiten el acceso a la red. \x0d\6> Si los servidores que participan en la replicación están en dominios informáticos separados, se debe establecer una relación de confianza entre estos dominios.