SSMS
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> SSMS

Kết nối từ xa với MS SQL - Lỗi khi sử dụng pyodbc so với thành công khi sử dụng SQL Server Management Studio

"Nhưng tại sao ...?"

Dành cho những người quan tâm đến tại sao SQL Server Management Studio (SSMS) có thể kết nối với servername\instance trong khi các ứng dụng khác (như ứng dụng pyodbc của chúng tôi) thì không thể, đó là do SSMS giữ danh sách số cổng MRU (Được sử dụng gần đây nhất) trong sổ đăng ký Windows tại

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib\LastConnect

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSSQLServer\Client\SuperSocketNetLib\LastConnect

Mỗi mục nhập MRU (giá trị đăng ký) trông giống như sau:

Name: PANORAMA\SQLEXPRESS
Type: REG_SZ 
Data: -1006030326:tcp:PANORAMA,52865

Khi SSMS đã kết nối thành công bằng tên phiên bản thông qua dịch vụ Trình duyệt SQL trên máy từ xa, nó có thể tiếp tục kết nối bằng tên phiên bản ngay cả khi Trình duyệt SQL không còn chạy trên máy từ xa, miễn là số cổng không thay đổi. Các ứng dụng không sử dụng danh sách MRU này (như ứng dụng pyodbc của chúng tôi) cần phải có dịch vụ Trình duyệt SQL chạy trên máy từ xa mỗi khi chúng muốn kết nối bằng tên phiên bản.

Tình huống phổ biến nhất:

  • Tôi muốn kết nối với YOUR-PC\SQLEXPRESS . Tôi thử làm điều đó từ SSMS trên MY-PC , nhưng nó không hoạt động vì Trình duyệt SQL đã được cài đặt với "Chế độ khởi động" được đặt thành "Thủ công" trên YOUR-PC .
  • Tôi yêu cầu bạn khởi động dịch vụ Trình duyệt SQL trên YOUR-PC và bạn vui lòng tuân thủ, nhưng bạn chỉ khởi động dịch vụ và quên thay đổi cài đặt "Chế độ bắt đầu" thành "Tự động".
  • Tôi có thể kết nối qua SSMS (SSMS lưu trữ trong bộ nhớ cache của YOUR-PC\SQLEXPRESS cổng trong MRU). Ứng dụng python của tôi cũng có thể kết nối.
  • Sau lần tiếp theo YOUR-PC khởi động lại, tôi có thể kết nối qua SSMS (qua MRU) nhưng ứng dụng python của tôi không thể (vì dịch vụ Trình duyệt SQL không còn chạy trên YOUR-PC ).


  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Tôi có thể sử dụng SQL Server Management Studio 2005 cho 2008 DB không?

  2. Không thể tìm thấy cơ sở dữ liệu được tạo trong SQL Server Management Studios bằng Visual Studio 2010

  3. NÚT 'NEW TRIGGER' của SQL Server Express BỊ TẮT

  4. Làm cách nào để kết nối với cơ sở dữ liệu cục bộ trong SQL Server Management Studio?

  5. Tạo một tập lệnh chèn từ các kết quả được chọn