Comprensión y solución de problemas de Asistente para copiar bases de datos en SQL Server 2000

Seleccione idioma Seleccione idioma
Id. de artículo: 274463 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

El Asistente para copiar bases de datos es una utilidad nueva en SQL Server 2000 que permite mover o copiar una base de datos de SQL Server 7.0 o de SQL Server 2000 a SQL Server 2000. El proceso de copiar o mover es relativamente sencillo y puede parecer que afecta el proceso apenas a nada. En este artículo proporciona información sobre cómo funciona el Asistente para copiar bases de datos y se describen algunos aspectos que tener en cuenta cuando utiliza el asistente.

Más información

Cómo funciona el Asistente para copiar bases de datos

Para abrir al Asistente para copiar bases de datos:
  • En el Administrador corporativo de SQL Server, haga clic en Administración y haga clic en ejecutar a un asistente .

    -o bien -

  • Haga clic con el botón secundario en la carpeta de bases de datos , haga clic en Todas las tareas y a continuación, haga clic en Asistente para... de copiar bases de datos .

    -o bien -

  • En un símbolo del sistema, escriba cdw.exe y presione ENTRAR .
El Asistente separa las bases de datos que se copia o mueve, copia los archivos asociados con la base de datos para el servidor de destino y, a continuación, adjunta la base de datos. Se realiza la separar y adjuntar las bases de datos a través de los siguientes procedimientos almacenados:
  • sp_detach_db

    - y -

  • sp_attach_db
Para obtener más información acerca de estos procedimientos almacenados, consulte los temas "sp_attach_db" y "sp_detach_db" en los libros en pantalla de SQL Server.

La copia real del archivo se produce a través de XP_CMDSHELL, que ejecuta la línea de comandos COPY. Este es el motivo es importante que la cuenta que se ejecuta al Asistente para copiar bases de datos es un miembro de sysadmin. Para obtener más información, consulte a "Utilizar la copia asistente base de datos para" en los libros en pantalla de SQL Server.

El asistente realiza los pasos siguientes:
  1. Crea un punto de recurso compartido UNC en el equipo de origen donde se copiarán los archivos.
  2. Comprueba las conexiones activas en la base de datos de origen.
  3. Coloca la base de datos en el modo de usuario único.
  4. Desasocia la base de datos de origen.
  5. Comprueba si los archivos existen en el destino y, a continuación, copia los archivos de base de datos al recurso compartido elija creado anteriormente.
  6. Adjunta la base de datos nuevo en el servidor de origen.
  7. Adjunta la base de datos en el servidor de destino.
  8. Quita el recurso compartido UNC.
  9. Coloca la base de datos nuevo en su modo original (usuario único, multiusuario etc.).
Existen cuatro características adicionales que permiten mover objetos que están asociados con la base de datos que se ha movido o copiado.
  • Inicios de sesión (recomendados).
    • Todos los detectados en tiempo de ejecución del paquete.
    • Sólo los inicios de sesión utilizados por las bases de datos seleccionados.
  • Procedimientos almacenados compartidos desde la base de datos master (opcional).
    • Todos los procedimientos almacenados detectados en tiempo de ejecución de paquete.
    • Procedimientos almacenados seleccionados por el usuario.
  • Trabajos desde msdb (opcional).
    • Todos los trabajos detectados en tiempo de ejecución de paquete.
    • Trabajos seleccionados por el usuario.
  • Mensajes de error definido por el usuario (opcional).
    • Todos los mensajes de error detectados en tiempo de ejecución de paquete.
    • Mensajes de error seleccionados por el usuario.

Asistente crea un paquete de servicios (DTS) de transformación de datos

El Asistente para copiar bases de datos se crea un paquete DTS que se ejecuta en el servidor de destino y se puede ejecutar bien inmediatamente o puede programarse para ejecutar posteriormente. Como alternativa, puede crear manualmente una copia de la base de datos DTS paquete mediante la herramienta de diseñador DTS y haciendo clic en Tarea de la base de datos de transferencia . Para obtener más información, vea el tema Transferencia tareas de objetos de base de datos en libros en pantalla de SQL Server 2000.

