SQL Server 2008 không thể đăng nhập với người dùng mới được tạo


200

Tôi đang sử dụng Windows Vista và tôi gặp sự cố khi đăng nhập với người dùng mới được tạo.

  1. Tôi mở SQL Server Management Studio.
  2. Tôi tạo Đăng nhập mới bằng cách nhấp chuột phải vào Bảo mật-> Đăng nhập.
    Kiểm tra: Xác thực máy chủ SQL
    Tên đăng nhập: người kiểm tra
    Mật khẩu: kiểm tra
    Nhấp vào OK
  3. Tôi đã thêm người dùng này vào Bản đồ người dùng vào cơ sở dữ liệu mà tôi chọn.
  4. Bấm vào Tệp -> Kết nối Object Explorer, chọn Xác thực Máy chủ SQL và nhập trình kiểm tra / kiểm tra và bấm Kết nối.

Tôi gặp lỗi:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.

Điều gì gây ra lỗi này và làm cách nào để tôi đăng nhập với người dùng của mình?

Câu trả lời:


480

SQL Server không được cấu hình để cho phép xác thực hỗn hợp.

Dưới đây là các bước để khắc phục:

  1. Nhấp chuột phải vào phiên bản SQL Server tại thư mục gốc của Object Explorer, nhấp vào Thuộc tính
  2. Chọn Bảo mật từ khung bên trái.
  3. Chọn nút radio Chế độ SQL Server và Windows xác thực và bấm OK.

    nhập mô tả hình ảnh ở đây

  4. Nhấp chuột phải vào phiên bản SQL Server, chọn Khởi động lại (cách khác, mở Dịch vụ và khởi động lại dịch vụ SQL Server).

Điều này cũng cực kỳ hữu ích cho người dùng Kết nối của IBM, các trình hướng dẫn của tôi không thể kết nối cho đến khi tôi thực hiện cài đặt này.


8
Tôi nghĩ nó tốt bởi vì nó cho phép những người trả lời tiềm năng biết rằng vấn đề đã được giải quyết. Nó cũng đóng góp cho một bộ tài liệu ngày càng tăng mà các nhà phát triển khác có thể sử dụng để tìm câu trả lời của riêng họ trong tương lai.

4
Nó chắc chắn không phải là xấu để trả lời câu hỏi của riêng bạn. Thậm chí nhiều năm sau khi dữ liệu câu trả lời của bạn hữu ích cho tôi!
johanvdw

4
Tôi đã từng gặp vấn đề tương tự. Đã tìm kiếm một giải pháp trong nhiều giờ. Đã thử mọi cách tôi có thể giải quyết nhưng không được. Sau đó tôi thấy bài này. Tôi nghĩ khởi động lại dịch vụ là điều mà tôi chưa thử. Vì vậy, tôi đã khởi động lại dịch vụ và nó hoạt động! Sau đó, tôi đăng nhập chỉ để nói ... CẢM ƠN BẠN
Trả lời_42

16
Đổ lỗi nên được thông báo lỗi vô lý. Nếu nó nói điều gì đó như "Không thể đăng nhập. Xác thực máy chủ SQL không được phép. Máy chủ được cấu hình để chỉ cho phép Xác thực Windows. Vui lòng liên hệ ..." nó sẽ giúp bạn tiết kiệm rất nhiều đau đớn.
rpattabi

5
@Tony Thú vị. Cảm ơn. Tuy nhiên, tôi không tin rằng bảo mật là lý do hợp lệ để cản trở khả năng sử dụng. Có thể có một cái gì đó trong tin nhắn để chỉ người dùng đến giải quyết vấn đề.
rpattabi

14

Nếu bạn chưa khởi động lại máy chủ cơ sở dữ liệu SQL của mình sau khi bạn thay đổi đăng nhập, thì hãy đảm bảo bạn làm điều đó. Start-> Programs-> Microsoft SQL Server-> Configuration tools-> SQL Server configuration manager-> Restart Server.

Có vẻ như bạn chỉ thêm người dùng vào máy chủ. Bạn cũng cần thêm chúng vào cơ sở dữ liệu. Mở cơ sở dữ liệu / Bảo mật / Người dùng / Thêm người dùng mới hoặc mở máy chủ / Bảo mật / Đăng nhập / Thuộc tính / Ánh xạ người dùng.


Cảm ơn bạn đã chú ý .. Tôi quên đề cập rằng tôi đã chỉnh sửa Bản đồ người dùng để thực hiện việc này.
Travis Heseman

Tôi biết chủ đề cũ, nhưng tôi phải thêm Đăng nhập mới vào máy chủ trước khi tôi có thể thêm Người dùng mới vào Cơ sở dữ liệu. Máy chủ> Bảo mật> Đăng nhập> Nhấp chuột phải, Máy chủ đăng nhập mới> Cơ sở dữ liệu> Chọn Cơ sở dữ liệu> Bảo mật> Người dùng> Nhấp chuột phải, Người dùng mới.
red_dorian

2

Bạn có thể cần kiểm tra nhật ký lỗi Máy chủ SQL để xác định trạng thái thực tế (nó không được báo cáo cho khách hàng vì lý do bảo mật.) Xem tại đây để biết chi tiết.


Cảm ơn .. Tôi đã đến trang đó. Lưu ý rằng nó không đề cập đến ý nghĩa của Bang = 1. Grr ... nhưng giờ tôi ổn rồi.
Travis Heseman

Như trang giải thích, Trạng thái đăng nhập vào nhật ký lỗi Máy chủ SQL của bạn sẽ khác với trạng thái được báo cáo cho người dùng.
GuyBehindtheGuy

1

Đăng nhập vào máy chủ với tư cách quản trị viên

Đi đến Bảo mật> Đăng nhập> Đăng nhập mới

Bước 1:

Login Name : SomeName

Bước 2:

Select  SQL Server / Windows Authentication.

Thông tin thêm về, sự khác biệt giữa xác thực máy chủ sql và xác thực windows .. là gì?

Chọn DB và ngôn ngữ mặc định bạn chọn

Nhấn vào OK

Hãy thử kết nối với Thông tin người dùng mới, Nó sẽ nhắc bạn thay đổi mật khẩu. Thay đổi và đăng nhập

HOẶC LÀ

Thử với truy vấn:

USE [master] -- Default DB
GO

CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

--123456 is the Password And Username is Login User 
ALTER LOGIN [Username] enable -- Enable or to Disable User
GO
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.