msdb Etiketli Yazılar

Sql Server Collation Değiştirme

Database Collation Değiştirme:

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

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ı;

ALTER DATABASE [VeritabaniAdi] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE [VeritabaniAdi] COLLATE Turkish_CI_AS
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:

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="yenisifre" SQLCOLLATION=TURKISH_CI_AS

SQL Server 2008 için:

c:
cd \
cd "C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release"
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.