Compartir a través de


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 usa la intercalación del servidor.

En este tema

Antes de empezar

Limitaciones y restricciones

  • Las intercalaciones solo Unicode de Windows solo se pueden usar con la cláusula COLLATE para aplicar intercalaciones a los tipos de datos nchar, nvarchar y ntext a nivel de columna y a los datos a nivel de expresión. No se pueden usar con la cláusula COLLATE para cambiar la intercalación de una base de datos o instancia de 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 puede usar la función del sistema sys.fn_helpcollations (Transact-SQL).

  • Al cambiar la intercalación de la base de datos, se cambian los siguientes elementos:

    • 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 existentes char, varchar, text, nchar, nvarchar, ntext y los valores escalares devueltos por los procedimientos almacenados y las funciones definidas por el usuario se cambian a la nueva ordenació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.

  • Es posible cambiar la intercalación de cualquier objeto nuevo que se cree en una base de datos de usuario mediante la cláusula COLLATE de la instrucción ALTER DATABASE. Esta instrucción no cambia la intercalación de las columnas en ninguna tabla definida por el usuario existente. Se pueden cambiar mediante la cláusula COLLATE de ALTER TABLE.

Seguridad

Permisos

CREAR BASE DE DATOS
Requiere el permiso CREATE DATABASE en la base de datos maestra o requiere el permiso CREATE ANY DATABASE o ALTER ANY DATABASE.

ALTERAR BASE DE DATOS
Requiere el permiso ALTER en la base de datos.

Uso de SQL Server Management Studio

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

  1. En el Explorador de objetos, conéctese a una instancia del motor de base de datos de SQL Server, expanda esa instancia y, a continuación, expanda Bases de datos.

  2. Si va a crear una nueva base de datos, haga clic con el botón derecho en Bases de datos y, a continuación, haga clic en Nueva base de datos. Si no desea 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 desee y haga clic en Propiedades. Haga clic en la pestaña Opciones y seleccione una intercalación de la lista desplegable Intercalación.

  3. Cuando haya terminado, haga clic en Aceptar.

Uso de Transact-SQL

Para establecer la intercalación de la base de datos

  1. Conéctese al 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 se crea la base de datos MyOptionsTest que usa la Latin1_General_100_CS_AS_SC intercalación. Después de crear la base de datos, ejecute la SELECT instrucción 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 la base de datos

  1. Conéctese al 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 intercalación. Ejecute la SELECT instrucción 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  
  

Véase 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)
Precedencia de intercalación (Transact-SQL)
CREATE TABLE (Transact-SQL)
CREATE DATABASE (Transact-SQL de SQL Server)
MODIFICAR TABLA (Transact-SQL)
ALTERAR BASE DE DATOS (Transact-SQL)