El paquete se guarda si está programado para ejecutarse de forma periódica o una vez. Por lo tanto, el Agente SQL Server en el servidor de destino tiene que iniciarse. El paquete de base de datos transferencia debe tratarse como cualquier otro paquete incluidos los requisitos y permisos asociados con la programación y ejecutando el paquete. Para obtener más información acerca de cómo solucionar problemas de paquetes DTS programados, vea el artículo siguiente en Microsoft Knowledge Base:
269074INF: Cómo ejecutar un paquete DTS como un trabajo programado
Puede utilizar al asistente base de datos para copiar con Microsoft SQL Server 7.0 donde el último puede ser sólo un servidor de base de datos de origen. El asistente no puede utilizar con las versiones de Microsoft SQL Server 6.x o anterior.

Copiar base de datos Asistente para registro - registro del paquete DTS

Un registro de los eventos CDW se almacena en MSDBsysdtspackagelog tabla del sistema y también es visible por medio de SQL Enterprise Manager (SEM). Para ver el registro, siga estos pasos:
  1. En el servidor de destino donde está almacenado el paquete, abra SEM y expanda la carpeta de servicios de transformación de datos.
  2. En Paquetes locales , busque el paquete para el que desea ver el registro. De forma predeterminada, los paquetes se denominan CDW_SourceServer_DestinationServer_autonumber.
  3. Haga clic con el botón secundario en el paquete y seleccione la opción de Registros de paquetes .
  4. En las versiones de paquete DTS y árbol de registro , haga clic en el signo más (+) situado a expandir y ver la lista de registros.
Este cuadro de diálogo permite ver los registros para este paquete o para seleccionar otro paquete desde el cuadro de lista desplegable. También permite eliminar los registros que no es necesario haciendo clic en el botón Eliminar .

Como alternativa, puede configurar el paquete DTS para generar un archivo de salida para troublshooting propósito.
  1. Haga clic con el botón secundario en el paquete, seleccione el Paquete de diseño .
  2. En el menú paquete , seleccione Propiedades .
  3. En la ficha registro , especifique el archivo de errores.

    Este archivo se dispone de información detallada sobre executation del paquete.

Permisos para copiar los archivos

El cuenta de inicio de SQL Server de destino debe ser una cuenta de dominio y debe tener privilegios de administrador local en el origen de SQL Server equipo servidor para que pueden copiar los archivos desde el origen al destino.

Si el destino de SQL Server se inicia bajo una cuenta de sistema local puede recibir el siguiente mensaje de error:
El servicio SQL Server se ejecuta bajo la cuenta del sistema local. Tiene que cambiar la cuenta de SQL Server derechos para copiar archivos a través de la red.
Si el destino de SQL Server se inicia bajo una cuenta de dominio que no tiene privilegios de administrador local en el equipo de origen, a continuación, el siguiente mensaje de error puede generar por el Asistente:
Origen del error de paso: Paquete de servicios de transformación de datos de Microsoft (DTS)
Descripción de error de paso: sin especificar el error

Paso el código de error: 80004005
Paso Error ayuda File:sqldts80.hlp
Paso ID:1100 de contexto de Ayuda de errores
Al hacer clic en el "más información >>>" botón, encontrará que los permisos crear el recurso compartido remoto no están presentes.
No se pudo crear el recurso compartido OMWWIZD

Ser preparado que separa la base de datos

Como se mencionó anteriormente, el Asistente para copiar bases de datos desasocia la base de datos de origen antes de copiar en el servidor de destino. No ejecute al Asistente para copiar bases de datos si la base de datos es sospechosa o si existen otros problemas con la base de datos puede evitar que separar o reattaching. Problemas como errores (por ejemplo, el error 823), los errores de integridad de datos (por ejemplo, tabla dañada) o los problemas de hardware conocidos (por ejemplo, errores del puerto SCSI o errores de controlador en el registro de sucesos del sistema), nombre de un pocos, de E/s pueden ser un obstáculo para una reconexión correcta de la base de datos.

Asegúrese de que la base de datos de origen no está marcado 'sólo lectura', 'sin conexión', 'sospecha', 'emergencia' o 'cargar' o la separación se producirá un error. La separación produciría un error porque el procedimiento de separar debe actualizar las estadísticas de la base de datos; si la base de datos está en ninguna forma que no está accesible para las escrituras, la actualización de estadísticas falla. Si la separación falla debido a la base de datos en cualquier estado unwritable, se generará el mensaje de error siguientes:
No se pudo separar la base de datos <databasename>
El botón Ver Error muestra lo siguiente:
Origen del error de paso: paquete de servicios (DTS) de transformación de datos de Microsoft
Descripción de error de paso: sin especificar el error

