SQL Server中網路協議的比較與選擇

2021-09-06 03:32:38 字數 2036 閱讀 4100

sql server中網路協議

若要連線到 sql server 資料庫引擎,必須啟用網路協議。microsoftsql server 可同時通過多種協議處理請求。客戶端用單個協議連線到 sql server。如果客戶端程式不知道 sql server 正在偵聽哪個協議,可以配置客戶端按順序嘗試多個協議。使用 sql server 配置管理器啟用、禁用以及配置網路協議。

shared memory

shared memory 是可供使用的最簡單協議,沒有可配置的設定。由於使用 shared memory 協議的客戶端僅可以連線到同一臺計算機上執行的 sql server 例項,因此它對於大多數資料庫活動而言是沒用的。如果懷疑其他協議配置有誤,請使用 shared memory 協議進行故障排除。 注意 

使用 mdac 2.8 或更早版本的客戶端不能使用 shared memory 協議。如果這些客戶端嘗試使用,將自動切換為 named pipes 協議。

tcp/ip

tcp/ip 是 internet 上廣泛使用的通用協議。它與互連網路中硬體結構和作業系統各異的計算機進行通訊。tcp/ip 包括路由網路流量的標準,並能夠提供高階安全功能。它是目前在商業中最常用的協議。將計算機配置為使用 tcp/ip 可能會很複雜,但大多數聯網的計算機已經配置正確。若要配置未在 sql server 配置管理器中出現的 tcp/ip 設定,請參閱 microsoft windows 文件。

named pipes

named pipes 是為區域網而開發的協議。記憶體的一部分被某個程序用來向另乙個程序傳遞資訊,因此乙個程序的輸出就是另乙個程序的輸入。第二個程序可以是本地的(與第乙個程序位於同一臺計算機上),也可以是遠端的(位於聯網的計算機上)。

via1. 什麼是命名管道?

與tcp/ip(傳輸控制協議或internet協議)一樣,命名管道是一種通訊協議。它一般用於區域網中,因為它要求客戶端必須具有訪問伺服器資源的許可權。

要解釋這個問題,我還是摘錄微軟官方的資料比較好(見上面「sql server中網路協議」)

2. 為什麼用命名管道?

使用命名管道的原因一般有兩個方面

提高速度

假設同樣在區域網中,那麼使用命名管道協議會比tcp/ip協議快一些。

增加安全性

因為命名管道是只能用於區域網的,那麼如果伺服器關閉了tcp/ip協議而僅啟用命名管道,就可以避免一些安全隱患

3. 如何使用命名管道?

要使用命名管道連線到sql server,客戶端**中的連線字串大致的語法是這樣的

"server=.;database=northwind;uid=sa;pwd=pass@word;network library=dbnmpntw"

如果伺服器是命名例項,則

"server=./instancename;database=northwind;uid=sa;pwd=pass@word;network library=dbnmpntw"

【注意】必須在伺服器啟用named pipe協議,並且啟動broswer服務

為了避免在連線字串中這麼麻煩,也為了避免洩露我們連線資料的一些機密資訊。sql server native client還支援定義別名

如果建立好了別名,則可以在連線字串中直接這樣寫

"server=myserver;database=master;integrated security=true;"

看起來和以前我們定義odbc資料來源很類似,不是嗎?

那麼,如果這一串連線字串被洩露,即便是別有用心的人,也不可能猜到我們的伺服器到底是什麼名字,而且我們使用了什麼協議連線的。

選擇網路協議:

(微軟官方)

sql server native client 程式設計:

(微軟官方)

sql server中的命名管道(named pipe)及其使用:

(cnblogs)

SQL Server中網路協議的比較與選擇

sql server中網路協議 若要連線到 sql server 資料庫引擎,必須啟用網路協議。microsoftsql server 可同時通過多種協議處理請求。客戶端用單個協議連線到 sql server。如果客戶端程式不知道 sql server 正在偵聽哪個協議,可以配置客戶端按順序嘗試多個...

SQL SERVER網路協議

named pipes 是為區域網而開發的協議。記憶體的一部分被某個程序用來向另乙個程序傳遞資訊,因此乙個程序的輸出就是另乙個程序的輸入。第二個程序可以是本地的 與第乙個程序位於同一臺計算機上 也可以是遠端的 位於聯網的計算機上 避免了執行在同一臺計算機上的客戶端和伺服器之間的程序間封送 跨越程序間...

遊戲開發中網路通訊協議對比

遊戲聯網需求有弱聯網遊戲,即時互動類遊戲 選擇通訊協議的時候主要關注於延遲低,易用,低成本等 下面對比tcp,udp,http,websocket 四種協議優缺點 特性 tcp 優點 可靠性 全雙工協議 開源支援多 應用較廣泛 面向連線 研發成本低 報文內容不限制 ip層自動分包,重傳,不大於145...