Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Lỗi Windows

Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456

Bạn có thể gặp Lỗi SQL Server 18456 nếu server không thể xác thực kết nối, nguyên nhân có thể do tài khoản không có quyền admin đối với SQL Server hoặc giao thức TCP/IP bị tắt trong cài đặt SQL Server.

Vấn đề phát sinh khi người dùng cố gắng kết nối đến SQL Server (local hoặc remote) nhưng gặp lỗi 18456 (với các state khác nhau).

Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456

Bạn có thể khắc phục lỗi SQL Server 18456 bằng các giải pháp dưới đây nhưng trước đó, hãy kiểm tra xem khởi động lại server, máy client, và máy mạng có giải quyết được không. Hơn nữa, đảm bảo bạn nhập đúng tên người dùng và mật khẩu (không copy-paste địa chỉ).

Cũng hãy kiểm tra xem bạn có nhập đúng tên database không (không lỗi chính tả) và đảm bảo đã cập nhật file cấu hình tương ứng. Thêm vào đó, kiểm tra xem mở khóa tài khoản (bằng truy vấn ALTER LOGIN WITH PASSWORD= UNLOCK) có khắc phục được không. Nếu thấy lỗi trong SQL error log, hãy đảm bảo SQL server không bị tấn công. Cuối cùng, đảm bảo đồng hồ của server và máy client được đặt đúng.

Chạy SQL Server với quyền Admin và tắt UAC trên Server

Bạn có thể gặp lỗi 18456 nếu SQL Server không có quyền nâng cao để thực thi thao tác và chạy nó với quyền admin (hoặc tắt UAC trên server) có thể khắc phục.

Mở SQL Server với quyền Administrator

  1. Nhấn Windows và gõ SQL Server Management Studio.
  2. Bây giờ nhấp chuột phải vào SMSS và chọn Run as Administrator.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  3. Sau đó nhấp Yes (nếu có lời nhắc UAC) và kiểm tra xem SQL Server đã khắc phục lỗi 18456 chưa.
  4. Nếu chưa, hãy kiểm tra xem tắt UAC trên máy server có khắc phục được không.

Chạy SQL Server ở chế độ Single User (Người dùng đơn)

  1. Nhấn Windows, gõ và mở SQL Server Configuration Manager.
  2. Bây giờ nhấp chuột phải vào dịch vụ SQL Server (trong tab SQL Server Services) và chọn Properties (Thuộc tính).Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  3. Chuyển đến tab Startup Parameters (Tham số khởi động) và trong hộp Specify a Startup Parameter, gõ:
    -m
  4. Nhấp Add (Thêm) và apply (Áp dụng) thay đổi.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  5. Sau đó nhấp chuột phải vào dịch vụ SQL Server và chọn Restart (Khởi động lại).Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  6. Nhấn Windows, gõ: SQL Server Management Studio, nhấp chuột phải vào SMSS, chọn Run as Administrator.
  7. Bây giờ kiểm tra xem bạn có thể kết nối đến SQL Server với quyền admin không.
  8. Nếu được, thì thêm tài khoản domain vào SQL Server và gán vai trò SysAdmin.
  9. Quay lại cửa sổ SQL Server Configuration Manager và xóa tham số -m trong tab Startup Parameters.
  10. Sau đó khởi động lại dịch vụ SQL Server (bước 3) và kiểm tra xem SQL Server hoạt động bình thường chưa.

Nếu sự cố vẫn tồn tại, hãy kiểm tra xem tham số khởi động hoặc chi tiết đường dẫn có được cấu hình đúng không. Nếu vẫn lỗi, đảm bảo tài khoản người dùng có quyền cần thiết đối với database/dịch vụ báo cáo, rồi kiểm tra xem sự cố đã khắc phục chưa.

Bật giao thức TCP/IP trong Server Configuration Manager

Mã lỗi 18456 trong SQL Server có nghĩa là server không thể xác thực kết nối, điều này có thể xảy ra nếu giao thức TCP/IP (cần thiết để truy cập database trên mạng) bị tắt trong Server Configuration Manager. Trong bối cảnh này, bật TCP/IP trong SQL Server Configuration Manager có thể khắc phục.

  1. Nhấn Windows và mở rộng Microsoft SQL Server kèm năm như 2008 (có thể cần cuộn để tìm tùy chọn).
  2. Mở SQL Server Configuration Manager và nhấp Yes (nếu có lời nhắc UAC).
  3. Mở rộng SQL Server Network Configuration và chọn Protocols cho (tên server/database) ở bảng bên trái.
  4. Ở bảng bên phải, double-click vào TCP/IP và chọn Yes trong dropdown Enabled.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  5. Sau đó apply thay đổi và nhấn Windows.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  6. Gõ Services, nhấp chuột phải vào kết quả Services, chọn Run as Administrator.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  7. Nhấp chuột phải vào SQL Server (có tên server) và chọn Restart.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  8. Bây giờ kiểm tra xem SQL Server đã khắc phục lỗi 18456 chưa.

