国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server 2012實施與管理實戰指南(筆記)——Ch6連接的建立和問題排查

2024-08-31 00:55:45
字體:
來源:轉載
供稿:網友
SQL Server 2012實施與管理實戰指南(筆記)——Ch6連接的建立和問題排查6.連接的建立和問題排查

會話的建立分成2個部分:

1.連接,即找到這個實例

2.認證,告訴sql server誰要連接

目錄

6.連接的建立和問題排查... 1

6.1協議選擇和別名... 1

6.1.1 服務器網絡配置... 1

6.1.2 SQL Server Browser的作用... 1

6.1.3 客戶端網絡配置... 2

6.1.4 客戶端網絡連接選擇機制... 2

6.2 連接失敗檢測步驟——命名管道... 2

6.3連接失敗檢測步驟——TCP/ip. 2

6.3.1 SQL Server監聽TCP/IP端口... 2

6.3.2 客戶端TCP/IP協議配置... 2

6.3.3 TCP/IP連接keepalive機制... 3

6.3.4 配置SQL Server的keepalive. 3

6.3.5 配置客戶端的keepalive. 3

6.3.6 TCP/IP連接問題的解決步驟... 3

6.4一般性網絡錯誤... 4

6.5 利用Ring Buffer排查連接問題... 4

6.1協議選擇和別名

常用協議有3種:

1.Shard Memory:本地訪問會使用的,一般用不到

2.TCP/IP

3.Named Pipes:命名管道不是基于網絡協議的,而是基于Server Message Block套件的一種協議,使用IPC$共享來無縫和透明的傳輸數據和用戶認證上下文,在訪問IPC$共享的時候先要通過Windows認證,這也是命名管道的好處之一。

6.1.1 服務器網絡配置

SQL Server的配置管理器可以設置各個協議的開啟和關閉。配置好協議之后重啟服務,會在errorlog中看到服務是否正常啟動。

6.1.2 SQL Server Browser的作用

對于命名實例,每次啟動綁定的端口不一樣。所以SQL Server開發了一套SQL Server解析協議(SSRP)用來監聽UDP1434端口。當一個客戶端要訪問這臺服務器上的SQL Server實例,都會先詢問UDP1434端口,然后由SSRP協議告訴客戶端本臺服務器上所安裝的SQL Server實例的端口號及命名管道。

SQL Server Browser最小權限如下:

1.拒絕通過網絡訪問該計算機

2.拒絕本地登錄

3.拒絕以批處理作業登錄

4.拒絕通過“終端服務”登錄

5.作為服務登錄

6.讀寫與網絡通信相關的SQL Server注冊項

SQL Server Browser讀取注冊表信息,識別計算機上的所有實例,并注明他們使用的端口和命名管道。

6.1.3 客戶端網絡配置

客戶端有4中驅動:

1.MDAC或者WDAC,基于windows,不需要安裝,可以通過cliconfg.exe配置

2.SQL Server Native Client,SQL Server帶的安裝了才有,隨SQL Server版本變化而變化。在SQL Server配置管理器也可以對Native Client進行配置。

3.SQLClient,客戶端應用程序使用的是托管編程代碼,目前一般使用ADO.NET來連接SQL Server。SQLClient沒有固定配置工具,是按照Shared Memory->TCP/IP->Named Pipes順序來連接的。

4.JDBC,用來給java程序連接SQL Server。

6.1.4 客戶端網絡連接選擇機制

SQL Server網絡連接機制:

1.SQL Server有自己的網絡協議,配置選項,決定SQL Server偵聽哪些協議

2.一臺服務器上可以有多個SQL Server實例,每個實例使用不同的端口和管道。SQL Server Browser通過讀取注冊表知道所有實例的網絡配置信息。

3.客戶端的數據庫連接組件上可以配置候選的網絡協議。

客戶端開啟了多個網絡協議,一般最后決定使用什么協議的順序如下:

1.連接字符串中指定協議

2.客戶端別名

3.尋找相應數據驅動的LastConnect注冊記錄

4.通過SQL Server Browser得知端口號或者管道名稱

