EN ESTA TAREA

Resumen

Este artículo define la intercalación y describe cómo transferir una base de datos de una intercalación de Microsoft SQL Server a otra intercalación en SQL Server. Los mismos conceptos y discusiones acerca de SQL Server 2000 también se aplican a SQL Server 2005.

¿Qué es la intercalación?

Una intercalación especifica las combinaciones de bits que representan cada carácter. También especifica las reglas que se utilizan para ordenar y comparar los caracteres. Una intercalación tiene las siguientes características:

  • Idioma

  • Entre mayúsculas y minúsculas

  • Distinción de acentos

  • Sensibilidad de Kana

Para saber la intercalación que está utilizando actualmente un servidor, puede ejecutar el procedimiento de sistema sp_helpsort en Analizador de consultas SQL.

SQL Server 7.0 no es compatible con bases de datos con varias intercalaciones. Por lo tanto, todas las bases de datos creadas en SQL Server 7.0 utilizan la intercalación predeterminada. SQL Server 2000 admite varias intercalaciones. Las bases de datos de SQL Server 2000 pueden tener intercalaciones que no sea la intercalación predeterminada. Además, SQL Server 2000 también admite las columnas que tienen intercalaciones que no sean las intercalaciones de las bases de datos donde se crearon.

Cuándo se debe utilizar la opción Usar intercalación en DTS

SQL Server 2000 puede tener varias bases de datos o columnas que tengan intercalaciones que no sea la intercalación predeterminada. Debido a esto, una nueva opción denominada Intercalación de uso se introduce en los servicios de transformación de datos (DTS). El comportamiento de la opción Usar intercalación viene determinado por el tipo de transferencia que se va a realizar. Si transfiere datos entre dos instancias de SQL Server 2000 y se habilita la opción de Intercalación de uso , los datos se convierten desde la página de código de origen a la página de código de destino. Si no habilita la opción de intercalación de uso y las páginas de códigos son los mismos en ambas instancias de SQL Server 2000, se produce una transferencia de datos directo. Si las páginas de códigos son diferentes, los datos de la página de código de origen se convierten a la página de código de destino. Sin embargo, la conversión no sea correcta al transferir los datos.

Nota: La intercalación es importante si la intercalación que se utiliza para los datos y una columna utiliza la cláusula COLLATE. La opción Usar intercalación determina si la traducción de una página de código se produce cuando los datos se transfieren de una intercalación a otra intercalación. La
Opción de Intercalación de uso no afecta a si se ha establecido la propiedad COLLATE de una definición de columna. Por lo tanto, si una tabla de origen contiene una columna creada con una intercalación específica mediante la cláusula COLLATE, esa intercalación persiste cuando se transfieren datos, independientemente de si el
Intercalar el uso está habilitada en el Asistente para servicios de transformación de datos.

Métodos de transferencia que no cambian la intercalación de una base de datos

Los siguientes métodos no cambiar la intercalación de una base de datos:

  • Backup y restore: restaurar una base de datos en un servidor que tiene una intercalación diferente que el servidor que se utiliza para la copia de seguridad no convierte la base de datos a la nueva intercalación. La intercalación de base de datos permanece tal cual.

  • Separar y volver a adjuntar: Si desasocia una base de datos con una intercalación que se creó y volver a adjuntar la base de datos a otro servidor que tiene una intercalación diferente, no cambia la intercalación de la base de datos. La intercalación de la base de datos permanece tal cual.

  • Asistente para copiar bases: El Asistente para copiar bases esencialmente automatiza el proceso de desconexión y reconexión. La intercalación de la base de datos permanece tal cual.

    Nota: El Asistente está disponible en SQL Server 2000. Sin embargo, el Asistente para la base de datos de copia no está disponible en SQL Server 7.0.


Transferir una base de datos de una intercalación de SQL Server 7.0 a una intercalación diferente en SQL Server 7.0

Para cambiar la intercalación de una base de datos entre dos equipos que ejecutan SQL Server 7.0, debe crear la base de datos de usuario y todos los objetos en el servidor de destino y, a continuación, transferir los datos mediante DTS o la herramienta bcp.

Para transferir una base de datos desde un equipo que está ejecutando SQL Server 7.0 en un equipo que está ejecutando SQL Server 7.0 y que tiene una intercalación diferente, siga estos pasos:

  1. Realizar una copia de la base de datos de origen.

  2. Utilice el Administrador corporativo de SQL Server para crear secuencias de comandos para todos los objetos en la base de datos de origen.

  3. Para exportar los datos de todas las tablas de la base de datos, utilice DTS o la herramienta bcp.

  4. Crear una nueva base de datos en el servidor de destino mediante el Administrador corporativo de SQL Server o la instrucción CREATE DATABASE.

    Nota: Cuando se utiliza la instrucción CREATE DATABASE, la base de datos tendrá la misma intercalación que el equipo que está ejecutando SQL Server 7.0.

  5. Utilice analizador de consultas SQL para ejecutar las secuencias de comandos que creó en el paso 2 para volver a crear todos los objetos de la base de datos de destino.

    Nota: Las tablas y columnas tendrá la misma intercalación que el equipo que está ejecutando SQL Server 7.0.

  6. Importar los datos en las tablas de destino con DTS o la herramienta bcp.

