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:
Para establecer o cambiar la intercalación de base de datos, utilizando:
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
yntext
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
ontext
de las tablas del sistema se cambian a la nueva intercalación.Todos los parámetros
char
,varchar
,text
,nchar
,nvarchar
ontext
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
ontext
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
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.
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 .
Cuando haya terminado, haga clic en Aceptar.
Usar Transact-SQL
Para establecer la intercalación de base de datos
Conéctese con el Motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
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ónLatin1_General_100_CS_AS_SC
. Después de crear la base de datos, ejecute la instrucciónSELECT
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
Conéctese con el Motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
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)