Dot-Net

SQL Server 通信協議問題

  • October 19, 2009

我正在使用 VSTS 2008 + C# + ADO.Net + SQL Server 2008。關於 SQL Server 2008 將使用哪種通信協議的問題,我的問題的更多細節,

  1. 如果連接字元串看起來像這樣,是使用命名管道還是 TCP/IP?是否會根據客戶端和 SQL Server 是否在同一台機器上使用不同的通信協議?

數據源=labtest1;初始目錄=CustomerDB;Trusted_Connection=true;非同步 2. 在 SQL Server 配置管理器中,有名為“SQL Server 網路配置”和“SQL Native Client 10.0 配置”的項目。我發現它們都有命名管道或 TCP/IP 的配置選項(用於通信協議),“SQL Server 網路配置”和“SQL Native Client 10.0 配置”有什麼區別?

提前謝謝,喬治

在這裡,您可以閱讀 Name Pipes 協議。該協議使用的流量比 TCP 多得多。

  1. 命名管道將在本地機器上使用。TCP 將用於遠端連接。
  2. SQL Server 網路配置管理器允許您修改遠端訪問 SQL Server 服務的設置。SQL Native Client 是一組驅動程序。在此處查找其他資訊

1# 您沒有在連接字元串中指定網路庫,那麼您的連接將嘗試使用來自 MSDN的共享記憶體:

相應的網路 DLL 必須安裝在您連接的系統上。如果您未指定網路並且使用本地伺服器(例如,“.”或“(local)”),則使用共享記憶體。

2# SQL Native 客戶端是可用於連接 SQL Server 的驅動程序庫。您可以將其作為單獨的組件下載並預設安裝在伺服器上,但如果您在數據庫伺服器上更改這些設置並且應用程序正在另一台伺服器(例如應用程序伺服器)上執行,則不會產生任何影響。

如果您使用的是 .net,那麼您使用的提供程序很可能是 SQLClient 而不是 SQL Native 客戶端,因此 Native 客戶端設置沒有影響,除非您修改連接字元串並更改提供程序。

引用自:https://serverfault.com/questions/75788