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 2014 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

  • 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 usa una página de códigos que no es compatible con Windows, el motor de base de datos muestra un error.

Recomendaciones

  • Puede encontrar 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 bien puede usar 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 requiere el permiso CREATE ANY DATABASE o ALTER ANY DATABASE.

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

Uso de 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 derecho en Bases de datos y haga clic en Nueva base de datos. Si no quiere 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 derecho en la base de datos que quiera 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.

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.

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.

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  
  

Consulte también

Compatibilidad con la intercalación y Unicode
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 de SQL Server)
ALTER TABLE (Transact-SQL)
ALTER DATABASE (Transact-SQL)