Nếu cách đó không hiệu quả, hãy đảm bảo bạn kết nối đến cổng (port) đúng của SQL Server (đặc biệt nếu dùng server trong môi trường multi-server).

Thay đổi chế độ xác thực của SQL Server

SQL Server có thể báo lỗi 18456 nếu phương thức xác thực không được cấu hình đúng (ví dụ: bạn đăng nhập bằng SQL Server authentication nhưng server được cấu hình dùng Windows authentication). Trong trường hợp này, thay đổi phương thức xác thực có thể khắc phục. Trước khi tiến hành, đảm bảo trạng thái login cho user hiện tại (ví dụ SA) đang enabled (kích hoạt).

  1. Trong Object Explorer của Microsoft SQL Server Management Studio, nhấp chuột phải vào server của bạn và chọn Properties.
  2. Ở bảng bên trái, chọn Security, ở bảng bên phải chọn SQL Server and Windows Authentication (hoặc ngược lại).Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  3. Sau đó apply thay đổi và trong Object Explorer, nhấp chuột phải vào server.
  4. Chọn Restart và sau khi restart, kiểm tra xem bạn có thể kết nối database không bị lỗi 18456.

Nếu không đăng nhập được SQL, bạn có thể cài MS Power Tools và chạy lệnh sau trong command prompt quyền cao:

psexec.exe -i -s ssms.exe

Sau đó, bạn có thể dùng tài khoản cài đặt SQL để thực hiện thay đổi và cũng đảm bảo tài khoản SA không bị disabled:

Kích hoạt tài khoản SA và đặt lại mật khẩu tài khoản

Nếu không kết nối được SQL Server, việc kích hoạt tài khoản SA của SQL Server và đặt lại mật khẩu có thể khắc phục.

  1. Khởi chạy Microsoft SQL Server Management Studio (có thể phải dùng tài khoản domain admin) và mở rộng Security.
  2. Sau đó double-click vào Logins và mở SA.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  3. Nhập mật khẩu mới và xác nhận mật khẩu (đảm bảo dùng mật khẩu mạnh).
  4. Chuyển đến tab Server Roles và đảm bảo các vai trò sau được chọn:
    Public Sysadmin
    Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  5. Chuyển đến tab Status và ở bảng bên phải, chọn Enabled (trong Login).Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  6. Sau đó apply thay đổi và nhấp nút Windows.
  7. Gõ Services và nhấp chuột phải vào nó.
  8. Chọn Run as Administrator và điều hướng đến dịch vụ SQL Server.
  9. Bây giờ nhấp chuột phải vào nó và chọn Restart.
  10. Sau khi dịch vụ restart, kiểm tra xem lỗi 18456 của SQL Server đã khắc phục chưa.

Tạo Login mới và khởi động lại Reporting Services

Nếu không dùng tài khoản nào để kết nối database, việc tạo login mới và restart reporting services có thể khắc phục.

  1. Khởi chạy Microsoft SQL Server Management Studio và mở rộng tab Security.
  2. Mở rộng Logins và nhấp chuột phải vào nó.
  3. Chọn New Login và nhập thông tin đăng nhập (trong login name chọn computer account) nếu dùng SQL Server Authentication.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  4. Đảm bảo bỏ tích “User Must Change Password at Next Login” và chọn database.
  5. Chuyển đến tab Server Roles và chọn vai trò Public.
  6. Sau đó, ở tab User Mapping, đảm bảo chọn database và chọn db_owner.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  7. Bây giờ apply thay đổi và nhấp Windows.
  8. Gõ Services và nhấp chuột phải vào kết quả Services. Chọn Run as Administrator.
  9. Bây giờ nhấp chuột phải vào SQL Server Reporting Service và chọn Restart.Cách khắc phục lỗi đăng nhập Microsoft SQL Server Error: 18456
  10. Sau đó kết nối lại đến database và kiểm tra xem SQL Server đã khắc phục lỗi 18456 chưa.

Nếu thành công, hãy đảm bảo bạn đã tạo user trong BUILTIN\administrators, sau đó bạn có thể dùng user đó để quản lý SQL Server. Nếu bạn đã restore database từ backup, tốt hơn nên xóa và thêm lại user để dọn dẹp các entry user cũ. Nếu muốn chạy SQL server với user khác, gõ Microsoft SQL Server trong Windows Search, Shift+Right-click vào SQL Server, chọn Run as a Different User. Cuối cùng, kiểm tra xem dùng Azure Data Studio với SQL server có khắc phục được không.