Establecer o cambiar la intercalación de base de datos

En este tema se describe cómo establecer y cambiar la intercalación de base de datos en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL. Si no se especifica ninguna intercalación, se utiliza la del servidor.

En este tema

  • Antes de empezar:

    Limitaciones y restricciones

    Recomendaciones

    Seguridad

  • Para establecer o cambiar la intercalación de base de datos, utilizando:

    SQL Server Management Studio

    Transact-SQL

Antes de empezar

Limitaciones y restricciones

  • Las intercalaciones exclusivas de Unicode de Windows se pueden utilizar únicamente con la cláusula COLLATE para aplicar intercalaciones a los tipos de datos nchar, nvarchar y ntext de nivel de columna y de nivel de datos de expresión. No se pueden utilizar con la cláusula COLLATE para cambiar la intercalación de una instancia de la base de datos o del servidor.

  • Si la intercalación especificada o la intercalación usada por el objeto al que se hace referencia utiliza una página de códigos no admitida por Windows, el Motor de base de datos muestra un error.

Recomendaciones

  • Puede buscar los nombres de intercalación admitidos en Nombre de intercalación de Windows (Transact-SQL) y Nombre de intercalación de SQL Server (Transact-SQL), o puede utilizar la función del sistema sys.fn_helpcollations (Transact-SQL).

  • Al modificar la intercalación de la base de datos también se cambian los siguientes elementos:

    • Todas las columnas char, varchar, text, nchar, nvarchar o ntext de las tablas del sistema se cambian a la nueva intercalación.

    • Todos los parámetros char, varchar, text, nchar, nvarchar o ntext y valores devueltos escalares existentes para los procedimientos almacenados y las funciones definidas por el usuario se cambian a la nueva intercalación.

    • Los tipos de datos del sistema char, varchar, text, nchar, nvarchar o ntext y todos los tipos de datos definidos por el usuario basados en estos tipos de datos del sistema se cambian a la nueva intercalación predeterminada.

  • Para cambiar la intercalación de cualquier objeto nuevo creado en una base de datos de usuario, utilice la cláusula COLLATE de la instrucción ALTER DATABASE. Esta instrucción no modifica la intercalación de las columnas de ninguna de las tablas definidas por el usuario existentes. Para modificarlas, utilice la cláusula COLLATE de ALTER TABLE.

Seguridad

Permisos

  • CREATE DATABASE
    Requiere el permiso CREATE DATABASE en la base de datos maestra, o los permisos CREATE ANY DATABASE o ALTER ANY DATABASE.

  • ALTER DATABASE
    Requiere el permiso ALTER en la base de datos.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar SQL Server Management Studio

Para establecer o cambiar la intercalación de base de datos

  1. En el Explorador de objetos, conéctese a una instancia de Motor de base de datos de SQL Server, expándala y, a continuación, expanda Bases de datos.

  2. Si está creando una base de datos, haga clic con el botón secundario en Bases de datos y haga clic en Nueva base de datos. Si no desea que la intercalación predeterminada, haga clic en la página Opciones y seleccione una intercalación en la lista desplegable Intercalación.

    Como alternativa, si la base de datos ya existe, haga clic con el botón secundario en la base de datos que desee y haga clic en Propiedades. Haga clic en la página Opciones y seleccione una intercalación en la lista desplegable Intercalación.

  3. Cuando haya terminado, haga clic en Aceptar.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar Transact-SQL

Para establecer la intercalación de base de datos

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se muestra cómo usar la cláusula COLLATE para especificar un nombre de intercalación. En el ejemplo de crea la base de datos MyOptionsTest que utiliza la intercalación Latin1_General_100_CS_AS_SC. Después de crear la base de datos, ejecute la instrucción SELECT para comprobar la configuración.

```Transact-SQL
USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE Latin1_General_100_CS_AS_SC;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO
```

Para cambiar la intercalación de base de datos

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se muestra cómo usar la cláusula COLLATE en una instrucción ALTER DATABASE para cambiar el nombre de la intercalación. Ejecute la instrucción SELECT para comprobar el cambio.

```Transact-SQL
USE master;
GO
ALTER DATABASE MyOptionsTest
COLLATE French_CI_AS ;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO
```

Icono de flecha usado con el vínculo Volver al principio[Top]

Vea también

Referencia

sys.fn_helpcollations (Transact-SQL)

sys.databases (Transact-SQL)

Nombre de intercalación de SQL Server (Transact-SQL)

Nombre de intercalación de Windows (Transact-SQL)

COLLATE (Transact-SQL)

Prioridad de intercalación (Transact-SQL)

CREATE TABLE (Transact-SQL)

CREATE DATABASE (Transact-SQL)

ALTER TABLE (Transact-SQL)

ALTER DATABASE (Transact-SQL)

Conceptos

Compatibilidad con la intercalación y Unicode