Paso el código de error: 80004005
Paso Error ayuda File:sqldts80.hlp
Paso ID:1100 de contexto de Ayuda de errores
Además, separar la base de datos requiere que esté en modo de usuario único o dispone de los usuarios no conectados a él. Si varios usuarios utilizan la base de datos, el asistente puede fallar con el error siguiente:
Origen del error de paso: paquete de servicios (DTS) de transformación de datos de Microsoft
Descripción de error de paso: sin especificar el error

Paso el código de error: 80004005
Paso Error ayuda File:sqldts80.hlp
Paso ID:1100 de contexto de Ayuda de errores
Si hace clic en el botón Más información , puede ver la siguiente raíz causa del problema:
Base de datos [dbname] tiene conexiones activas de [N]. No se transferirá la base de datos.

Permisos para separar una base de datos

Algunos permisos son necesarios para separar una base de datos. Los libros en pantalla de SQL Server 2000, se identifica los permisos adecuados para utilizar al Asistente:
"Para utilizar al Asistente para la base de datos de copia, debe ser un administrador del sistema o un miembro de la función sysadmin. Si está ejecutando Microsoft Windows NT ® 4.0 o Microsoft Windows ® 2000, su cuenta de usuario debe tener privilegios de administrador en el servidor de destino."

Asegúrese de que existe el directorio de destino

Cuando se utiliza el Asistente de base de datos de copia (CDW) en la pantalla Ubicación del archivo base de datos , haga clic en el botón Modificar y confirme que el directorio de destino es correcto. Si el directorio no existe, el CDW puede fallar con el error siguiente:
Transformación de datos de Microsoft de origen del error de paso: Paquete de servicios (DTS)
Descripción del error de paso: sin especificar el error

Paso el código de error: 80004005
Paso error ayuda File:sqldts80.hlp
Paso ID:1100 de contexto de Ayuda de errores
Si hace clic en el "más información >>>" botón, encontrará que el directorio no está presente.
Archivo \\SOURCE_SERVER\OMWWIZx\Program Files\Microsoft Server\MSSQL\Data\Filename_Data.mdf SQL no puede copiarse porque el directorio de destino no existe.

Quita de la opción de mover la base de datos

Tenga en cuenta que si decide mover una base de datos, en lugar de copiarlo, la base de datos se quitará el origen de SQL server. Más concretamente, la base de datos se desconecta del servidor de origen pero no volver a adjuntar. Sin embargo, los archivos originales de base de datos (.mdf, .ndf, .ldf) permanecerán en el servidor de origen y si no necesita los debido a consideraciones de espacio, deberá eliminarlos manualmente. El siguiente mensaje de advertencia aparece en el cuadro de diálogo Completando el Asistente para copiar bases de datos :
Base de datos 'pubs' se copiarán pero estarán disponibles sólo en el servidor de destino. El administrador debe eliminar los archivos de datos y de registro de base de datos 'Pubs' en el servidor de origen.
Sin embargo, si selecciona la opción de MOVE en lugar de la opción COPY erróneamente, puede volver segura dichos archivos el servidor para recuperar la base de datos.

Mover conexiones

Una nueva característica del Asistente para copiar bases de datos alivia el problema de mover manualmente los inicios de sesión. El asistente identifica los inicios de sesión correspondiente a los usuarios de la base de datos y proporciona con la opción para mover o copiarlos como parte de mover o copiar la base de datos. Los inicios de sesión de autenticación SQL Server Standard y Microsoft Windows NT y Microsoft Windows 2000 inicios de sesión de autenticación pasan por el asistente.

