Login ke Microsoft SQL Server Error: 18456

295

Saya mendapatkan kesalahan ini ketika mencoba untuk terhubung ke SQL Server.

Kesalahan Microsoft SQL Server: 18456

Adakah yang bisa memberi tahu saya apa arti kode kesalahan?

merazuu
sumber
6
Pencarian sepintas tampaknya menunjukkan bahwa kode kesalahan adalah kegagalan login, dan umumnya disertai dengan informasi yang lebih rinci.
David
Dan info yang lebih detail harus ada di log galat sql server. Nomor itu sendiri sengaja tidak memberi tahu Anda banyak, sehingga cracker tidak dapat menggunakannya untuk petunjuk di mana upaya mereka salah.
Tony Hopkinson
informasi berguna ditemukan di sini
sairfan
1
Saya baru saja harusrun as administrator
Jacksonkr
cukup periksa solusi ini: stackoverflow.com/questions/41386538/…
Akash Singh Sengar

Jawaban:

706

Jika Anda mencoba terhubung menggunakan "SQL Server Authentication" maka Anda mungkin ingin memodifikasi otentikasi server Anda:

Di dalam Microsoft SQL Server Management Studio di objek explorer:

  1. Klik kanan pada server dan klik Properties

  2. Pergi ke Securityhalaman

  3. Di bawah Server authenticationpilih SQL Server and Windows Authentication modetombol radio

  4. Klik OK

  5. Mulai kembali Layanan SQL

Ali Kashanchi
sumber
32
Terima kasih. Malu tidak ada pesan peringatan ketika Anda mencoba menambahkan pengguna.
JohnnyBizzle
12
Apa sebenarnya yang Anda maksud "Server klik kanan dan klik properti" di mana ini?
emcor
9
Dia berarti simpul teratas di Object Explorer - silinder kuning dengan tombol putar
JGilmartin
21
Ini adalah masalah yang sangat umum ditemui orang. Fakta bahwa Anda dapat membuat login SQL Server ke isi hati Anda tanpa menyadari bahwa pengaturan sederhana ini dimatikan agak membingungkan IMO. Saya akan merekomendasikan ini sebagai jawaban yang benar.
7
@ JGilmartin, Bagaimana tepatnya Anda dapat terhubung ke server di Object Explorer ketika Anda memiliki Kesalahan 18456 yang berarti Anda tidak dapat terhubung ??
Shai Alon
69

Lihat artikel blog ini dari tim platform data.

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

Anda benar-benar perlu melihat bagian negara bagian dari pesan kesalahan untuk menemukan akar penyebab masalah.

2, 5 = Invalid userid
6 = Attempt to use a Windows login name with SQL Authentication
7 = Login disabled and password mismatch
8 = Password mismatch
9 = Invalid password
11, 12 = Valid login but server access failure
13 = SQL Server service paused
18 = Change password required

Setelah itu, Google cara memperbaiki masalah tersebut.

DBA KERAJINAN
sumber
42
Bukan untuk membunyikan klakson saya sendiri, tetapi saya telah mengumpulkan banyak informasi lebih lanjut di sini: sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/…
Aaron Bertrand
Anda selalu memuji Anda ... Terima kasih atas suaranya? Tetapi daftar Anda tampaknya lebih lengkap! Saya pikir kebanyakan orang tidak tahu cara menggunakan Google.
CRAFTY DBA
1
Saya tergoda untuk memberikan suara, namun saya terkoyak karena menjawab pertanyaan yang dapat dijawab oleh Google hanya mendorong orang untuk terus bertanya di sini daripada mencari ...
Aaron Bertrand
13
99% pertanyaan di sini mungkin bisa dijawab oleh Google, namun pertanyaan dan jawaban sederhana yang sederhana menghemat banyak waktu pencarian dan menuangkan artikel / blog yang sering berlebihan, dan jadi satu suara dari saya!
Chris Nevill
12
DI SINI adalah di mana saya menemukan jawaban ketika saya menggunakan google (pencarian google SO lebih baik daripada pencarian SO SO ...)
Cos Callis
27

Sebelum membuka, klik kanan dan pilih 'Jalankan sebagai Administrator'. Ini memecahkan masalah bagi saya.

