pengembangan-web-mp.com

Tidak dapat terhubung ke SQL Server menggunakan akun 'sa', apa yang saya lewatkan?

Saya mencoba masuk ke contoh SQL Server 2005 Express menggunakan perintah berikut:

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

Saya mendapatkan kesalahan: Login gagal untuk pengguna 'sa'.

Saya dapat terhubung dengan baik menggunakan saklar -E. Saya harus menambahkan bahwa itu sudah berfungsi selama berbulan-bulan. Saya pikir seseorang mengubah sesuatu tetapi saya tidak tahu apa itu.

Inilah yang saya coba:

  • Login menggunakan otentikasi Windows dan mengubah kata sandi sa:

    sp_password NULL, newpassword, 'sa'

  • Mengaktifkan login 'sa':

    ALTER LOGIN sa ENABLE; GO ALTER LOGIN sa WITH PASSWORD = 'kata sandi baru'; PERGILAH

  • Memeriksa Windows Registry untuk memastikan bahwa otentikasi campuran diaktifkan. Nilainya benar: LoginMode = 2

Apa lagi yang harus saya periksa? Terima kasih sebelumnya.

INFORMASI TAMBAHAN:

Ini adalah Server Windows 2003. Mereka memiliki beberapa kebijakan kata sandi diaktifkan, saya ingat bahwa saya perlu mengubah kata sandi 'sa' default yang digunakan aplikasi saya ketika menginstal SQL Server ke yang lain yang lebih kompleks.

Saya terhubung menggunakan VNC, jadi saya tidak bisa menggunakan SSMS

Aplikasi saya dapat terhubung menggunakan login SQL Server lain, tetapi tidak ada 'sa'

Akhirnya, jika kita tidak menemukan solusi, saya akan menghapus instance ini dan menginstalnya lagi, tetapi saya benar-benar ingin mencari tahu apa masalahnya. Kalau-kalau itu terjadi lagi dan hanya untuk keingintahuan.

20
JAG

Ok, saya sudah bisa mencari tahu apa yang terjadi (semacam) dan mendapatkan solusi.

Tampaknya satu minggu yang lalu mereka bermain dengan kebijakan Keamanan Windows. Mereka menambahkan/menghapus izin tetapi mereka tidak bisa memberi saya apa yang mereka lakukan karena mereka benar-benar tidak tahu (aduh!).

Lagi pula, saya terhubung menggunakan otentikasi Windows (-E switch) dan menjalankan kueri berikut:

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

Kuncinya di sini adalah CHECK_POLICY = OFF. Itu berhasil. Saya harap ini akan membuat 'sa' kebal terhadap perubahan di masa depan dalam pengaturan domain mereka.

Terima kasih atas semua saran Anda.

12
JAG

Seperti yang dikatakan @SpaceManSpiff, jangan lupa untuk memeriksa apakah mode Campuran diaktifkan. Seseorang mengubah pengaturan itu untuk saya dan saya memiliki masalah yang sama. Inilah cara mengatasinya:

  1. Masuk ke MSSQL Server Management Studio dengan Windows Authentication.
  2. Di SQL Server Management Studio Object Explorer, klik kanan server, dan kemudian klik Properti.
  3. Di bawah Properti Server, pilih halaman "Keamanan".
  4. Pilih otentikasi Server sebagai "mode SQL Server dan Windows Authentication" dan klik Ok. MSSQL Server Management Database properties
  5. Mulai ulang Layanan SQL dan kemudian coba masuk dengan detail 'sa'.

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

24
emmanuel

Hal-hal untuk diperiksa

Kata sandi pada SA akun

Mode campuran diaktifkan

Apakah akun SA dinonaktifkan?

Buat akun SQL lain dan coba (karena Anda bisa masuk dengan -E Anda harus bisa melakukan ini)

Uji menggunakan koneksi ODBC, Anda dapat membuat koneksi ini untuk melihat apakah SA berfungsi

Oh dan selalu menangkap semua di windows, reboot (serius, ini membantu pengujian server SQL saya setelah saya melakukan hal itu)

6
SpaceManSpiff

Saya punya masalah itu beberapa tahun yang lalu setelah menginstal Windows ServicePack (tidak ada Pembaruan SQLServer, tetapi Windows), SQLServer menolak koneksi, sampai SQLServer ServicePack diinstal juga! Saya menemukan pesan di eventlog setelah beberapa jam.

Saya pikir mereka melakukan ini, karena mereka tahu ada lubang keamanan besar dan ingin memaksa semua admin untuk menginstal paket. Namun, karena beberapa waktu yang lalu, saya tidak memiliki versi yang tepat dan sebagainya. Saya akan merekomendasikan, Anda memeriksa log peristiwa dan menginstal semua/paket layanan terbaru.

1
Tim Büthe

Jika Anda menginstal SQL Express 2014, Anda harus melakukan beberapa hal untuk menyelesaikan kesalahan ini jika Anda mencoba masuk dengan akun [sa].

  1. Akun "sa" akan dinonaktifkan. Jadi, Anda harus beralih dari akun dinonaktifkan ke diaktifkan di bawah bagian status akun.

  2. Server harus mengaktifkan otentikasi server Windows dan sql. Secara default, hanya otentikasi windows yang diaktifkan.

  3. Setel ulang kata sandi. (lihat kode di bawah; ServerFault memiliki bug di mana kode tidak muncul sama ketika menggunakan daftar yang dipesan pada 6/8/2016)

  4. Mulai ulang Layanan Windows untuk SQL Server

=========

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

saya mengatasinya sebagai berikut logon dengan properti goto otentikasi windows Anda dari server >> Keamanan dan mengubah server authenticati

0

Terkadang login dinonaktifkan karena banyak kata sandi yang salah atau pelanggaran kebijakan apa pun. Jadi yang bisa kita lakukan hanyalah login dengan otentikasi jendela, ubah kata sandi dan aktifkan kembali login.

Masuk ke database dengan Otentikasi Windows

Jalankan Kueri:

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

Penggunaan CHECK_POLICY diperlukan karena menentukan bahwa kebijakan kata sandi Windows komputer yang menjalankan SQL Server harus diberlakukan pada login ini. Standarnya adalah ON ketika kita MATI itu akan mengubah kata sandi tanpa kesulitan. Nanti kamu bisa ON

CATATAN: Apa yang saya amati bahwa ketika CHECK_POLICY menggunakan solusi GUI SSME untuk mengubah kata sandi tidak akan berfungsi setiap saat. Saya tidak punya alasan di balik tetapi saya telah amati.

0
jay patel

Dengan asumsi Anda memiliki Management Studio atau Management Studio Express diinstal, dapatkah Anda menghubungkan Management Studio ke instance menggunakan sa?

JR

0
John Rennie

Apakah Anda memastikan bahwa Anda me-restart layanan SQL Server setelah Anda membuat perubahan registri?

0
David Spillett

Apakah ada yang menghapus database yang merupakan database default untuk "sa"?

Jika itu masalahnya, coba

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