'Sa' hesabı kullanarak SQL Server'a bağlanamıyorum, ne eksik?


20

Aşağıdaki komutu kullanarak bir SQL Server 2005 Express örneğinde oturum açmaya çalışıyorum:

osql -S .\INSTANCE -U sa -P password

Hatayı alıyorum: 'sa' kullanıcısı için oturum açılamadı.

-E anahtarını kullanarak iyi bağlanabilirim. Aylarca çalıştığını da eklemeliyim. Sanırım biri bir şeyi değiştirdi ama ne olduğunu anlayamıyorum.

Ben denedim:

  • Windows kimlik doğrulamasını kullanarak giriş yapın ve sa parolasını değiştirin:

    sp_password NULL, yeni şifre, 'sa'

  • 'Sa' girişini etkinleştirme:

    ALTER LOGIN sa ETKİN; ŞİFRE İLE ALTER LOGIN sa gidin = 'newpassword'; GİT

  • Karma kimlik doğrulamanın etkinleştirildiğinden emin olmak için Windows Kayıt Defteri'ni kontrol edin . Değer doğruydu: LoginMode = 2

Başka neleri kontrol etmeliyim? Şimdiden teşekkürler.

İLAVE BİLGİ:

Bu bir Windows 2003 sunucusudur. Bazı parola ilkeleri etkin, benim uygulama SQL Server başka bir karmaşık daha yüklediğinde kullandığı varsayılan 'sa' parolasını değiştirmek gerektiğini hatırlıyorum.

VNC kullanarak bağlanıyorum, bu yüzden SSMS'yi gerçekten kullanamıyorum

Uygulamam başka bir SQL Server girişi kullanarak bağlanabiliyor, ancak 'sa' yok

Son olarak, bir çözüm bulamazsak, bu örneği kaldıracağım ve tekrar yükleyeceğim, ancak sorunun ne olduğunu öğrenmek istiyorum. Tekrar olması durumunda ve sadece düz bir merak için.

Yanıtlar:


23

@SpaceManSpiff'in dediği gibi, Karışık modun etkin olup olmadığını kontrol etmeyi unutmayın. Birisi benim için bu ayarı değiştirdi ve ben de aynı problemi yaşadım. Bunu nasıl çözeceğiniz aşağıda açıklanmıştır:

  1. Windows Kimlik Doğrulaması ile MSSQL Server Management Studio'da oturum açın.
  2. SQL Server Management Studio Nesne Gezgini'nde, sunucuyu sağ tıklatın ve sonra Özellikler'i tıklatın.
  3. Sunucu Özellikleri altında bir "Güvenlik" sayfası seçin.
  4. Sunucu kimlik doğrulamasını "SQL Server ve Windows Kimlik Doğrulama modu" olarak seçin ve Tamam'a tıklayın. MSSQL Sunucu Yönetimi Veritabanı özellikleri
  5. SQL Hizmetlerini yeniden başlatın ve 'sa' ayrıntılarıyla oturum açmayı deneyin.

Kaynak: http://forums.eukhost.com/f15/login-failed-user-sa-microsoft-sql-server-error-18456-a-12544/


12

Tamam, neler olduğunu anladım ve bir çözüm buldum.

Bir hafta önce Windows Güvenlik politikasıyla oynadıkları anlaşılıyor . İzin ekliyor / kaldırıyorlardı ama bana tam olarak ne yaptıklarını veremiyorlar çünkü gerçekten bilmiyorlardı (ah!).

Neyse, Windows kimlik doğrulaması (-E anahtarı) kullanarak bağlandım ve aşağıdaki sorguyu çalıştırdım:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF
GO
ALTER LOGIN [sa] ENABLE
GO

Buradaki anahtar CHECK_POLICY = OFF . Bu hile yaptı. Umarım bu, alan kurulumlarında gelecekteki değişikliklere karşı 'bağışık' olur.

Tüm önerileriniz için teşekkürler.


6

Kontrol edilecek şeyler

SA hesabındaki şifre

Karışık mod etkin

SA hesabı devre dışı mı?

Başka bir SQL hesabı oluşturun ve deneyin (-E ile girebildiğiniz için bunu yapabileceksiniz)

Bir ODBC bağlantısı kullanarak test edin, SA'nın çalışıp çalışmadığını görmek için bu bağlantıyı oluşturabilirsiniz

Oh ve her zaman tüm pencereleri yakalamak, yeniden başlatın (ciddi, bu benim şeyler yaptıktan sonra test SQL sunucuma yardımcı olur)


1

Birkaç yıl önce bir SQL ServicePack (SQLServer Güncelleştirmesi yok, ancak Windows) yükledikten sonra bu sorunu yaşadım, SQLServer ServicePack de yüklenene kadar bağlantıları reddetti! Birkaç saat sonra etkinlik günlüğünde bir ileti buldum.

