2011-08-04 34 views
13

Tôi cần kết nối với phiên bản SQL Server 2008 trong miền Windows khác để quản lý nó. Chúng tôi chỉ sử dụng Xác thực Windows.Không thể kết nối với SQL Server trong miền khác nhau bằng SSMS và Trình quản lý thông tin xác thực Windows 7

Trong Windows XP, tôi có thể sử dụng tính năng "Quản lý mật khẩu mạng" để lưu trữ trên máy cục bộ tên người dùng và mật khẩu của tôi cho máy từ xa. Làm như vậy sẽ khiến SQL Server Management Studio sử dụng các thông tin xác thực đó thay vì thông tin đăng nhập cục bộ của tôi khi kết nối với máy chủ đó. Điều này làm việc tuyệt vời và ngăn tôi phải nhập tên người dùng hoặc mật khẩu mỗi khi tôi kết nối với SSMS.

Nhưng, Holy Cow, sau khi nâng cấp lên Windows 7, tôi không thể thực hiện việc này nữa. Thêm thông tin đăng nhập miền từ xa của tôi trong Trình quản lý thông tin xác thực không thể tạo ra hành vi mong muốn. SMSS 2008 R2 bỏ qua các thông tin đăng nhập được lưu trữ, và thay vào đó, luôn gửi thông tin xác thực cục bộ của tôi, khiến đăng nhập thất bại mỗi lần. Thậm chí không có cách nào, trong SMSS, để nhập thông tin đăng nhập thay thế, do đó, upshot là tôi chỉ đơn giản là không thể truy cập vào máy chủ từ xa!

Tên đăng nhập không thành công với thông báo sau:

Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. (Microsoft SQL Server, Error: 18452)

Làm thế nào tôi có thể nhận được SMS trên Windows 7 để làm việc cùng một cách nó đã làm trên Windows XP?

+0

Các bạn đã thử sử dụng phương pháp này? http://stackoverflow.com/questions/5237654/sql-server-management-studio-2008-runas-user-on-different-domain-over-vpn –

+0

Tôi chưa, nhưng có vẻ như một lựa chọn tốt nếu bạn không không muốn sử dụng Trình quản lý thông tin xác thực. – BrianFinkel

Trả lời

25

Dường như có lỗi trong Trình quản lý thông tin xác thực của Windows 7 gây ra hành vi này. Sau nhiều nghiên cứu trên Internet, tôi đã tìm thấy một số cách giải quyết xấu, nhưng cũng tìm thấy một giải pháp tuyệt vời:

Trong Trình quản lý thông tin xác thực, thêm mục nhập cho máy chủ từ xa, nhưng thay vì chỉ thêm tên máy chủ, như database.contoso.com , thêm tên máy chủ với các cổng SQL Server, như vậy:

database.contoso.com:1433

Điều này dẫn đến các hành vi mong muốn, không có nỗi đau!

Nguồn: http://social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/c05a90e4-cb16-46f6-9072-37083c65696d/

Cũng nên nhớ, tất nhiên, mà bạn cần phải thêm tiền tố tên người dùng từ xa trong quản lý Credential với tên miền từ xa, như vậy:

cơ sở dữ liệu \ administrator

+5

Lưu ý rằng nếu bạn đang cố kết nối với một cá thể có tên, cổng sẽ KHÔNG là 1433. Bạn có thể tìm thấy cổng động hiện tại hoặc thay đổi nó thành một cổng cố định bằng cách sử dụng các hướng dẫn tại http://msdn.microsoft.com/en- chúng tôi/thư viện/ms345327 (v = sql.100) .aspx –

+0

Điểm tốt, cảm ơn. – BrianFinkel

+5

Để mở rộng nhận xét của Greg, bạn sẽ tạo một mục quản lý thông tin xác thực giống như database.contoso.com:12345 (hoặc bất kỳ cổng lạ nào mà cá thể có tên của bạn đang bật). Tuy nhiên, khi bạn kết nối với SSMS, bạn sẽ sử dụng database.contoso.com, 12345 (lưu ý dấu phẩy thay vì dấu hai chấm). – Chris

Các vấn đề liên quan