¿Cómo utilizar SQL para copiar la base de datos y copiar la base de datos?
1. Importar o exportar a través de la herramienta de diseño DTS
El diseñador de DTS es potente, admite tareas múltiples y es una interfaz visual que es Es fácil de operar, pero la mayoría de la gente no sabe mucho. 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 + a la izquierda del servidor, seleccione la base de datos, haga clic derecho y seleccione Todas las tareas/Importar datos... (o Todas las tareas/Importar datos...). (o todas las tareas/exportar datos...). En el modo asistente, simplemente 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, puede ejecutar el paquete DTS directamente, ahorrando tiempo y esfuerzo. También puede abrir DTS Designer directamente expandiendo el Servicio de transformación de datos bajo el nombre del servidor, seleccionando el paquete local, haciendo clic derecho en la ventana derecha, seleccionando Nuevo paquete y se abrirá DTS Designer. Vale la pena señalar: si la tabla de la base de datos de origen que se va a copiar tiene claves externas, preste atención al orden de movimiento. A veces es necesario moverlas en lotes; de lo contrario, las claves externas, las claves primarias y los índices se pueden perder. junto a la opción de mover deja claro que todavía es una vez Copiar a la base de datos de destino de forma permanente y luego restablecer las claves externas, las claves primarias y los índices.
De hecho, al crear una base de datos, los archivos de claves externas, claves primarias e índices deben separarse de los archivos para crear tablas, y los archivos de datos utilizados también deben separarse y colocarse en unidades diferentes. , lo cual es beneficioso para la optimización de la base de datos.
2. Utilice la herramienta Bcp
Aunque esta herramienta no se recomienda para SQL Server 7, sigue siendo popular entre muchos administradores de bases de datos, especialmente aquellos que han utilizado versiones anteriores de SQL Server. Administrador de base de datos. Bcp tiene sus limitaciones, en primer lugar, su interfaz no es gráfica. En segundo lugar, sólo puede copiar entre tablas (vistas) de SQL Server y archivos de texto. Sin embargo, tiene buen rendimiento, baja sobrecarga, poco uso de memoria y velocidad rápida y otras ventajas. Si está interesado, puede consultar el manual de referencia.
3. Utilice copia de seguridad y recuperación
Primero, haga una copia de seguridad completa de la base de datos de origen en el dispositivo (dispositivo), luego copie el archivo de copia de seguridad en el servidor de destino (velocidad de recuperación rápida). y realice la recuperación de la base de datos Para la operación de recuperación, complete el nombre de la base de datos de origen en el nombre de la base de datos que se va a restaurar (los nombres deben ser los mismos), seleccione el tipo de recuperación forzada (puede sobrescribir la anterior (opción sobrescribir). base de datos anterior)), seleccione la recuperación desde el dispositivo y seleccione el archivo de copia de seguridad al navegar. Este método puede restaurar completamente la base de datos, incluidas las claves externas, las claves primarias y los índices.
4. Copie los archivos de datos directamente
Copie los archivos de datos de la base de datos (*.mdf) y los archivos de registro (*.ldf) al servidor de destino y luego utilícelos en SQL. Declaración del Analizador de consultas del servidor para restaurar:
EXEC sp_attach_db @dbname = 'test ',
@filename1 = 'd:\mssql7\data\test_data.mdf ',
@filename2 = 'd:\mssql7\data\test_log.ldf '
Esto adjunta la base de datos de prueba a SQL Server. Se puede utilizar como de costumbre.
Si no desea utilizar el archivo de registro original, puede utilizar el siguiente comando:
EXEC sp_detach_db @dbname = 'test '
EXEC sp_attach_single_file_db @dbname = 'test ',
@physname = 'd:\mssql7\data\test_data.mdf '
El propósito de esta declaración es cargar solo el archivo de datos que el archivo de registro puede agregar automáticamente; la base de datos de SQL Server, pero los datos registrados en el archivo de registro original se perderán.
5. Personalizar en la aplicación
Puedes ejecutar tu propio programa en la aplicación (PB, VB) o en el analizador de consultas. De hecho, este método es más flexible. Al usar la plataforma para conectarse a la base de datos, se utilizan principalmente las declaraciones SQL en la plataforma. Este método tiene poco impacto en la base de datos. Sin embargo, si se utiliza un servidor de conexión remota, se requiere un buen rendimiento de transmisión entre redes. dos declaraciones:
1> seleccione... en nuevo_nombre_tabla donde...
2> inserte (en) antiguo_nombre_tabla seleccione... desde... donde... p>
La diferencia es que el primero es insertar datos en una nueva tabla (crear la tabla primero y luego insertar los datos), mientras que el segundo es insertar datos en una tabla existente, personalmente me gusta el último porque. Desde la perspectiva de la estructura de programación y el alcance de la aplicación, la segunda afirmación es más fuerte que la primera.
6.Replicación de SQL Server
SQL Server proporciona una potente función de replicación de datos, pero también es la más difícil de dominar. Consulte la información relevante para aplicaciones específicas. tenga en cuenta que para tener éxito en la replicación de datos, algunas condiciones son esenciales:
1> Se debe iniciar el Agente SQL Server y se debe iniciar MSDTC.
2>Todas las tablas a replicar deben tener claves primarias.
3>Si la tabla tiene tipos de datos de texto o imagen, debes usar la opción with log en lugar de la opción with no_log.
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.
4> En la máquina que se va a replicar, al menos ****hedged debe estar implícito, es decir, el nombre de ****hedge es C$ o D$.....
5>La cuenta de Windows NT utilizada para el Agente SQL Server no puede ser la cuenta del Sistema Local porque la cuenta del Sistema Local no permite el acceso a la red.
6>Si los servidores que participan en la replicación están ubicados en otro dominio informático, se debe establecer una relación de confianza entre estos dominios.