Sanırım bunu yaptılar, çünkü büyük bir güvenlik açığı olduğunu biliyorlardı ve tüm yöneticileri paketi yüklemeye zorlamak istiyorlardı. Ancak, bir süre önce olduğundan, tam sürümleri vb. Size olay günlüğünü iki kez kontrol etmenizi ve tüm / en yeni hizmet paketlerini yüklemenizi öneririm.


Bu umut verici görünüyor, Pazartesi günü deneyeceğim ve rapor vereceğim. Önerin için teşekkürler.
JAG

Son olarak en son Service Pack'i yüklemeyi denemedim. Kendi 'kabul edilen cevabımı' görün.
JAG

0

Management Studio veya Management Studio Express yüklü olduğunu varsayarsak, Management Studio'yu sa kullanarak sunucuya bağlayabilir misiniz?

JR


1
SSMS yüklü değil ve mümkünse yüklememeyi tercih ederim. Ayrıca, başka bir bilgisayardan SSMS'ye bağlanmak bir seçenek değildir çünkü bu bir müşteri sunucusudur. Yalnızca komut satırı araçları kullanılabilir.
JAG

Başka bir bilgisayarda Management Studio'nuz varsa, bir VPN'nin en ucunda olsa bile, yine de bağlanabilmeniz gerekir. Buradaki nokta, sunucu kurulumunda bir sorun olup olmadığını veya sorunun osql komutunda olup olmadığını kontrol etmektir.
John Rennie

0

Kayıt defteri değişikliğini yaptıktan sonra SQL Server hizmetini yeniden başlattığınızdan emin misiniz?


Doğru değere sahip olduğu için değiştirmeye gerek yoktu.
JAG

0

Birisi "sa" için varsayılan veritabanı olan veritabanını kaldırdı mı ?

Sorun buysa, deneyin

EXEC sp_defaultdb 'sa', 'New default database'

Teorik olarak, sadece bir veritabanı vardır ve vardır. Yine de bu komutu çalıştırmadım.
JAG

Normalde 'usta' olur. Ama bence sorun bu değil ...
splattne

Sadece denedim ama fark etmedim. Yine de teşekkürler.
JAG

0

SQL Express 2014 yüklüyorsanız, [sa] hesabıyla oturum açmayı denerseniz bu hatayı gidermek için birkaç şey yapmanız gerekir.

  1. "Sa" hesabı devre dışı bırakılacaktır. Bu nedenle, hesabın durum bölümü altında hesabı devre dışı durumundan etkin durumuna geçirmeniz gerekir.

  2. Sunucunun pencereleri ve sql sunucusu kimlik doğrulaması etkinleştirilmiş olmalıdır. Varsayılan olarak, yalnızca Windows kimlik doğrulaması etkindir.

  3. Parolayı sıfırlayın. (aşağıdaki koda bakın; ServerFault, 6/8/2016 tarihinden itibaren sıralı bir liste kullanılırken kodun aynı görünmediği bir hata içeriyor)

  4. SQL Server için Windows Hizmeti'ni yeniden başlatın

=========

ALTER LOGIN sa WITH PASSWORD='password', CHECK_POLICY=OFF;
ALTER LOGIN [sa] ENABLE;

0

Bazen birçok yanlış şifre veya herhangi bir politika ihlali nedeniyle giriş devre dışı bırakılır. Yapabileceğimiz şey sadece pencere kimlik doğrulamasıyla giriş yapmak, şifreyi değiştirmek ve tekrar giriş yapmayı etkinleştirmektir.

Windows Kimlik Doğrulaması ile veritabanında oturum açın

Sorguyu Çalıştır:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF 
GO
ALTER LOGIN [sa] ENABLE
GO

SQL Server'ın çalıştığı bilgisayarın Windows parola ilkelerinin bu oturum açmada uygulanması gerektiğini belirttiği için CHECK_POLICY kullanımı gereklidir. KAPALI yaptığımızda varsayılan AÇIK, parolayı herhangi bir zorluk çekmeden değiştirecektir. Daha sonra yapabilirsiniz

NOT: CHECK_POLICY GUI SSME üzerinde olduğunda şifre değiştirmek için her zaman çalışmaz gözlemledim. Bunun sebebi değil, gözlemledim.


0

i aşağıdaki gibi Windows ile kimlik doğrulaması oturum açma özellikleri ile oturum açma çözüldü Güvenlik ve sunucu authenticati değiştirmek


1
Cevabınızı biçimlendirerek (ve tamamlayarak) daha fazla harcayabilir misiniz? Bu yazıldığı gibi, pek bir yardım değil.
asdmin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.