it-swarm.asia

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

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

  • karışık kimlik doğrulama öğesinin etkinleştirildiğinden emin olmak için Windows Kayıt Defteri'ni işaretleyin. 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.

20
JAG

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

Bir hafta önce Windows Güvenlik politikasıyla oynuyorlardı . İzin ekliyor/kaldırıyorlardı ama bana tam olarak 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şikliklerden etkilenmez hale gelir.

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

12
JAG

@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 Server Management Database properties
  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/

24
emmanuel

Kontrol edilecek şeyler

SA hesapta ş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ı kullanarak test edin, SA işe yarayıp yaramadığı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)

6
SpaceManSpiff

Birkaç yıl önce bir SQL ServicePack (SQLServer Güncelleştirmesi yok, ancak Windows) yükledikten sonra 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.

1
Tim Büthe

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;
1
MacGyver

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

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ı ile 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 yaşamadan 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
jay patel

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

JR

0
John Rennie

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

0
David Spillett

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

Sorun buysa, deneyin

EXEC sp_defaultdb 'sa', 'New default database'
0
splattne