6.2 連接失敗檢測步驟——命名管道

6.3連接失敗檢測步驟——TCP/IP6.3.1 SQL Server監聽TCP/IP端口

SQL Server監聽端口,可以為機器上的每個IP地址都設置獨立的端口號(無法配置出來),也可以為所有的IP設置統一的端口號。

6.3.2 客戶端TCP/IP協議配置

6.3.3 TCP/IP連接keepalive機制

客戶端和服務器之間的tcp連接是長連接,當客戶端連接到服務器的時候指定了keepaliveinterval和keepalivetime參數,在連接空閑時間超過keepalivetime,tcp就會以keepaliveinterval為間隔自動發出keepalive包測試連接是否存活。如果keepalive檢測次數超過注冊表的TcpMaxDataRetransmissions的定義,對方還是沒有反應,就會關閉這個有問題的連接。

Sql server的keepalivetime為30s,keepaliveinterval為1s,windows tcp配置默認TcpMaxDataRetransmissions為5s。

服務端的管服務端的,客戶端的管客戶端的,但是任何一個超過閥值都會關閉連接。

6.3.4 配置SQL Server的keepalive

可以在SQL Server配置管理器中配置tcp的keepalive時間。當然也可以在注冊表上修改。

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/MSSQL12.MSSQLSERVER /MSSQLServer/SuperSocketNetLib/Tcp

TcpMaxDataRetransmissions也可以在注冊表上修改:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/Tcpip/Parameters

6.3.5 配置客戶端的keepalive

任何客戶端都有keepalive機制,keepalivetime為30s,keepaliveinterval為1s。其中只有native client可以在SQL Server配置管理器上修改。

當然可以在注冊表上修改

6.3.6 TCP/IP連接問題的解決步驟

解決問題思路:

1.驗證SQL Server是否監聽端口,可以查看錯誤日志

2.驗證SQL Server監聽的端口和配置的值是否一致

3.檢查網絡是否正常

4.telnet查看是否可以連接到某個端口

5.檢查登錄用戶權限

6.3.6.1 監聽多個端口

多個端口的監聽,可以在設置端口是用逗號隔開

6.3.6.2 端口綁定失敗

端口綁定失敗,在啟動是時候會報錯。

可以查看端口是否被占用

6.3.6.3 檢查連接使用的協議

SELECT*FROMsys.dm_exec_connections

6.3.6.4 訪問防火墻后的SQL Server

6.4一般性網絡錯誤

6.5 利用Ring Buffer排查連接問題

Ring Buffer,可以捕捉每個由服務器發起的關閉連接記錄,包含會話異常中斷或者登陸失敗,Ring Buffer最多1000條數據。

Connectivity Ring Buffer有3種記錄:ConnectionClose,Error,LoginTimers。

Connectivity Ring Buffer可以讓你在不能使用NetWork Monitor情況下解決棘手的問題。

Connectivity Ring Buffer中的LoginTimers記錄了整個登陸過程所話的時間。

SELECTCAST(record ASxml) record

,CAST( record ASXML). value('(//Record/ConnectivityTraceRecord/RecordTime)[1]','datetime') recordtime

,CAST( record ASXML). value('(//Record/ConnectivityTraceRecord/RecordType)[1]','varchar(20)') Recordtype

FROMsys.dm_os_ring_buffers

WHERE ring_buffer_type ='RING_BUFFER_CONNECTIVITY'


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沂水县| 江安县| 永春县| 平利县| 澄迈县| 中江县| 宁化县| 合山市| 藁城市| 蓝田县| 三原县| 盐津县| 瓮安县| 铜川市| 桓台县| 萝北县| 新宾| 雅江县| 漯河市| 东辽县| 吉木萨尔县| 老河口市| 鹰潭市| 牟定县| 英超| 沭阳县| 浦北县| 故城县| 繁峙县| 苍梧县| 资溪县| 建始县| 东源县| 江安县| 辉县市| 阳泉市| 安阳市| 潼关县| 盐山县| 甘孜县| 东乌珠穆沁旗|