EKİ
2

Management Studio 2008'de Veritabanlarını Listeleme ve Error 916

3 yorum | Kategori: Diğer Yazılımlar | 02 Ekim 2009 Cuma

Sitelerini paylaşımlı bir hosting hesabı üzerinde barındıran, ya da herhangi bir sebepten dolayı veritabanı sunucuları üzerinde tam kontrole sahip olmayan SQL Server kullanıcılarını, SQL Server 2008'in yanında gelen SQL Server Management Studio 2008'in kötü bir süprizi (bug'ı desem daha doğru olur) bekliyor. Sitemi GoDaddy sunucularındaki paylaşımlı hesabıma transfer ederken biraz zamanımı çalan bu hatanın sebebini ve çözümünü burada anlatacağım.

Problem kendini, Management Studio 2008 ile veritabanı sunucusuna gayet normal bir şekilde bağlandıktan sonra, sol taraftaki "Object Explorer" bölümündeki "Databases" dalını açmaya kalktığınız zaman belli ediyor.

management studio 2008 object explorer

Databases dalına basıldıktan sonra, Object Explorer yukarıda göstermiş olduğum halde uzun bir süre beklemeye başlıyor. Siz sabırla listenin alınmasını bekliyorsunuz ancak bir süre sonra veritabanlarının listesiyle değil, aşağıdaki hata mesajı ile karşılaşıyorsunuz.

management studio error 916

Bu mesajda mavi ile kapatmış olduğum yerde veritabanına girerken kullandığım kullanıcı adım, siyah ile kapatmış olduğum yerde ise benimle uzaktan yakından alakası olmayan birinin veritabanının adı yazıyordu. Mesajı ilk gördüğümde hatanın bende olduğunu düşünüp yaptığım her adımı defalarca kez kontrol ettim. Ancak sonuç alamayınca biraz araştırma yaptım ve sorunun benden değil, Management Studio 2008'deki saçma bir bug'dan kaynaklandığını öğrendim.

Hatanın sebebi, Management Studio'nun veritabanlarının listesini almakla yetinmeyip, her veritabanı için normalde "Object Explorer Details (OED)" penceresini açmadığınız sürece göremeyeceğiniz bir sürü bilgiyi daha almaya kalkması. Tabi asıl sorun bu verileri almaya çalışması değil. Veritabanları arasında "auto-close" özelliğine sahip olup da kapanmış olanlar varsa, bunları da o bilgileri alabilmek için sorgulamaya çalışması ve eğer o veritabanına erişim hakkınız yoksa (ki paylaşımlı hosting'de tabi ki olmayacak) o veritabanı ile ilgili bilgileri almadan geçmek yerine donup yukarıdaki hatayı göstermesi. İşin kötü yanı, bu veri alma işlemini siz OED bölümünü disable etseniz bile yapması.

Bağlanmış olduğunuz sunucuda auto-close özelliği aktif olan veritabanları olup olmadığını öğrenmek için aşağıdaki SQL sorgusunu kullanabilirsiniz.

SELECT * FROM sys.databases WHERE is_auto_close_on = 1

Eğer bu sorgu sonucunda hiçbir satır dönmüyorsa listeleme işlemi sırasında bahsettiğim hatadan etkilenmeyeceksiniz demektir. Yok eğer dönüyorsa, ki paylaşımlı hosting kullanıyorsanız büyük ihtimalle dönecektir, o zaman yapmanız gereken şey şu: F7 tuşuna basarak OED bölümünü açmak, Databases bölümüne girmek ve sonra sütun başlıkları üzerinde sağ tuşa tıklayıp açılan menüden "Collation" seçeneğinin başındaki tiki kaldırmak. Aşağıdaki resimde tam olarak nereyi kasdettiğimi görebilirsiniz.

object explorer details

Bu işlemi yaptıktan sonra Object Explorer'da refresh yaparsanız, tüm veritabanlarının sorunsuz listelendiğini göreceksiniz.

Etiketler: SQL, SQL Server

Yorumlar

Bu yazı hakkında toplam 3 yorum bulunmaktadır. Siz de yorum ekleyebilirsiniz.
Yorum Onur Eroğlu | 29 Nisan 2010 Perşembe 01:54:38
Üzerinde SQL Server 2000 çalisan bir hosting sunucusuna baglanmaya çalisirken benzer hatayi almistim. Çözüm için tesekkürler..
Yorum Gazi ERDOĞAN | 26 Mart 2010 Cuma 13:10:15
Süper bir yorum olmus. Tebrik ederim.
Yorum mehmet | 30 Ekim 2009 Cuma 23:08:22
son bir haftami calan sorunun tam cozumu.. tesekkurler.

Yorum Yazın

İsim ve soyadınız : E-Posta adresiniz : Güvenlik kodu : Güvenlik Kodu Yorumunuz : Gönder