Merhaba ,
SQL Server (Sunucu), veritabanı ve tabloların collation name değerlerini kontrol edebileceğimiz queryleri aşağıda görebilirsiniz.
SQL 2000’de Collation name bilgisi Turkish_CI_AS olabilir fakat SQL 2005 ve SQL 2008’de Collation name bilgisi SQL_Latin1_General_CP1254_CI_AS olmalıdır.
Sırasıyla;
-/* 1. SQL Seçili karakter setini kontrolü(Büyük, küçük harf duyarlılığı gibi) Turkish,case-insensitive olmalı */---
EXEC SP_HELPSORT
-/* 2. SQL Server collation name kontrolü (SQL 2005 ve SQL 2008'de SQL_Latin1_General_CP1254_CI_AS olmalı) */
SELECT SERVERPROPERTY('collation')
-/* 3. Veri tabanı collation name kontrol (SQL 2005 ve SQL 2008'de SQL_Latin1_General_CP1254_CI_AS olmalı) */
--Bu sorgu Collation name bilgisi ‘SQL_Latin1_General_CP1254_CI_AS' dışındakileri listeler
select name AS [Database_Adi],collation_name,* from sys.databases
where collation_name NOT LIKE ('SQL_Latin1_General_CP1254_CI_AS')
-/* 4. Kolonlardaki Collation name bilgisi hatalı olanları listeler.
SQL_Latin1_General_CP1254_CI_AS --*/
SELECT OBJECT_NAME(id) AS [Tablo_Ismi], NAME AS [Kolon_Ismi] ,COLLATiON AS [Collation_Name] FROM SYSCOLUMNS
WHERE id IN (SELECT id FROM SYSOBJECTS WHERE XTYPE ='u') AND XTYPE IN (167, 35,175,239,99,231)
AND COLLATION NOT LIKE 'SQL_Latin1_General_CP1254_CI_AS'
İyi Çalışmalar