Установка русской кодировки на уже созданную базу данных (смена COLLATION)

MS SQL - по необходимости

Полезный пример изменения кодировки (COLLATION) на уже созданной базе данных.
В данном примере устанавливается русская кодировка: Cyrillic_General_CI_AS

USE master;
GO

-- Переводим БД в single-user mode
ALTER DATABASE [имя_базы_данных]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

-- Меняем кодировку COLLATION
ALTER DATABASE [имя_базы_данных]
COLLATE Cyrillic_General_CI_AS ;
GO

-- Переводим БД обратно в multi-user mode
ALTER DATABASE [имя_базы_данных]
SET MULTI_USER WITH ROLLBACK IMMEDIATE;
GO  
 
--Проверяем настройки COLLATION.
SELECT name, collation_name
FROM sys.databases
WHERE name = 'имя_базы_данных';
GO



Дополнительно ещё немного полезностей:

Просмотр кодировок по таблицам и полям в базе данных:
SELECT
  t.name,
  c.name,
  c.collation_name
FROM sys.columns c INNER JOIN sys.tables t
    ON t.object_id = c.object_id
WHERE c.object_id
      IN (SELECT object_id
          FROM sys.objects
          WHERE type = 'U')
      AND c.collation_name != 'NULL'
ORDER BY t.name, c.name


Изменение кодировки определённого поля таблицы:
ALTER TABLE [таблица] ALTER COLUMN [поле] тип_поля
  COLLATE Cyrillic_General_CI_AS

MSSQL БД COLLATION TSQL Cyrillic_General_CI_AS

Оставить первый комментарий: