В ответ на вопрос «Как я могу это выяснить»
SET NOCOUNT ON;
IF DB_ID('Collations') IS NULL
CREATE DATABASE Collations
GO
USE Collations
IF OBJECT_ID('Collations') IS NOT NULL
DROP TABLE Collations
CREATE TABLE Collations
(
code TINYINT IDENTITY(0, 1)
)
GO
INSERT INTO Collations
DEFAULT VALUES
GO 256
DECLARE @AlterScript NVARCHAR(MAX) = ''
SELECT @AlterScript = @AlterScript + '
RAISERROR(''Processing: ' + name + ''',0,1) WITH NOWAIT;
ALTER DATABASE [Collations] COLLATE ' + name + ';
ALTER TABLE Collations ADD ' + name + ' CHAR(1) COLLATE ' + name + ';
EXEC(''UPDATE Collations SET ' + name + '=CHAR(code)'');
'
FROM sys.fn_helpcollations()
WHERE name LIKE '%CS_AS'
AND name NOT IN /*Unicode Only Collations*/
( 'Assamese_100_CS_AS', 'Bengali_100_CS_AS',
'Divehi_90_CS_AS', 'Divehi_100_CS_AS' ,
'Indic_General_90_CS_AS', 'Indic_General_100_CS_AS',
'Khmer_100_CS_AS', 'Lao_100_CS_AS',
'Maltese_100_CS_AS', 'Maori_100_CS_AS',
'Nepali_100_CS_AS', 'Pashto_100_CS_AS',
'Syriac_90_CS_AS', 'Syriac_100_CS_AS',
'Tibetan_100_CS_AS' )
EXEC (@AlterScript)
SELECT *
FROM Collations