Login failed for user etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Login failed for user etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

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

Hata ve Çözümü

HATA MESAJI:
"Cannot open user default database. Login failed. Login failed for user . (Microsoft SQL Server, Error: 4064)"

AÇIKLAMA:
SQL Server' da, her Login için bir varsayılan veritabanı atanır. Bu işlem, Login' in özelliklerinden yapılabilir.

Eğer bir Login' e, giriş hakkı olmayan bir veritabanı varsayılan veritabanı olarak atanırsa, bu Login ile giriş yapmaya çalışan kullanıcınız bahsi geçen hatayı alır.

Ayrıca, eğer bir Login' in varsayılan veritabanı belirlendikten sonra, bu atanan veritabanının adı değişir veya silinirse, Login, aynı hatayı alacaktır.

ÇÖZÜM:
SQL Server veritabanı yöneticisinin, mevzubahis Login' in varsayılan veritabanı bilgisini, Login' in giriş hakkı olan bir veritabanı olarak değiştirmesi yeterli olacaktır.