Configuración o cambio de la intercalación del servidor

Se aplica a: síSQL Server (todas las versiones admitidas) SíInstancia administrada de Azure SQL

La intercalación de servidor actúa como intercalación predeterminada para todas las bases de datos del sistema que se han instalado con la instancia de SQL Server, así como las bases de datos de usuario recién creadas.

Debe considerar cuidadosamente la intercalación de nivel de servidor, ya que puede afectar a lo siguiente:

  • Las reglas de ordenación y comparación en =, JOIN, ORDER BY y otros operadores que comparan datos textuales.
  • La intercalación de las columnas CHAR, VARCHAR, NCHAR y NVARCHAR en vistas del sistema, funciones del sistema y los objetos en TempDB (por ejemplo, las tablas temporales).
  • Los nombres de variables, cursores y etiquetas GOTO. Las variables @pi y @PI se consideran diferentes si la intercalación de nivel de servidor distingue entre mayúsculas y minúsculas, y se consideran iguales si la intercalación de nivel de servidor no distingue entre mayúsculas y minúsculas.

Intercalación del servidor en SQL Server

La intercalación de servidor se especifica durante la instalación de SQL Server . La intercalación de nivel de servidor predeterminada se basa en la configuración regional del sistema operativo.

Por ejemplo, la intercalación predeterminada para sistemas que usan inglés de Estados Unidos (en-US) es SQL_Latin1_General_CP1_CI_AS. Para obtener más información, incluida la lista de la configuración regional del sistema operativo en las asignaciones de intercalación predeterminadas, vea la sección "Intercalaciones de nivel de servidor" de Intercalación y compatibilidad con Unicode.

Nota

La intercalación de nivel de servidor para SQL Server Express LocalDB es SQL_Latin1_General_CP1_CI_AS y no se puede cambiar ni durante la instalación ni después de esta.

Cambio de la intercalación del servidor en SQL Server

El cambio de la intercalación predeterminada de una instancia de SQL Server puede ser una operación compleja.

Nota

En lugar de cambiar la intercalación predeterminada de una instancia de SQL Server, puede especificar una intercalación predeterminada para cada nueva base de datos que cree a través de la cláusula COLLATE de las instrucciones CREATE DATABASE y ALTER DATABASE. Para más información, vea Set or Change the Database Collation.

El cambio de la intercalación de la instancia implica los pasos siguientes:

  • Asegurarse de que se dispone de toda la información o scripts necesarios para volver a crear las bases de datos de usuario y todos los objetos contenidos en ellas.

  • Exportar todos los datos mediante una herramienta como bcp Utility. Para obtener más información, vea Importar y exportar datos en bloque (SQL Server).

  • Quitar todas las bases de datos de usuario.

  • Para recompilar la base de datos master, especifique la nueva intercalación en la propiedad SQLCOLLATION del comando setup. Por ejemplo:

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
    /SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]
    /SQLCOLLATION=CollationName  
    

    Para obtener más información, vea Volver a generar bases de datos del sistema.

  • Crear todas las bases de datos y todos los objetos contenidos en ellas.

  • Importar todos los datos.

Configuración de la intercalación del servidor en Instancia administrada

La intercalación de nivel de servidor en Instancia administrada de Azure SQL se puede especificar al crear la instancia y no se puede cambiar posteriormente. Puede establecer la intercalación de nivel de servidor a través de Azure Portal o PowerShell y la plantilla de Resource Manager mientras crea la instancia. La intercalación de nivel de servidor predeterminada es SQL_Latin1_General_CP1_CI_AS.

Si va a migrar bases de datos de SQL Server a Instancia administrada, compruebe la intercalación del servidor en la instancia de SQL Server de origen mediante la función SERVERPROPERTY(N'Collation') y cree una Instancia administrada que coincida con la intercalación de SQL Server. Es posible que la migración de una base de datos de SQL Server a Instancia administrada con intercalaciones de nivel de servidor que no coinciden produzca varios errores inesperados en las consultas. No se puede cambiar la intercalación de nivel de servidor en la Instancia administrada existente.

Pasos siguientes