15 Kasım 2007 Perşembe

Hata ve Çözümü

HATA MESAJI:
"A connection could not be established to . Reason: Login failed for user . Reason: Server is in single user mode. Only one administrator can connect at a time."

AÇIKLAMA:
Bu sorun, SQL Server servisine başlangıç parametresi olarak "-m" koyup kaydettikten ve sonra SQL Server servisini yeniden başlatmaya çalıştığınızda karşınıza çıkabilir.

"-m" parametresi, SQL Server servisini tek kişilik giriş izni vermek üzere başlatır.

ÇÖZÜM:
SQL Server tek kişilik girişe izin verdiği için, eğer SQL Server Agent' ınız veya başka bir servis (ki bu genelde SQL Server Agent olur) sizden önce SQL Server' a bağlanırsa siz SQL Server Instance' ınıza bağlanamazsınız ve bu hata ile karşılaşırsınız.

Ayrıca, SQL Server 2005' te, SQL Server Starup Parameter (Başlangıç parametreleri) SQL Server Configuration Manager ile değiştirilebilir. Yani bu parametreyi değiştirmek için, SQL Server Management Studio' ya bağlanmak zorunda değilsiniz.

Fakat SQL Server 2000' de, bu ayarı değiştirebilmek için ilk önce SQL Server 2000' e bağlanmak zorundasınız. Eğer bu hatayı alıyorsanız ve SQL Server Instance' ınıza Enterprise Manager ile bağlanamıyorsanız, o zaman bu parametreyi de değiştiremezsiniz demektir.

Buna benzer şahit olduğum bir durumda, kullanıcı bu hata ile karşılaşmış ve SQL Server ile ilgili tüm servisleri durdurduğu halde (SQL Server servisi hariç tabii) gene de EM kullanarak SQL Server 2000 Instance' ına bağlanamamış ve bu ayarı da değiştirememişti. Bu yüzden kendi dahil hiç bir kullanıcısı SQL Server' a bağlanamıyordu.

Bu sorunu çözmek için, Regedit' ten değişiklikler yapıldı. Değişikliğin yapıldığı yerin adresi bizim durumumuzda şöyleydi: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SQLSERVER2000\MSSQLServer\Parameters. Sizin durumunuzda farklı olabilir. Bu fark, yüklediğiniz Intance' ın Default Instance veya Named Instance olmasına göre değişir. Ama sanırım artık bakacağınız yeri biliyorsunuz...

Yapılan değişiklik ise, SQLArg anahtarlarından "-m" değerini içeren anahtarı silmek idi. Evet, anlayacağınız üzre SQL Server Startup Parameters burada tutuluyor.

Bu arada, eğer bu sorun başınıza bir Küme (Cluster) ortamında geldiyse, unutmayın ki tüm düğümlerden temizlemelisiniz bu anahtarı.

Hiç yorum yok: