Page Header kategorisi altındaki ayarlardan olan Collation’ı inceleyeceğim.
Collation nedir?
Veritabanının dil değerini seçebileceğimiz kısımdır. Seçtiğimiz dil’e ait harfler ve karakterler veritabanımız tarafından kabul edilebilir hale gelecektir.
Seçenekler
- Binlerce seçeneğe sahiptir.
Best Practice
Best practice yoktur, veritabanını kullanım durumuna göre değişiklik göstermektedir.
Collation ayarını nasıl düzenleyebilirim?
- T-SQL ile
use [master] ALTER DATABASE [OptionsTest] COLLATE Turkish_CI_AS ;
- Management Studio (SSMS) ile
Database > (Sağ Tık) Properties > Options > Collation
Tavsiyeler
Veritabanı collation değiştirilmeye karar verildiğinde, tablolarda bulunan char, varchar, text, nchar, nvarchar, ntext tipine sahip kolonların collation değerleri kontrol edilmeli ve düzenlenmelidir. Aksi halde sorgular collation dönüşümlerinden kaynaklı hata alabilir.
Demo
Collation ayarının ne olduğunu görmek için aşağıdaki syntax’ı kullanabiliriz.
SELECT name, collation_name FROM sys.databases WHERE name = N'OptionsTest';
Turkish olarak değiştiriyorum,
USE master GO ALTER DATABASE [OptionsTest] COLLATE Turkish_CI_AS ; GO
Msg 5030, Level 16, State 5, Line 3
The database could not be exclusively locked to perform the operation.
Msg 5072, Level 16, State 1, Line 3
ALTER DATABASE failed. The default collation of database 'OptionsTest' cannot be set to Turkish_CI_AS.
Veritabanı kullanımda olduğu için değişikliği yapamayıp hata aldık. Veritabanın kullanımadığı bir zamanda veya ALTER edilirken lock’layan sorgulara müdahale edip değişikliği yapabiliriz.
1 yorum