Transferir una base de datos de una intercalación de SQL Server 7.0 a una intercalación de SQL Server 2000

Para cambiar la intercalación de una base de datos entre SQL Server 7.0 y SQL Server 2000, debe crear la base de datos, las columnas o ambos con la intercalación apropiada en el servidor de destino antes de transferir los datos. Sin embargo, puede utilizar DTS para quitar y volver a crear los objetos cuando transfiere datos desde SQL Server 7.0 a SQL Server 2000. Al hacerlo, debe habilitar la opción de Intercalación de uso en DTS.

Nota: No use la utilidad DTS que se incluye en SQL Server 7.0 para transferir todos los objetos a o desde un equipo que ejecuta SQL Server 2000. Debe utilizar la utilidad DTS que se incluye en SQL Server 2000 cuando haya que transferir datos entre SQL Server 7.0 y SQL Server 2000.

Para transferir una base de datos de una intercalación de SQL Server 7.0 a una intercalación de SQL Server 2000, siga estos pasos:

  1. Realizar una copia de la base de datos de origen.

  2. Utilice el Administrador corporativo de SQL Server para crear secuencias de comandos para todos los objetos en la base de datos de origen.

  3. Si las columnas deben tener una intercalación diferente que la intercalación predeterminada de la base de datos de destino, realice los cambios necesarios de intercalación a las columnas adecuadas en las secuencias de comandos.

  4. Crear una nueva base de datos en el servidor de destino con la intercalación apropiada.

  5. Utilice analizador de consultas SQL para ejecutar las secuencias de comandos que creó en el paso 2 en el servidor de destino para volver a crear todos los objetos de la base de datos.


    Nota: Las nuevas tablas y columnas tienen la misma intercalación que la base de datos a menos que especifique una intercalación diferente para las columnas.

  6. Utilice DTS o la herramienta bcp para transferir los datos.

    Nota: Si utiliza DTS, compruebe lo siguiente:

    • Asegúrese de que está habilitada la opción Usar intercalación al transferir datos desde SQL Server 7.0 a SQL Server 2000.

    • Porque ya se crean los objetos en el servidor de destino con la intercalación apropiada, deshabilite la opción Crear destino objetos primero .

Transferir una base de datos de una intercalación de SQL Server 2000 a una intercalación diferente en SQL Server 2000

Para transferir una base de datos de una intercalación de SQL Server 2000 a una intercalación diferente en SQL Server 2000, siga estos pasos:

  1. Realizar una copia de la base de datos de origen.

  2. Nota Si las columnas utilizar la cláusula COLLATE.

  3. Crear una nueva base de datos en el servidor de destino con la intercalación apropiada.

  4. Si no hay columnas utilizar la cláusula COLLATE, utilice DTS para transferir los datos al servidor de destino. Para ello, habilite la opción Usar intercalación para la traducción de página de código y para transferir los datos a la nueva intercalación en la base de datos de destino. Si las columnas utiliza la cláusula COLLATE, siga estos pasos:

    1. Generar secuencias de comandos para todos los objetos (sin incluir los índices, los desencadenadores, las claves principales, las claves externas, la configuración predeterminada y las restricciones). Además, asegúrese de que habilita el
      Opción sólo características compatibles con secuencias de comandos 7.0 para quitar la cláusula COLLATE de la secuencia de comandos.

      Nota: Cuando se utiliza la opción sólo características compatibles con secuencias de comandos 7.0 , puede cambiar la intercalación. Sin embargo, las nuevas opciones de SQL Server 2000 (incluyendo funciones definidas por el usuario, propiedades extendidas, en el lugar de un desencadenador y los índices en las vistas) no se considerarán cuando se generan las secuencias de comandos.

    2. Ejecutar las secuencias de comandos del paso una en la base de datos de destino para crear los objetos con la intercalación de base de datos de destino.

    3. Utilice DTS para transferir sólo los datos de la base de datos de origen.

    4. Después de que los datos se transfieren correctamente, generar secuencias de comandos para todas las restricciones, claves externas, claves principales e índices de la base de datos de origen.

      Nota: En la ficha formato del cuadro de diálogo Generar secuencias de comandos de SQL , haga clic para desactivar las casillas de verificación siguientes:

      • Generar el comando CREATE < objeto > para cada objeto

      • Generar el comando DROP < objeto > para cada objeto

    5. Ejecutar las secuencias de comandos del paso d en la base de datos de destino.

Cambiar la intercalación de la base de datos master

