Làm cách nào để truy cập cơ sở dữ liệu SQL Server từ máy tính khác được kết nối với cùng một nhóm làm việc?


11

Tôi đã tạo một ứng dụng C # sử dụng cơ sở dữ liệu SQL Server. Tôi có các máy tính khác kết nối với tôi và với nhau trong một nhóm làm việc. Tôi đã chia sẻ ứng dụng C # của mình với người khác. Khi họ mở ứng dụng, họ gặp lỗi

Đã xảy ra lỗi liên quan đến mạng hoặc trường hợp cụ thể trong khi thiết lập kết nối với SQL Server. Máy chủ này không tìm thấy hoặc không thể truy cập được

Nhưng ứng dụng đang hoạt động tốt trên PC của tôi. Chuỗi kết nối tôi đang sử dụng là

Data Source=ASHISHPC1\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=ashish159

được lưu trữ trong một .configtập tin.

Ứng dụng đang hoạt động tốt trên PC của tôi. Tôi phải làm gì? Tôi đã kích hoạt TCP / IP trong máy chủ nhưng vẫn tồn tại lỗi tương tự. Một số thay đổi trong chuỗi kết nối hoặc cái gì khác?


1
hãy thử sử dụng địa chỉ IP cho 'nguồn dữ liệu'
Mitch Wheat

1
Hãy thử Tắt Tường lửa Windows ... đồng thời kiểm tra technet.microsoft.com/en-us/l Library / hh231672.aspx . Cái này sẽ phù hợp với bạn.

3
Tắt Windows Firewall là không bắt buộc - vui lòng ngừng truyền bá huyền thoại đó! Xem câu trả lời của tôi dưới đây.
Jon Seigel

Câu trả lời:


17

Có hai cấp độ bảo mật cần được thay đổi để cho phép truy cập từ xa.

  1. Cấu hình máy chủ SQL . Theo mặc định trong các phiên bản Đánh giá nhanh, Nhà phát triển và Đánh giá, kết nối bằng giao thức TCP / IP bị vô hiệu hóa . Cho phép điều này bằng Trình quản lý cấu hình máy chủ SQL.

  2. Tường lửa Windows . Mặc dù vô hiệu hóa hoàn toàn tường lửa sẽ hoạt động cho thành phần này, nhưng làm như vậy không phải là cách thực hành tốt nhất về bảo mật (cũng không bắt buộc). (Lưu ý: trong phần này, tôi giả sử cấu hình mặc định . Có nhiều cài đặt có thể thay đổi, điều này ảnh hưởng đến các bước này một chút.)

    Có hai trường hợp tùy thuộc vào loại phiên bản SQL Server mà bạn đang kết nối với:

    1. Ví dụ mặc định (chỉ kết nối bằng tên máy tính). Thêm quy tắc cho phép đến trên cổng TCP 1433 hoặc dịch vụ công cụ cơ sở dữ liệu.

    2. Ví dụ được đặt tên (kết nối bằng tên máy tính + tên thể hiện). Thêm quy tắc cho phép trên cổng UDP 1434 để truy cập vào dịch vụ Trình duyệt SQL. Thêm một quy tắc cho phép đến trên dịch vụ công cụ cơ sở dữ liệu.

Quy trình này được ghi lại đầy đủ ở đây hoặc bạn có thể xem tôi giải thích và sau đó xem qua cấu hình cho một ví dụ được đặt tên ở đây .


0

Bạn phải đặt Cài đặt mạng chính xác trong SQL-Server: TCP / IP hoạt động trong SQL-Server Ngoài ra, hãy chắc chắn rằng Dịch vụ trình duyệt máy chủ của bạn đang chạy, vì nếu bị dừng, bạn không thể truy cập SQL- Người phục vụ.


0

Hãy chắc chắn rằng dịch vụ sqlbrowser được bật như được đề cập bởi benteg và UDP 1434 được mở trên máy của bạn để khách hàng có thể truy cập sqlbrowser để giải quyết tên. Đồng thời mở cổng TCP / IP của thể hiện được đặt tên.

Để tìm cổng của cá thể của bạn, hãy kết nối bằng cách sử dụng tiền tố tcp: trong Studio quản lý như vậy: tcp: ASHISHPC1 \ SQLEXPRESS và kết quả của truy vấn bên dưới phải là cổng bạn cần hiển thị cho các máy khách trong nhóm làm việc của mình.

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID

-1

Tôi đã tắt tường lửa windows cho Home Network và nó hoạt động tốt .. Cảm ơn tất cả các bạn .. :)


5
Nếu đây là câu hỏi của bạn, bạn nên đăng nhập tại đây với cùng thông tin đăng nhập bạn đã sử dụng trên trang web gốc ( Stack Overflow ) để bạn có quyền sở hữu câu hỏi tại đây.
jcolebrand

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.