Menggunakan Sql Studio Express (pada mesin Windows 7-64) untuk terhubung ke tiga server Sql Server 2005 yang berbeda menggunakan Sql Server Authentication, saya mendapatkan Galat: 1846, Negara: 8. Menurut http://blogs.msdn.com /b/sql_protocols/archive/2006/02/21/536201.aspx , ini pasti ketidakcocokan kata sandi.
Namun, ketika saya menggunakan nama pengguna dan kata sandi yang sama dari SQLCMD dan dari klien berbasis jdbc seperti Squirrel, itu berfungsi dengan baik untuk terhubung ke ketiga server. Saya juga bisa masuk ke mereka dari mesin XP dengan Sql Studio Express menggunakan nama pengguna dan kata sandi yang sama. Dan tentu saja, saya telah memeriksa empat kali lipat semua hal normal seperti topi saya tidak aktif, saya tidak mengatur dengan keyboard bahasa alternatif, saya benar-benar mengetik hal yang sama persis di kedua kasus, dll.
Lagi pula, mengapa saya mungkin mendapatkan kesalahan ketidakcocokan kata sandi ketika kata sandi itu benar? Mungkinkah ada hubungannya dengan versi MDAC yang berbeda pada mesin, dan jika demikian, apakah ada cara untuk mengembalikan Windows 7 kembali ke versi MDAC yang lebih lama?
sumber
Jawaban:
Saya akan mencoba hal-hal berikut dalam urutan kesulitan ini:
Sebelum apa pun, saya akan mencoba alamat IP 10.19.190.x dengan nama instance: 10.19.190.x \ instance_name, juga dengan nama server. Saya menduga ini mungkin masalah protokol (lebih lanjut tentang ini di bawah), dan ini dapat mengubah cara mencoba untuk terhubung.
Kedua, itu bisa saja bug, tetapi karena beberapa memotong dan menempel, itu mungkin hanya karakter tersembunyi. Saya telah melihat pekerjaan ini untuk beberapa orang di posting: Setelah Anda memasukkan kata sandi, pindahkan kursor kembali ke awal kotak login, dan tekan enter / connect. Apakah Anda menyalin dan menempel pw?
Apakah ada firewall perangkat lunak yang menghalangi? Nonaktifkan sementara mereka karena mungkin ada port tambahan yang digunakan, yang diblokir.
Saya juga bertanya-tanya apakah satu (SQLCMD vs Studio) terhubung melalui TCP / IP, dan yang lainnya oleh Named Pipes, menyebabkan kegagalan keamanan untuk satu. Saya akan memeriksa Manajer Konfigurasi SQL (bukan Studio Manajemen) untuk memastikan semua protokol diaktifkan, dan melihat apa yang ditetapkan sebagai protokol yang disukai. Aktifkan NamedPipes dan TCP, dan atur Memori Bersama ke "diaktifkan". Saya sangat curiga. Lihatlah dokumen ini: http://groups.google.com/group/microsoft.public.inetserver.iis.security/browse_thread/thread/68c216b10e7fa70/69aacf4a582ec20c%2369aacf4a582ec20c?pli=1
Coba lepaskan kebijakan penegakan kata sandi di properti pengguna sa. Saya juga sangat curiga.
Coba jalankan perintah ini dari prompt:
Jika ada entri yang terkait dengan SQL, hapuslah. Coba tambahkan kredensial untuk SQL secara manual. Saya telah melihat banyak hal tentang Vista (jadi saya akan menganggap Windows 7 juga) menelanjangi token keamanan tertentu, dan saya bisa melihat ini dilewati pada baris perintah.
Saya juga akan mencoba mengatur ulang kata sandi sa dalam SQL, dan mengubahnya kembali. Kemudian jika akun sa sedang digunakan untuk memulai SQL Server, ubah kata sandi dalam layanan yang terkait dengan SQL Server, dan mulai kembali (saya mencoba menyinkronkannya agar sesuai). Terkait dengan ini adalah perintah-perintah ini:
Juga, sudahkah Anda mempertimbangkan mengonfigurasi audit masuk?
http://msdn.microsoft.com/en-us/library/ms175850.aspx
Jika tidak ada yang berhasil, akan sangat membantu untuk melihat format yang Anda gunakan untuk nama pengguna SQL untuk masuk ke SLQ Manager, dan string SQLCMD yang Anda gunakan. Tentu saja, ubah sesuatu yang spesifik, kecuali itu nama pengguna adalah "sa". Satu pertanyaan lagi: Satu lingkungan server SQL, atau multi?
Saya menemukan beberapa di sini, tetapi berhasil menemukan hanya hal-hal yang saya pikir relevan: http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx?PageIndex= 7 # komentar
sumber
Cobalah untuk menggunakan Command Prompt untuk mereset kata sandi Anda yang hilang. Saya telah menggunakannya untuk mereset kata sandi yang hilang dengan sukses pada SQL Server 2000/2005.
Ketik perintah ikuti, dan tekan Enter setelah setiap baris:
sumber
Tembakan panjang, tetapi Anda mungkin memeriksa kata sandi yang salah di-cache oleh Windows.
Dari Access Stored Nama Pengguna dan Kata Sandi dengan rundll32.exe :
Setelah itu, Anda harus keluar, lalu kembali.
sumber
Anda dapat mencoba mengambil media instalasi SQL Server Anda, dan menginstal SQL Management Studio yang tepat pada komputer Windows 7 Anda, dan melihat apakah itu bekerja lebih baik.
sumber