Tôi không thể kết nối với cơ sở dữ liệu SQL của máy chủ thông qua Địa chỉ IP


45

Tôi đã thiết lập một máy chủ chạy Windows Server 2008 và đã cài đặt SQL Server 2008 Express.

Tôi có thể kết nối với cơ sở dữ liệu SQL Server Express của máy thông qua MACHINENAME/SQLEXPRESS.

Tuy nhiên, khi chúng tôi kết nối thông qua bất kỳ phần mềm hoặc tập lệnh nào bằng Địa chỉ IP, nó sẽ không cho phép kết nối.

Tôi đã thử:

  • Tắt tường lửa.
  • Cho phép kết nối từ xa cho cơ sở dữ liệu SQL.
  • Kích hoạt TCP / IP trong Cấu hình SQL.

Khi chúng tôi cố gắng kết nối thông qua phần mềm 'SQL Server Management Studio', chúng tôi nhận được thông báo sau:

Thông báo lỗi:

Đã xảy ra lỗi trong khi thiết lập kết nối với máy chủ. Khi kết nối với SQL Server 2005, lỗi này có thể do thực tế là theo cài đặt mặc định, SQL Server không cho phép kết nối từ xa. (nhà cung cấp: Nhà cung cấp TCP, lỗi: 0 - Không thể thực hiện kết nối do máy đích đã chủ động từ chối.) (Microsoft SQL Server, Lỗi: 10061)

Một kết nối đã được thiết lập thành công với máy chủ, nhưng sau đó đã xảy ra lỗi trong quá trình đăng nhập. (nhà cung cấp: Nhà cung cấp TCP, lỗi: 0 - Một kết nối được thiết lập đã bị hủy bỏ bởi phần mềm trong máy chủ của bạn.) (Microsoft SQL Server, Lỗi: 10053)

Bạn có thể vui lòng cho tôi biết khi nào bạn rảnh để chúng tôi có thể xem vì tôi dường như đang biết ở đâu , vì vậy họ không thể giúp gì thêm.

Tôi mong muốn được nghe từ bạn.


Bạn đã thử nối số cổng khi kết nối chưa?

Bạn đang cố gắng kết nối với "192.168.0.1/SQLEXPRESS" (trong đó 192.168.0.1 thực sự địa chỉ IP của máy chủ của bạn ), hoặc bạn đang bỏ qua tên dụ?
Rowland Shaw