Gsic
sumber
1
ini adalah perbaikan untuk saya. Saya punya State: 1dalam pesan kesalahan.
GraehamF
@ Gsic Kau penyelamat sejati. Saya telah berjuang selama lebih dari satu hari dan solusi Anda menyelesaikannya. Terima kasih
Karthik
Sebelum membuka apa ??
Mike
11

pertama lihat rincian kesalahan jika "status" adalah "1" Pastikan database diatur untuk otentikasi SQL dan Windows di bawah SQL server / Properties / Security.

untuk negara lain lihat jawaban di atas ....

Ahmad Jahanbin
sumber
1
OMG terima kasih! Tidak ada login saya yang berfungsi, maka saya menemukan jawaban ini dan menemukan bahwa entah bagaimana contoh SQL Express saya diubah dari "otentikasi SQL dan Windows" menjadi "otentikasi Windows". Mengubahnya kembali dan semua berfungsi.
Ian Kemp
1
Selain itu, menutup SSMS tidak cukup, memulai kembali ke layanan SqlServer diperlukan agar perubahan dapat diterapkan.
Ravid Goldenberg
10

Saya telah menghadapi masalah ini.

Silakan lihat gambar terlampir,

Langkah 1: Buka properti server

Langkah 2: Pergi ke Keamanan

Langkah 3: Ubah otentikasi server sebagai SQL server dan mode WindowsAuthenication

dan restart server Sql Anda.

masukkan deskripsi gambar di sini

Neo Vijay
sumber
9
  1. Periksa apakah otentikasi mode campuran diaktifkan di properti Anda di server->
  2. Kemudian buat login di server-> keamanan
  3. buat pengguna untuk login itu di basis data Anda
  4. Kemudian restart server Anda dengan mengklik kanan instance dan pilih restart
Nagaraj Raveendran
sumber
5

Kebetulan saya, dan ternyata berbeda dari semua kasus lain yang tercantum di sini.

Saya kebetulan memiliki dua server virtual yang di-host di cluster yang sama, masing-masing dengan itu memiliki alamat IP. Tuan rumah mengkonfigurasi salah satu server menjadi SQL Server, dan yang lainnya menjadi server Web. Namun, SQL Server diinstal dan dijalankan pada keduanya. Tuan rumah lupa menyebutkan server mana yang merupakan SQL dan mana yang merupakan Web, jadi saya berasumsi yang pertama adalah Web, yang kedua adalah SQL.

Ketika saya terhubung ke (apa yang saya pikir) SQL Server dan mencoba untuk terhubung melalui SSMS, memilih Windows Authentication, saya mendapatkan kesalahan yang disebutkan dalam pertanyaan ini. Setelah menarik banyak rambut, saya membahas semua pengaturan, termasuk Konfigurasi Server SQL Server, Protokol untuk MSSQLSERVER:

tangkapan layar konfigurasi TCP / IP

Mengklik ganda TCP / IP memberi saya ini:

Properti TCP / IP, menunjukkan alamat IP yang salah

Alamat IP berasal dari server virtual lainnya! Ini akhirnya membuat saya sadar bahwa saya hanya bingung antara server, dan semua bekerja dengan baik pada server kedua.

Shadow Wizard adalah Telinga Untuk Anda
sumber
4

Jika Anda mengubah kredensial pengguna login atau menambah pengguna login baru maka setelah Anda perlu login maka Anda harus me-restart Layanan SQL Server. untuk itu

PERGI ke -> Layanan baris warna abu-abu

Lalu pergi ke SQL Server (MSSQLSERVER) dan berhenti dan mulai lagi

Sekarang cobalah masuk, semoga Anda bisa.

Terima kasih

dush88c
sumber
3

18456 Daftar Status Kesalahan

DESCRIPTION ERROR STATE ERROR

  • Status 2 dan Status 5 Userid tidak valid
  • Negara 6 Mencoba menggunakan nama login Windows dengan SQL Authentication
  • Status 7 Login dinonaktifkan dan ketidakcocokan kata sandi
  • Nyatakan ketidakcocokan kata sandi 8
  • Status 9 Kata sandi tidak valid
  • Status 11 dan Status 12 Login valid tetapi gagal mengakses server
  • Status 13 Layanan SQL Server dijeda
  • Status 18 Mengubah kata sandi yang diperlukan

Penyebab potensial Di bawah ini adalah daftar alasan dan beberapa penjelasan singkat apa yang harus dilakukan:

