SQL Server 2012 Không thể đăng nhập bằng tài khoản máy


11

Chúng tôi đang di chuyển một trang web IIS / SQL Server từ 2008 đến 2012 và tôi gặp vấn đề với xác thực. Chúng tôi sử dụng Windows xác thực để xác thực DOMAIN\COMPUTER$, nhưng điều này không hoạt động, gây ra lỗi:

Đăng nhập thất bại cho người dùng 'DOMAIN \ COMPUTER $'. Lý do: Không thể tìm thấy thông tin đăng nhập khớp với tên được cung cấp. [KHÁCH HÀNG: <máy cục bộ>]

Tôi đã xác minh rằng tài khoản tồn tại, thậm chí đã xóa và tạo lại nó

create login "DOMAIN\COMPUTER$" from windows

Nếu tôi làm lại, tôi nhận được phản hồi:

Msg 15025, Cấp 16, Trạng thái 2, Dòng 1
Hiệu trưởng máy chủ 'DOMAIN \ COMPUTER $' đã tồn tại.

( DOMAIN\COMPUTERđược thay thế cho tên miền thực và tên máy tính)

Vì vậy, có vẻ như trang web đang truy vấn SQL Server, nhưng SQL Server không nhìn vào thông tin đăng nhập của nó rất khó khăn.

Tôi đã bỏ lỡ những gì?

Câu trả lời:


6

Rất có thể đó không phải là DOMAIN \ computer $. Thông điệp này được biết là một sự hiểu lầm. Tôi nghĩ tất cả những gì nó muốn là "NT AUTHORITY \ NETWORK DỊCH VỤ" được cấp quyền truy cập máy chủ. Mở thuộc tính đăng nhập SQL Server và thêm tài khoản này. Ngoài ra, hãy kiểm tra xem người dùng nào được sử dụng trong IIS để mạo danh người dùng ẩn danh, đó phải là một cái gì đó như "IUSR_ServerName". Cấp quyền truy cập cho người dùng này là tốt


1
"NT AUTHORITY \ NETWORK DỊCH VỤ" đã có quyền truy cập máy chủ. IIS đang mạo danh là "IUSR" (không có _ServerName). Theo như tôi biết thì đây không phải là tài khoản thật - và tôi không thể cấp quyền truy cập vào "DOMAIN \ IUSR" hoặc "DOMAIN \ IUSR" vì những tài khoản này không tồn tại.
alt

Điều này làm việc cho tôi cho một dịch vụ Windows
user919426

Sau khi chiến đấu với một buổi sáng dài với Trình hướng dẫn cơ sở dữ liệu sao chép và Trình hướng dẫn xuất nhập khẩu SQL, đây là câu trả lời duy nhất khiến nó hoạt động. Cảm ơn!
Zalakain

6

Cả @cha và @alt đều có manh mối đúng - thông báo lỗi là sai lệch và Application Pool Identity có liên quan (tốt nhất là trong trường hợp của tôi).

Nếu nhóm ứng dụng IIS của bạn sử dụng Application Pool Identity, tài khoản người dùng bạn cần thêm vào SQL Server là IIS APPPOOL\your_app_pool_name. Lưu ý: không sử dụng Search...nút trong Thuộc tính đăng nhập để tìm người dùng này - nó sẽ tìm thấy nó, nhưng sẽ thay thế nó bằng MACHINE_NAME\your_app_pool_nametên không hoạt động - chỉ cần nhập IIS APPPOOL\your_app_pool_namelàm tên đăng nhập.


1
Nó chỉ hoạt động khi máy chủ web và máy chủ sql của bạn ở trong cùng một hộp.
maxisam

1
Chắc chắn, tài khoản nhận dạng nhóm ứng dụng là cục bộ của máy AFAIK, vì vậy bạn không thể sử dụng chúng trên các máy khác. Chỉ cần sử dụng xác thực Máy chủ SQL trong trường hợp đó hoặc chạy ứng dụng web trên tài khoản miền.
Jakub Januszkiewicz

2

Vấn đề này nên được xử lý khác nhau tùy thuộc vào thiết lập máy chủ.

  1. Máy chủ SQL và IIS trên cùng một máy.

    a. thay đổi danh tính nhóm ứng dụng thànhNetwork Service

    b. thêm NT AUTHORITY\NETWORK SERVICEvào đăng nhập máy chủ SQL của bạn

  2. Máy chủ SQL và IIS nằm trên máy khác nhau.

    a. thêm tài khoản máy,DOMAIN\computer-name$ , để đăng nhập máy chủ SQL của bạn.

    b. Danh tính nhóm ứng dụng vẫn cònApplication Pool Identity


1

Tôi đã quản lý để làm cho nó hoạt động bằng cách thay đổi trang web trong IIS để sử dụng Application Pool Identity, sau đó thay đổi Danh tính nhóm ứng dụng thành Network Service. Hãy bình luận về bất kỳ vấn đề bảo mật nào có thể nêu ra.


Tại sao không sử dụng một người dùng tên miền cho nhóm ứng dụng khi bạn có AD tại chỗ hoặc thậm chí tốt hơn một tài khoản dịch vụ được quản lý?
Sporri

0

Tôi đã nhận được cùng một lỗi. Lỗi đăng nhập: 18456, Mức độ nghiêm trọng: 14, Trạng thái: 5. Vô hiệu hóa CEIP khỏi SQL Server Lỗi và Báo cáo sử dụng đã giải quyết vấn đề cho tôi.


1
Bạn có thể giải thích một chút về câu trả lời của bạn không? Bạn có thể trích dẫn bất kỳ tài nguyên có liên quan? Câu trả lời của bạn xuất hiện dưới dạng Chất lượng thấp vì độ dài và nội dung của nó và có thể bị xóa vì điều đó.
John aka hot2use
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.