2
Bạn có thực sự sử dụng một dấu gạch chéo về phía trước /và không phải là một dấu gạch chéo ngược `\`?
Aaron Bertrand

Câu trả lời:


78

Máy chủ SQL của bạn được cài đặt như phiên bản được đặt tên, vì vậy trước hết hãy thử kết nối với máy chủ của bạn bằng tên máy chủ sau : IP Address\SQLEXPRESS.
Khi bạn cài đặt SQL Server làm ví dụ được đặt tên, nó sử dụng các cổng TCP / IP động theo mặc định, do đó không thể kết nối với nó để chỉ rõ tên đối tượng chỉ định (chỉ địa chỉ IP). Nếu bạn cần kết nối với máy chủ của mình mà không sử dụng tên dụ, bạn phải cấu hình lại máy chủ của mình để sử dụng cổng TCP tĩnh. Để làm điều đó xin vui lòng thực hiện như sau:

  1. mở Trình quản lý cấu hình máy chủ SQL;
  2. chuyển sang SQL Server Network Configuration | Protocols for SQLEXPRESS;
  3. bấm đúp vào TCP/IPgiao thức;
  4. chọn Yesgiá trị trong Enabledtrường;
  5. chuyển sang IP Addressestab;
  6. tìm IPAllphần;
  7. xóa TCP Dynamic Portstrường trong phần đó;
  8. chỉ định 1433giá trị trong TCP Porttrường:
    nhập mô tả hình ảnh ở đây
  9. khởi động lại máy chủ của bạn
    Hãy thử kết nối với máy chủ của bạn chỉ bằng địa chỉ IP của nó.

7
Cảm ơn bạn đã cung cấp thông tin đó, nó hoạt động tốt, ngoại trừ một điều. Trong studio quản lý sql tôi vẫn phải cung cấp cổng để kết nối với máy chủ, như, xxxx \ dụ, 1433. Tôi nghĩ điều đó thật kỳ lạ vì tôi đang sử dụng cổng tiêu chuẩn.
Tomas Jansson

1
Nó hoạt động với tôi, ngoại trừ hoàn toàn ngược lại với những gì @TomasJansson đã báo cáo: nó hoạt động trong Studio quản lý không có số cổng, nhưng tôi phải chỉ định một trong chuỗi kết nối của mình ngay cả khi tôi đang sử dụng cổng mặc định (1433).
lpacheco 24/07/2015

Tôi ngoài câu trả lời xuất sắc ở trên, trong SQL Server 2017, tôi nhận ra rằng bạn không thể để trống trường mật khẩu của người dùng (đặc biệt là sa). Hãy chắc chắn rằng bạn đã thiết lập mật khẩu - nếu không nó sẽ không kết nối.
aLearner

SỬ DỤNG netstat -a -b và tìm sqlservr.exe và CHẮC CHẮN rằng cổng là 1433. Không phải lúc nào cũng như vậy. Bạn sẽ phát điên nếu không.
jwize

8

Bạn nên kích hoạt, theo tôi vấn đề được giải quyết bằng cách cho phép theo dõi và khởi động lại tất cả dịch vụ.

  • Bộ nhớ dùng chung
  • TCP / IP
  • Đặt tên ống

Cấu hình máy chủ SQL đặt tên ống


8

Sử dụng SQL Server Express 2017, ngoài các câu trả lời ở trên, khi thử kết nối bằng cổng, hãy đảm bảo bạn sử dụng cú pháp dấu phẩy , không phải cú pháp dấu hai chấm, tức là:

 MyServerName,1433\InstanceName

Sau khi vật lộn với những điều trên trong một vài giờ, làm theo tất cả các đề xuất và nó vẫn không kết nối, tôi đã sử dụng ở trên và nó đã kết nối ngay lập tức thông qua SQL Server Management Studio từ xa. Bước đầu tiên để thành công.


1
Điều này đã sửa nó cho tôi (di chuyển cổng giữa tên máy chủ và tên dụ). Vào cổng cuối không hoạt động.
masospaghetti

1

Tôi đã có thể kết nối từ xa bằng cách chỉ định rõ ràng số cổng động, tuy nhiên điều này rõ ràng không lý tưởng.

Tôi xuất hiện vấn đề là dịch vụ Trình duyệt SQL Server đã bị tắt. Khi tôi kích hoạt và bắt đầu dịch vụ này, tôi có thể kết nối từ xa bằng cách chỉ định tên máy chủ và tên đối tượng.


0

Chỉ cần thêm vào những gì đã được nói trước đó. Tôi có cùng một vấn đề là không thể kết nối với máy chủ (máy khách và máy chủ trên cùng một máy tính để bàn) và tôi đã chạy qua tất cả các bước được liệt kê ở đây để cố gắng khắc phục nó. Tuy nhiên, cuối cùng tôi đã tìm ra vấn đề là gì. Tất cả những gì tôi phải làm là vào phòng quản lý máy chủ SQL và nhấp vào "Dịch vụ máy chủ SQL" và sau đó nhấp một lần vào máy chủ mà tôi cần để kết nối. Sau đó nhấp vào nút 'chạy' màu xanh lá cây. Tôi không chắc điều này có cụ thể với tôi không vì máy tính của tôi vừa chạy vừa truy cập máy chủ, hy vọng nó sẽ giúp được ai khác ngoài đó!

Nút chạy / bắt đầu ở đâu


1
Làm thế nào trên trái đất nhận xét này đã được đánh giá thấp như vậy? đơn giản và sửa lỗi vấn đề của tôi
Cavid Hummatov 17/07/18
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.