Otentikasi SQL tidak diaktifkan : Jika Anda menggunakan SQL Login untuk pertama kali pada contoh SQL Server daripada yang sering terjadi kesalahan 18456 karena server mungkin diatur dalam mode Otentikasi Windows (hanya).

Bagaimana cara memperbaikinya ? Periksa halaman SQL Server dan Mode Otentikasi Windows ini.

UserID tidak valid: SQL Server tidak dapat menemukan UserID yang ditentukan di server yang Anda coba dapatkan. Penyebab paling umum adalah bahwa userID ini belum diberikan akses di server tetapi ini bisa juga salah ketik sederhana atau Anda secara tidak sengaja mencoba terhubung ke server yang berbeda (Khas jika Anda menggunakan lebih dari satu server)

Kata sandi salah : Kata sandi salah atau hanya salah ketik. Ingatlah bahwa nama pengguna ini dapat memiliki kata sandi yang berbeda di server yang berbeda.

kesalahan yang kurang umum: UserID mungkin dinonaktifkan di server. Login Windows disediakan untuk Otentikasi SQL (ubah ke Otentikasi Windows. Jika Anda menggunakan SSMS, Anda mungkin harus menjalankan sebagai pengguna lain untuk menggunakan opsi ini). Kata sandi mungkin telah kedaluwarsa dan mungkin beberapa alasan lain .... Jika Anda tahu ada yang lain, beri tahu saya.

18456 pernyataan status 1: Biasanya Microsoft SQL Server akan memberi Anda status kesalahan 1 yang sebenarnya tidak berarti apa pun selain bahwa Anda memiliki kesalahan 18456. Status 1 digunakan untuk menyembunyikan kondisi aktual untuk melindungi sistem, yang menurut saya masuk akal. Di bawah ini adalah daftar dengan semua negara yang berbeda dan untuk informasi lebih lanjut tentang mengambil keadaan akurat kunjungi Memahami "kesalahan login" (Kesalahan 18456) pesan kesalahan di SQL Server 2005

Semoga itu bisa membantu

mohammad ha
sumber
2

Klik kanan Pengguna, buka properti, ubah database default menjadi master. Ini adalah layar cetak gambar yang menunjukkan apa yang harus Anda periksa jika Anda memiliki kesalahan 19456. Terkadang default ke database yang pengguna tidak memiliki izin

Safari Devs
sumber
2

Pertama pergi ke bar mulai kemudian mencari layanan lokal Kemudian klik "lihat layanan lokal" Kemudian akan membuka jendela layanan kemudian pergi ke SQL Server (MSSQLSERVER) klik kanan padanya dan klik berhenti dan kemudian lagi klik kanan di atasnya dan klik mulai. Sekarang Anda dapat masuk dan meletakkan nama pengguna Anda sebagai 'sa' dan kata sandi adalah kata sandi Anda.

Nilachal Sethi
sumber
1

Silakan periksa untuk melihat apakah Anda terhubung ke jaringan jika ini adalah PC anggota domain. Juga, pastikan Anda tidak menggunakan PC rumahan ganda karena rute Anda mungkin salah karena metrik jaringan. Saya mengalami masalah ini ketika saya tidak bisa terhubung ke domain otentikasi SQL windows beralih ke akun PC lokal tetapi terdaftar sebagai otentikasi SQL. Setelah saya menonaktifkan adaptor nirkabel saya dan reboot, integrasi Windows beralih kembali ke akun domain dan dikonfirmasi baik-baik saja. Saya sudah menyiapkan mode Campuran seperti yang telah Anda lakukan juga sehingga posting sebelumnya tidak berlaku.

Tim Robinson
sumber
1

Bagi saya, itu salah login dan kata sandi.

JerryGoyal
sumber
0

Saya percaya ini bisa terjadi jika Anda mencoba masuk dengan pengguna yang didefinisikan dalam Active Directory, tetapi coba gunakan "SQL Server Authentication" di layar masuk. Saya tidak tahu bagaimana menentukan pengguna yang berbeda dengan Otentikasi NTLM / Windows: Ketika saya mengklik dropdown Otentikasi Windows, nama pengguna dan kata sandi dihapus, dan saya hanya bisa masuk seperti saya sendiri.

stolsvik
sumber
0

