Anasayfa > SQL İhtiyaç Duyabilecekleriniz > SQL Collation Değiştirme

SQL Collation Değiştirme

Çalışırken daha önce benim başıma da geldiği için bu bilgiyi muhakkak bir kenara not etmeli diye düşünmüştüm. Netsis’ in kullanmış olduğu collation “SQL_Latin1_General_CP1_CI_AS” değerini yanlış kurulum nedeni ile değiştirmek zorunda kalmıştım. Dikkat edilmesi gereken konu bu işlemi yaptıktan sonra sıfır kurulumlar da kullanmak gerektiğidir. İçerisinde veri olan database ve serverler için sorun yaşatacaktır.

Database Collation Değiştirme:

Sql Server ‘da, bir veritabanının collation türünü “Turkish_CI_AS” e çevirmek için,

1.ALTER DATABASE [VeritabaniAdi] COLLATE Turkish_CI_AS

Sorgusunu kullanabilirsiniz. Eğer “The database could not be exclusively locked to perform the operation” şeklinde bir hata alırsak, çok kullanıcılı veritabanlarında karşılaştığımız bu hatayı;

1.ALTER DATABASE [VeritabaniAdi] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

2.ALTER DATABASE [VeritabaniAdi] COLLATE Turkish_CI_AS

3.ALTER DATABASE [VeritabaniAdi] SET MULTI_USER

sorgusuyla çözebiliriz.

Server Collation Değiştirme:

Kurulum dizinimizdeki Setup.exe yi komut isteminde kullanarak kısa bir süre içerisinde bu işlemi tamamlayabiliriz.

ilk olarak tüm veritabanlarının yedeğini alalım ve tüm userların create cümleciklerini yedek de tutalım.

Yedeklerimiz tamamsa aşağıdaki içeriği .bat uzantılı dosya haline getirip çalıştırarak işlemi tamamlayalım.

Artık Server Collation yanında system veritabanlarının da (master,model,msdb ve temdb) Collation değeri değişmiş olacaktır.İşlem sonrasında tüm Kullanıcı veritabanları kendiliğinden detach olur, yeniden attach edebilirsiniz.

SQL Server 2005 için:

1.c:

2.cd \

3.cd “C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap”

4.start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=”yenisifre” SQLCOLLATION=TURKISH_CI_AS

SQL Server 2008 için:

1.c:

2.cd \

3.cd “C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release”

4.setup.exe /q /ACTION=RebuildDatabase /INSTANCENAME=MSSQLSERVER /SAPWD=”yenisifre” / SQLSYSADMINACCOUNTS=”BUILTIN\ADMINISTRATORS” /SqlCollation=TURKISH_CI_AS

İşlem sonucunda her hangi bir hata söz konusu olur ise hata detayını ,
“C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log” dizinindeki,
Summary.txt dosyasından gözlemleyebilirsiniz.

Not: Ben Netsis’in kullanmış olduğu collation yapısı için iki ayrı server yapısına ayrı ayrı batch file düzenlemiştim.

SQL_2005_COLLATION_CHANGE

  • c:
  • cd\
  • cd “C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap”start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=”SAPASS” SQLCOLLATION=SQL_Latin1_General_CP1_CI_AS

SQL_2008_COLLATION_CHANGE

  • c:
  • cd\
  • cd “C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release”setup.exe /q /ACTION=RebuildDatabase /INSTANCENAME=MSSQLSERVER /SAPWD=”123456″ / SQLSYSADMINACCOUNTS=”BUILTIN\ADMINISTRATORS” /SqlCollation=SQL_Latin1_General_CP1_CI_AS
  1. Fatma Kaya
    06 Haziran 2014, 13:40

    ben SQL2008 collation türünü TURKISH_CI_AS kurmuşum. Netsis databaselerinde sorunlar yaşadığım için Server Collation değerini SQL_Latin1_General_CP1_CI_AS yapmak istedim.
    Dediklerinizi uyguladım fakat değiştiremedim.

    • 11 Haziran 2014, 10:44

      İşlem adımlarını daha önce bir müşterim de test etmiş ve uygulamıştım. Herhangi bir problem çıkmadan sorun çözülmüştü. Yedekleme yaparak tekrar komutları baştan itibaren kontrol ederek tekrar yapmanızı öneririm. Komutların sonunda ekranınıza bir hata mesajı alıyormusunuz lütfen kontrol ediniz.

  2. 05 Mayıs 2015, 13:19

    üstad büyük i lerde latin ile sorun yaşıyorum sıralamada ve aramada büyük i sorunları oluyor. türkçeye çevirdiğimizde hala sorun yaşıyormuyuz netsiste

  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: