Mạo danh đăng nhập cục bộ không hoạt động với một máy chủ được liên kết


7

Tôi đã tạo một máy chủ được liên kết trên máy chủ của mình bằng cách sử dụng như sau:

exec sp_addlinkedserver
    @server=N'MyOldDB',
    @srvproduct=N'',
    @provider = N'SQLNCLI',
    @datasrc=N'MYSERVER',
    @catalog=N'TheDefaultDatabase';

Bây giờ, mặc dù mô tả sau đây về cách xác thực thông tin đăng nhập (từ MSDN):

Ánh xạ mặc định giữa tất cả các thông tin đăng nhập trên máy chủ cục bộ và thông tin đăng nhập từ xa trên máy chủ được liên kết sẽ tự động được tạo bằng cách thực hiện sp_addlinkedserver. Ánh xạ mặc định nói rằng SQL Server sử dụng thông tin đăng nhập của người dùng khi đăng nhập cục bộ khi kết nối với máy chủ được liên kết thay mặt cho đăng nhập. Điều này tương đương với việc thực thi sp_addlinkedsrvlogin với @useself được đặt thành true cho máy chủ được liên kết mà không chỉ định tên người dùng cục bộ.

Tôi nhận được lỗi sau:

Msg 18456, Level 14, State 1, Line 1
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

Khi tôi cố gắng làm điều này:

select top 10 * from MyOldDB.TheDefaultDatabase.dbo.Batches

Bất cứ ai có thể chỉ cho tôi đi đúng hướng ở đây?

Câu trả lời:


6

Lỗi bạn có không liên quan đến đăng nhập như vậy.

Điều này xảy ra khi SQL Server cố gắng "chuyển" mã thông báo đăng nhập NT đến máy chủ từ xa. Nó không có quyền truyền mã thông báo qua. Máy chủ từ xa tìm kiếm điều này vì các máy chủ cục bộ kết nối với Bảo mật tích hợp.

Bạn cần "Phân quyền tài khoản bảo mật" để được định cấu hình cho máy chủ cục bộ.

Đối với ánh xạ mặc định ...

Điều MSDN nói là nếu bạn có "MyDomain \ bob" cục bộ thì bạn có một mục "ảo" "được lưu trữ" cục bộ có tên là "MyDomain \ bob". Không có sự hòa giải của 2 máy chủ giữa 2 máy chủ. Điều này giống như chạy này:

EXEC sp_addlinkedsrvlogin 'MyLinkedServer', @useself = 'TRUE';

Lưu ý rằng "MyDomain \ Mygroup" không được ánh xạ: chỉ những người dùng NT và thông tin đăng nhập SQL rời rạc. Không phải nhóm NT.

Đây là tất cả được mô tả trong "Bảo mật cho máy chủ được liên kết"

Ánh xạ mặc định cho cấu hình máy chủ được liên kết là mô phỏng thông tin xác thực bảo mật hiện tại của thông tin đăng nhập. Loại ánh xạ này được gọi là tự ánh xạ. Khi một máy chủ được liên kết được thêm bằng cách sử dụng sp_addlinkbederver, tự ánh xạ mặc định sẽ được thêm cho tất cả các thông tin đăng nhập cục bộ. Nếu phân quyền tài khoản bảo mật khả dụng và máy chủ được liên kết hỗ trợ Xác thực Windows, tự ánh xạ cho các thông tin đăng nhập được xác thực của Windows sẽ được hỗ trợ.

...

Nếu phân quyền tài khoản bảo mật không khả dụng trên máy khách hoặc máy chủ gửi hoặc máy chủ / nhà cung cấp được liên kết không nhận ra Chế độ xác thực Windows, tự ánh xạ sẽ không hoạt động đối với thông tin đăng nhập sử dụng Xác thực Windows.

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.