Dalam kasus saya, beberapa upaya salah mengunci akun. Untuk itu saya mencoba menjalankan kueri di bawah ini dan ternyata berhasil: ALTER LOGIN WITH PASSWORD = UNLOCK Dan pastikan untuk mengatur opsi "Enforce Password Security" pilihan untuk pengguna tertentu untuk tidak dicentang oleh klik kanan pada Sql Server -> Properties.

Tanay Khede
sumber
0

Pemecahan masalah koneksi SQL Server

Jika Anda tidak dapat terhubung dengan SQL Authentication dan Anda sudah mencoba solusi lain.

Anda dapat mencoba yang berikut ini:

Periksa konektivitas

  • Nonaktifkan Firewall.
  • Jalankan PortQry pada 1434 dan periksa jawabannya.

Periksa negara

  • Cobalah untuk terhubung dengan SSMS atau sqlcmd dan periksa pesannya.
  • Status 1 jarang didokumentasikan tetapi hanya berarti Anda tidak memiliki hak untuk mengetahui kondisi sebenarnya.
  • Lihatlah file log di direktori SQL server untuk mengetahui apa keadaannya.

Negara 5

Apa ? info masuk saya tidak ada? itu ada di sana, saya bisa melihatnya di SSMS. Bagaimana bisa ?

Penjelasan yang paling mungkin adalah yang paling tepat.

Status login

  • Hancurkan, buat ulang, aktifkan.
  • atur ulang kata sandi.

Atau...

"Anda tidak melihat tempat yang tepat" atau "apa yang Anda lihat bukanlah apa yang Anda pikirkan".

Konflik DB dan SQLEXPRESS Lokal

Jika Anda terhubung dengan SSMS dengan otentikasi Windows, dan instance Anda bernama SQLEXPRESS, Anda mungkin melihat LocalDb dan bukan server yang tepat . Jadi, Anda baru saja membuat login Anda di LocalDb.

Ketika Anda terhubung melalui otentikasi SQL Server dengan SSMS, itu akan mencoba untuk terhubung ke server nyata SQLEXPRESS di mana login tercinta Anda belum ada.

Catatan tambahan: Periksa di tab parameter koneksi jika Anda tidak lupa beberapa string koneksi aneh di sana.

Hebat
sumber
0

Saya telah menghadapi masalah yang sama. Anda harus mengaktifkan Otentikasi Mode Campuran terlebih dahulu. Untuk detail lebih lanjut Cara mengaktifkan Otentikasi Mode Campuran

pengguna3603622
sumber
Meskipun tautan dapat memiliki jawabannya, harap edit jawaban Anda dan berikan rincian lebih lanjut atau Anda berisiko memilih negatif
Tae
0

Solusi lain yang berhasil untuk saya. serever->security->logins->new logins->General->buat nama pengguna Anda sebagai nama login, Klik sql server autentikasi tambah kata sandi

hapus centang pada kotak centang verifikasi kata sandi tiga. Ini akan bekerja

Ingatlah untuk mengubah properti server -> Keamanan dari Server authenticationmenjadiSQL Server and Windows Authentication mode

chamzz.dot
sumber
0

Anda dapat melakukannya di linux untuk mssql mengubah kata sandi untuk akun sa

pengaturan sudo / opt / mssql / bin / mssql-conf

The license terms for this product can be downloaded from
 http://go.microsoft.com/fwlink/?LinkId=746388 Jump Jump
and found in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? [Yes/No]:yes
  Setting up Microsoft SQL Server
Enter the new SQL Server system administrator password:  --Enter strong password
Confirm the new SQL Server system administrator password: --Enter strong password
 starting Microsoft SQL Server...
 Enabling Microsoft SQL Server to run at boot...
Setup completed successfully.
arnav
sumber
0

Saya mendapatkan kesalahan ini setelah membuat pengguna sysadmin baru di bawah contoh SQL saya. Pengguna admin saya dibuat di bawah domain spesifik MyOrganization / useradmin

Menggunakan useradmin pada lingkungan terputus memungkinkan Anda untuk membuat pengguna lain menggunakan otentikasi SQL Server, tetapi segera setelah Anda mencoba masuk Anda mendapatkan

Kesalahan Microsoft SQL Server: 18456

Untuk memperbaiki masalah, coba sambungkan lagi ke jaringan Organisasi Anda dan buat pengguna saat Anda terhubung dan kemudian Anda bisa terputus dan akan berfungsi.

Zinov
sumber