SQL Server sunucu Collation değerini değiştirmek

Sunucunuz üzerindeki SQL Server kurulumuna ait sunucu Collation değerini değiştirmek isteyen arkadaşlar, biliyorum ordasınız ve kafayı yemek üzeresiniz. Forumlara giriyorsunuz, arıyorsunuz, bakınıyorsunuz, ıı ıhh olmuyor, bulamıyorsunuz. Tırnaklarınızı kemirmekten sıkıldınız, usandınız. Ama bekleyin çaresi var 🙂

Öyle internetteki forumlarda yazıldığı gibi, Collation değiştirmek için “ALTER DATABASE” T-SQL cümleciğini kullanın vs. gibi bir laf etmeyeceğim size, direkt çözümü belirteceğim. Ha yeri gelmişken ALTER DATABASE ile veri tabanı Collation değerini nasıl değiştirebileceğinizi de belirteyim.

USE master;
GO

CREATE DATABASE testdb
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO

ALTER DATABASE testDB
COLLATE French_CI_AI ;
GO

T-SQL sorgusunu çalıştırırsanız Collation değeri SQL_Latin1_General_CP1_CI_AS olan tempdb veri tabanımızın Collation değerini French_CI_AI olarak değiştirmiş olursunuz. Bu kadar basit. Ama sunucu Collation değerini değiştirmek o kadar kolay değil. Onu nasıl yapacağız peki? Şöyle ki,

  • Mevcut veri tabanınızda bulunan bütün veri tabanlarını ve bütün nesneleri yeniden oluşturabileceğiniz tüm script’lere sahip olduğunudan emin olun.
  • Veri tabanınızda yer alan bütün verilerinizi uygun bir araç ile EXPORT ediniz.
  • Bütün kullanıcı veri tabanlarını DROP ediniz.
  • SQLCOLLATION  değerini (burda örnek olarak SQL_Latin1_General_CP1_CI_AI değeri verilmiş) doğru bir şekilde yazdığınız aşağıdakine benzer bir komutu, komut satırını kullanarak çalıştırın:

    setup.exe /q /ACTION=RebuildDatabase /INSTANCENAME=MSSQLSERVER /SAPWD=”sa-pwd” /SQLSYSADMINACCOUNTS=”BUILTIN\ADMINISTRATORS” /SqlCollation=SQL_Latin1_General_CP1_CI_AI

  • Bütün veri tabanlarınızı ve nesnelerinizi yeniden oluşturunuz.
  • Bütün verilerinizi IMPORT ediniz.

umarım faydalı olur.

, ,

One Response to SQL Server sunucu Collation değerini değiştirmek

  1. Ahmet BÜTÜN 28 Mayıs 2009 at 10:15 AM #

    aferim bebişime 🙂

Bir cevap yazın

Font Resize