Las versiones anteriores de SQL Server necesario de intervención manual para mover se copian o mueven inicios de sesión asociados con los usuarios de base de datos de la base de datos. Para obtener más información acerca de la transferencia de inicios de sesión con las versiones anteriores de SQL Server, consulte el siguiente artículo en Microsoft Knowledge Base:
168001PRB: Inicio de sesión de usuario o errores de permisos después de restaurar volcado
246133Cómo: Transferir inicios de sesión y contraseñas entre instancias de SQL Server
Tenga en cuenta que usuarios que se conceden acceso de inicio de sesión a SQL Server y grupos locales de Windows NT/2000 no pueden transferirse entre equipos diferentes. Si intenta hacerlo, la transferencia del inicio de sesión producirá un error. Si hace clic en el "más información >>>" botón, puede ver la siguiente raíz causa del problema:
"Error de transferencia SourceMachine\LocalGroup1 de inicio de sesión"
-o bien -
"SourceMachine\LocalUser1 de inicio de sesión de transferencia de error"

Archivos o base de datos existe o no hay espacio en disco insuficiente

Al transferir una base de datos, el asistente detecta si la base de datos existe en el servidor de destino o no. El cuadro de diálogo Seleccionar la base de datos para mover o copiar indica que se pueden transferir bases de datos con un estado correcto o que las bases de datos no se pueden transferir bien porque la base de datos Ya existe o es una Base de datos del sistema como la base de datos principal .

También se puede detener una transferencia de base de datos si los mismos archivos de base de datos existen en el servidor de destino. Por lo tanto, puede tener una base de datos base de datos con nombre MyPubs con nombres de archivo equivalentes a las de las pubs en el destino. Verá los archivos de destinos marcados con una X roja.
"Los archivos del origen tienen el mismo nombre como en el destino o no hay suficiente espacio libre en disco en el destino."
Para evitar este mensaje de error, o modificar nombres de archivo para crearse en el servidor de destino o cambiar la ubicación física en el que los creará.

Consiste obstáculos con que una transferencia puede también ser tropieza por falta de espacio en disco en el servidor de destino. Cambiar unidades o elimine algunos archivos para permitir espacio suficiente.

Deja de búsqueda de texto completo. Archivos de catálogo de texto completo no transferidos

Si la base de datos contiene los catálogos de texto completo hay dos efectos de utilizar el Asistente para copiar bases de datos para transferirlo. En primer lugar, buscar los catálogos de texto (FT) está detenido por el Asistente para que la base de datos se puede colocar en modo de usuario único. En segundo lugar, los archivos del catálogo FT no se mueven por el asistente. Si intenta ejecutar una consulta de búsqueda de texto completo en el servidor de origen o destino SQL después de ejecutar el Asistente para copiar bases de datos, puede recibir el siguiente mensaje de error:
Servidor: Msg 7616, nivel 16, estado 1, línea 1
Búsqueda de texto no está habilitada para la base de datos actual. Utilice sp_fulltext_database para habilitar búsqueda de texto completo de la base de datos.
Para obtener más información, vea el artículo siguiente en Microsoft Knowledge Base:
303224REVISIÓN: Deshabilita el uso del Asistente para copiar bases copiar una base de datos para indización de texto en la base de datos origen
Para realizar búsquedas de texto completo en el origen y destino de SQL Server servidores siga estos pasos:
  1. Ejecute el procedimiento almacenado siguiente para habilitar indización de las bases de datos origen y destino de texto completo:
    sp_fulltext_database 'enable'
    					
  2. Realizar un llenado total en todos los catálogos.
Ésta es la sección correspondiente desde los libros en pantalla de SQL Server:
"Si desea copiar una base de datos con catálogos de texto completo, catálogos de texto completo de la base de datos no están en el servidor de origen una vez completada la operación de copia disponibles. Manualmente debe volver a llenar catálogos de texto completo en el servidor de destino.

Si desea mover una base de datos con catálogos de texto, ninguno de los archivos de catálogo de texto completo asociado se mueven cuando se mueve la base de datos. Estos archivos deben moverse manualmente por el Administrador de base de datos."
Para obtener más información acerca de cómo mover los catálogos de texto, consulte el siguiente artículo en Microsoft Knowledge Base:
240867INF: Cómo mover, copiar y archivos y carpetas del catálogo de servicios de texto

Referencias

Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
327270SQL Server 2000 no se admite en Windows Server 2003 Terminal Server Application Server

Propiedades

Id. de artículo: 274463 - Última revisión: miércoles, 21 de diciembre de 2005 - Versión: 6.3
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Standard Edition
Palabras clave: 
kbmt kbinfo KB274463 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 274463

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com