Si desea cambiar la intercalación de la base de datos master , debe volver a generar la base de datos master . Al reconstruir la base de datos master , esencialmente crea una nueva base de datos master . Por lo tanto, tenga en cuenta los siguientes elementos antes de reconstruir la base de datos master :

  • Asegúrese de hacer una copia de seguridad válida de la base de datos actual . Cuando vuelva a generar la base de datos master , la base de datos msdb y la base de datos model se también vuelven a crear. Por lo tanto, debe hacer una copia de la base de datos msdb y la base de datos antes de reconstruir la base de datos master . La base de datos msdb es la base de datos de sistema que se utiliza para almacenar los trabajos de SQL Server, alertas, operadores y paquetes DTS. La base de datos model es la base de datos de la plantilla que se utiliza cuando se crea una nueva base de datos.

  • Porque la reconstrucción de la base de datos master , crea una nueva base de datos master , debe volver a escribir la información de inicio de sesión existente después de reconstruir la base de datos master . Por lo tanto, debe exportar la información de inicio de sesión antes de reconstruir la base de datos master . Después de volver a crear la base de datos master , importar la información de inicio de sesión. Para obtener más información acerca de cómo exportar la información de inicio de sesión, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

    246133 cómo transferir inicios de sesión y contraseñas entre instancias de SQL Server

  • Debido a que se vuelva a generar la base de datos msdb cuando vuelva a generar la base de datos master , debe generar secuencias de comandos para todos los trabajos, alertas y operadores antes de reconstruir la base de datos master . Además, debe asegurarse de que mueva todos los paquetes DTS.
    Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:

    314546 cómo mover bases de datos entre equipos que ejecutan SQL Server

  • Porque la base de datos model se reconstruye cuando vuelva a generar la base de datos master , los cambios realizados previamente en la base de datos del modelo deben ser anotó, mediante secuencias de comandos o exportados antes de volver a generar la base de datos master . Después de que se vuelva a generar la base de datos model , vuelva a aplicar todos los cambios indicados.

Cambiar la intercalación de la base de datos master en SQL Server 2000

Antes de cambiar la intercalación de la base de datos master , siga estos pasos:

  1. Cuando vuelva a generar la base de datos master, no recupera automáticamente todas las bases de datos que se crearon antes de que se vuelva a generar la base de datos. Por lo tanto, todas las bases de datos deben restaurarse desde una copia de seguridad o si los archivos están todavía en el disco, puede volver a adjuntar las bases de datos usando el procedimiento almacenado del sistema sp_attach_db . Asegúrese de que tiene toda la información necesaria para volver a asociar las bases de datos existentes antes de reconstruir la base de datos master . Para obtener más información acerca del procedimiento almacenado del sistema sp_attach_db , visite el siguiente sitio Web de MSDN:

    http://msdn2.microsoft.com/en-us/library/aa259611(SQL.80).aspx

  2. Cuando vuelva a generar la base de datos master , se cambia sólo la intercalación de la base de datos msdb , la base de datos del modelo y la base de datos master . No se cambia la intercalación de las bases de datos de usuario. Para cambiar la intercalación de una base de datos de usuario existente o crear una nueva base de datos con la intercalación apropiada, utilice el comando ALTER DATABASE y, a continuación, utilice DTS o la herramienta bcp para transferir los datos a la nueva base de datos.

    Nota: Si utiliza el comando ALTER DATABASE para cambiar la intercalación de una base de datos en SQL Server 2000, no se cambia automáticamente la intercalación de las columnas de las tablas. Para cambiar la intercalación de las columnas, utilice el comando ALTER TABLE y el comando ALTER COLUMN. Si está utilizando DTS, puede crear la tabla y las columnas con la intercalación apropiada antes de transferir los datos o puede utilizar la opción Usar intercalación . Si está utilizando DTS y la tabla con la intercalación apropiada ya existe, asegúrese de deshabilitar la opción Drop existente objetos primero antes de ejecutar el paquete.

Cambiar la intercalación de la base de datos master en SQL Server 7.0

Antes de cambiar la intercalación de la base de datos master , siga estos pasos:

  1. No es compatible con SQL Server 7.0 con bases de datos con intercalación que no sea la intercalación predeterminada. Por lo tanto, antes de reconstruir la base de datos master , exportar todos los datos de las bases de datos de usuario.

  2. Generar las secuencias de comandos para todos los objetos en la base de datos.

  3. Volver a crear la base de datos master con la intercalación apropiada.

  4. Crear las bases de datos. Las bases de datos nuevas se crean automáticamente con la nueva intercalación predeterminada.

  5. Ejecutar las secuencias de comandos guardados anteriormente para volver a crear los objetos y, a continuación, importar los datos exportados previamente.

Referencias

Para obtener más información acerca de intercalaciones, visite los siguientes sitios Web de Microsoft:

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cómo de satisfecho está con la calidad de la traducción?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×