sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo cambiar la intercalación de una base de datos de SQL Server usando T-SQL

Este es un artículo rápido para demostrar cómo usar Transact-SQL para cambiar la intercalación de una base de datos en SQL Server.

Aquí está el código básico:

USE master;  
GO
 
ALTER DATABASE Solutions  
COLLATE French_CI_AS ;  
GO 

Esto primero cambia a la base de datos maestra, luego usamos ALTER DATABASE para cambiar la intercalación de la base de datos de Soluciones a la intercalación French_CI_AS.

Comprobar la colación

Aquí le mostramos cómo verificar la intercalación de su base de datos:

SELECT DATABASEPROPERTYEX('Solutions','collation'); 

Esto devuelve una fila con una sola columna que le indica cuál es la intercalación de la base de datos.

Puede ejecutarlo para verificar la intercalación antes de cambiar la intercalación, y puede ejecutarlo después para asegurarse de que la intercalación es exactamente lo que desea.

Aquí hay otra forma de hacerlo:

SELECT collation_name 
FROM sys.databases
WHERE name = 'Solutions';

Puede omitir la última línea para devolver las intercalaciones de todas las bases de datos.

Colección predeterminada del servidor

Aquí se explica cómo devolver la intercalación predeterminada del servidor:

EXECUTE sp_helpsort;

Este procedimiento almacenado devuelve la intercalación predeterminada, así como el orden de clasificación y el juego de caracteres para la instancia de SQL Server.

Esto es lo que devolvió este procedimiento almacenado en mi versión de SQL Server 2017:

Latin1-General, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive for Unicode Data, SQL Server Sort Order 52 on Code Page 1252 for non-Unicode Data

Consulte las intercalaciones disponibles

Puede ejecutar la siguiente instrucción para obtener una lista de intercalaciones compatibles con su versión de SQL Server:

SELECT 
  name,
  description 
FROM sys.fn_helpcollations();