Tôi biết đây gần như là bản sao của: Lỗi "Đăng nhập không thành công cho người dùng 'NT AUTHORITY \ IUSR'" trong ASP.NET và SQL Server 2008 và Đăng nhập không thành công cho 'tên người dùng' của người dùng - System.Data.SqlClient.SqlException với LINQ trong thư viện dự án / lớp bên ngoài nhưng một số thứ không bổ sung so với các thiết bị khác trên máy chủ của tôi và tôi không chắc tại sao.
Hộp đang được sử dụng:
Hộp
kiểm tra SQL Hộp Web Hộp
SQL
Ứng dụng của tôi:
Tôi có một Ứng dụng Web ASP.NET, tham chiếu đến một thư viện lớp sử dụng LINQ-to-SQL. Chuỗi kết nối được thiết lập đúng cách trong thư viện lớp. Theo Đăng nhập không thành công đối với 'tên người dùng' của người dùng - System.Data.SqlClient.SqlException với LINQ trong thư viện lớp / dự án bên ngoài Tôi cũng đã thêm chuỗi kết nối này vào Ứng dụng web.
Chuỗi kết nối sử dụng thông tin xác thực SQL như vậy (trong cả ứng dụng web và thư viện lớp):
<add name="Namespace.My.MySettings.ConnectionStringProduction"
connectionString="Data Source=(SQL Test Box);Initial Catalog=(db name);Persist Security Info=True;User ID=ID;Password=Password"
providerName="System.Data.SqlClient" />
Kết nối này được xác nhận là đang hoạt động thông qua việc thêm nó vào Server Explorer. Đây là chuỗi kết nối mà tệp .dbml của tôi đang sử dụng.
Vấn đề:
Tôi nhận được lỗi sau đây:
System.Data.SqlClient.SqlException: Login failed for user 'DOMAIN\MACHINENAME$'.
Bây giờ tham chiếu đến lỗi này . Lỗi "Đăng nhập không thành công cho người dùng 'NT AUTHORITY \ IUSR'" trong ASP.NET và SQL Server 2008, nó cho biết đó thực sự là dịch vụ mạng cục bộ và việc sử dụng bất kỳ tên miền nào khác sẽ không hoạt động.
Nhưng tôi bối rối vì tôi đã kiểm tra cả Hộp SQL và Hộp kiểm tra SQL SQL Management Studio và cả hai đều có NT AUTHORITY/NETWORK SERVICE
trong Bảo mật -> Đăng nhập, ở cấp cơ sở dữ liệu, không được liệt kê trong Bảo mật -> Người dùng, nhưng ở cấp cơ sở dữ liệu Bảo mật. -> Người dùng Tôi có người dùng được hiển thị trong chuỗi kết nối.
Ở cấp độ NTFS trên máy chủ web, các quyền có DỊCH VỤ MẠNG có toàn quyền kiểm soát.
Lý do khiến tôi bối rối là vì tôi có nhiều ứng dụng web khác trên Máy chủ Web của mình, cơ sở dữ liệu tham chiếu trên cả SQL Box và SQL Test Box, và tất cả chúng đều hoạt động. Nhưng tôi không thể tìm thấy sự khác biệt giữa chúng và ứng dụng hiện tại của mình, ngoài việc tôi đang sử dụng thư viện lớp. Điều đó sẽ quan trọng? Kiểm tra quyền NTFS, thiết lập Đăng nhập bảo mật ở cấp máy chủ và cơ sở dữ liệu, chuỗi kết nối và phương thức kết nối (thông tin xác thực SQL Server), nhóm ứng dụng IIS và các tùy chọn thư mục khác, tất cả đều giống nhau.
Tại sao các ứng dụng này hoạt động mà không thêm tên máy $ vào quyền của một trong các hộp SQL của tôi? Nhưng đó là những gì mà một liên kết đang yêu cầu tôi làm để khắc phục sự cố này.