Skip to content

Instantly share code, notes, and snippets.

@ststeiger
Created September 20, 2024 15:12
Show Gist options
  • Save ststeiger/e72b412d819e3d79233a55f273d978c0 to your computer and use it in GitHub Desktop.
Save ststeiger/e72b412d819e3d79233a55f273d978c0 to your computer and use it in GitHub Desktop.
Show info about collation
SELECT
-- name
DISTINCT collation_name
FROM sys.databases
WHERE (1=1)
-- AND name = 'tempdb';
SELECT name, collation_name
FROM sys.databases
WHERE (1=1)
-- AND name = 'tempdb';
-- AND collation_name = 'Latin1_General_100_CI_AS'
-- AND collation_name = 'Latin1_General_CI_AS'
AND name IN ('COR_Basic_STZH_V4', 'tempdb')
SELECT *
FROM
(
SELECT
sch.name AS object_schema
,tbl.name AS object_name
,col.name AS column_Name
,col.collation_name
,tDatabaseCollation.db_collation
FROM sys.columns AS col
INNER JOIN sys.tables AS tbl ON tbl.object_id = col.object_id
INNER JOIN sys.schemas AS sch on sch.schema_id = tbl.schema_id
OUTER APPLY
(
SELECT collation_name AS db_collation
FROM sys.databases
WHERE (1=1)
AND name = DB_NAME()
) AS tDatabaseCollation
WHERE (1=1)
-- AND col.object_id = OBJECT_ID('dbo.T_Benutzer')
-- AND collation_name IS NOT NULL
) AS t
WHERE (1=1)
-- AND collation_name <> db_collation
AND collation_name IS NULL
-- ALTER DATABASE YourDatabaseName COLLATE Latin1_General_CI_AS;
-- CREATE DATABASE MyDatabase COLLATE Latin1_General_CI_AS;
-- SELECT name, collation_name AS db_collation FROM sys.databases WHERE (1=1) AND name = DB_NAME()
-- Latin1_General_CI_AS
/*
USE master;
ALTER DATABASE YourDatabaseName SET SINGLE_USER;
ALTER DATABASE YourDatabaseName COLLATE Latin1_General_CI_AS;
ALTER DATABASE YourDatabaseName SET MULTI_USER;
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment