溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決SQLServer2008數據引擎連接問題

發(fā)布時間:2021-11-30 17:20:00 來源:億速云 閱讀:593 作者:柒染 欄目:數據庫

這篇文章將為大家詳細講解有關如何解決SQLServer2008數據引擎連接問題,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

當 SQL Server 數據庫引擎實例未運行、服務器名稱鍵入錯誤或者存在網絡問題或防火墻時,通常會發(fā)生“超時時間已到”錯誤。

錯誤文本

在 SQL Server Management Studio 中,此錯誤顯示為:

“無法連接到 <服務器名>。”

“超時時間已到。在操作完成之前超時時間已過或服務器未響應。(Microsoft SQL Server,錯誤: -2)”

sqlcmd中,可能出現的超時錯誤包括:

“SQL 網絡接口: 定位指定的服務器/實例時出錯”

“Sqlcmd: 錯誤: Microsoft SQL Server NativeClient : 客戶端無法建立連接?!?/p>

“Sqlcmd: 錯誤: Microsoft SQL Server NativeClient : 登錄超時時間已到?!?/p>

“無法與 SQL Server 建立連接”

“建立與服務器的連接時出錯。當連接到 SQL Server 時,此故障可能會因為 SQL Server 在默認設置下不允許進行遠程連接而引發(fā)的?!?/p>

此錯誤的常見原因

原因

解決方法

鍵入的服務器名稱不正確。

使用正確的服務器名稱,然后重試。

服務器中的 SQL Server 服務未運行。

啟動 SQL Server 數據庫引擎實例。

數據庫引擎實例的 TCP/IP 端口被防火墻阻塞。

將防火墻配置為允許訪問數據庫引擎。

數據庫引擎由于已被更改或者不是默認實例而不偵聽端口 1433,并且沒有運行 SQL Server Browser 服務。

要么啟動 SQL Server Browser 服務,要么指定 TCP/IP 端口號進行連接。

SQL Server Browser 服務正在運行,但 UDP 端口 1434 被防火墻阻塞。

將防火墻配置為允許訪問服務器上的 UDP 端口 1434,或者連接指定 TCP/IP 端口號。

客戶端和服務器未配置為使用相同的網絡協(xié)議。

使用 SQL Server 配置管理器,確認服務器和客戶端計算機至少有一個通用的啟用協(xié)議。

網絡無法將服務器名稱解析為 IP 地址??墒褂?PING 程序對此進行測試。

修復網絡上的計算機名稱解析問題,或者使用服務器的 IP 地址連接。這不是 SQL Server 問題。有關幫助,請參閱 Windows 文檔或與網絡管理員聯(lián)系。

無法使用 IP 地址連接到網絡。可使用 PING 程序對此進行測試。

修復網絡上的 TCP/IP 問題。這不是 SQL Server 問題。有關幫助,請參閱 Windows 文檔或與網絡管理員聯(lián)系。

不常見錯誤

多個服務器 IP 地址

在連接到群集或具有多個 IP 地址的非群集計算機上安裝的 SQL Server 命名實例時,Windows Vista 或 Windows Server 2008 上的客戶端可能會收到此錯誤。所有 SQL Server 版本都可能會出現這種問題。

原因

在連接到遠程計算機上的命名實例時,客戶端使用用戶數據報協(xié)議 (UDP) 連接到 SQL Server 計算機或群集上的 SQL Server Browser 服務以獲取連接端點(TCP 端口號或命名管道)。

WindowsVista 或 Windows Server 2008 客戶端上的防火墻不允許對 UDP 進行松散源映射。即,響應必須是從所查詢的相同 IP 地址中返回的。如果響應不是從最初針對的 IP 地址中返回的,客戶端防火墻將刪除數據包。在嘗試連接到群集服務器或具有多個 IP 地址的非群集服務器計算機時,可能會出現這種問題。

下表介紹可導致 UDP 數據包被刪除的操作系統(tǒng)組合。這可以阻止連接到 SQL Server 的命名實例或未在 TCP 端口 1433 上偵聽的 SQL Server 默認實例。

客戶端操作系統(tǒng)

運行 SQL Server 的操作系統(tǒng)

SQL Server 2008 結果

SQL Server 2005 結果

Windows XP 或 Windows Server 2003

Windows XP 或 Windows Server 2003

UDP 數據包未被刪除。

UDP 數據包未被刪除。

Windows XP 或 Windows Server 2003

Windows Vista 或 Windows Server 2003

UDP 數據包未被刪除。

UDP 數據包未被刪除。

Windows Vista 或 Windows Server 2008

Windows XP 或 Windows Server 2003

UDP 數據包被刪除。無法連接。

UDP 數據包被刪除。無法連接。

Windows Vista 或 Windows Server 2008

Windows Vista 或 Windows Server 2008(x86、IA64)

UDP 數據包未被刪除。

UDP 數據包被刪除。無法連接。

Windows Vista 或 Windows Server 2008

Windows Vista 或 Windows Server 2008 (x64)

UDP 數據包被刪除。無法連接。

UDP 數據包被刪除。無法連接。

解決方法

若要解決此問題,請執(zhí)行以下操作之一:

·        在連接字符串中,將 TCP 端口號或命名管道名稱指定為服務器名稱的一部分。

·        在客戶端計算機上具有高級安全功能的 Windows 防火墻中創(chuàng)建例外。

注意:

如果在防火墻中創(chuàng)建例外,可能會使計算機或網絡更容易受到惡意用戶或惡意軟件(如病毒)的攻擊。建議您不要使用這種解決方法,此處提供該信息的目的是,如果沒有切實可行的替代方法,您可以自行決定是否采用這種解決方法。

·        例外可以是以下任一情況:

·        為連接到 SQL Server 的應用程序添加例外規(guī)則。

·        添加一個入站規(guī)則,以允許來自 SQL Server 計算機或群集的所有可能的 IP 地址的通信。

強行關閉的連接

使用 TCP/IP 連接到SQL Server 時,可能會出現此錯誤。

錯誤文本

該錯誤出現時可能具有以下格式:

·        TCP_PROV: 現有連接被遠程主機強行關閉。

·        訪問接口編號: 7,錯誤: 10054,錯誤消息:“TCP 訪問接口: 現有連接已被遠程主機強行關閉…”

·        未處理的異常: 在向服務器發(fā)送請求時發(fā)生傳輸級錯誤。(訪問接口: TCP 訪問接口,錯誤: 0 - 現有連接已被遠程主機強行關閉。)

此錯誤的常見原因

下表列出了此錯誤的常見原因和解決方法。

原因

解決方法

客戶端已與不支持的 SQL Server Native Client 版本連接。

將客戶端計算機更新為 SQL Server Native Client 的服務器版本。

發(fā)生故障的網絡硬件正在刪除部分 TCP 通信。

使用網絡監(jiān)視程序分析 TCP SYN、ACK 和 FIN 消息。

SynAttackProtect設置可能正在刪除連接。

請參閱后面的“在 Windows Server 2003 SP1 上運行時,連接可能被強行關閉”部分。

在 Windows Server2003 SP1 上運行時,連接可能被強行關閉

當使用大量到 Windows Server 2003 ServicePack 1 上運行的 SQL Server 數據庫引擎實例的客戶端連接嘗試測試可伸縮性時,如果請求到達的速度快于 SQL Server 提供的連接速度,則 Windows 可能會刪除這些連接。這是 Windows Server 2003 Service Pack 1 的一項安全功能,可實現有限的傳入 TCP 連接請求隊列。

若要解決此問題,請使用 regedit.exe 實用工具添加以下注冊表項:

類型

名稱

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\

DWORD

SynAttackProtect

00000000

安全說明:

設置此注冊表項可能會使服務器面臨 SYN 泛濫和拒絕服務攻擊的威脅。只有在必要并且了解這些安全風險的情況下,才可以添加此注冊表值。完成測試后,請刪除此注冊表值

在管道的另一端沒有進程

連接到 SQL Server 的客戶端如果在 SQL Server 上未啟用命名管道支持時連接到該服務器(即使可以使用其他協(xié)議,如TCP/IP),可能會遇到此命名管道錯誤。

如果服務器上未啟用命名管道,則拒絕客戶端試圖使用命名管道進行連接。以下兩種情況下會出現此錯誤:

·        客戶端試圖只使用命名管道進行連接,而服務器上未啟用命名管道協(xié)議。

·        客戶端試圖使用任何可用的協(xié)議進行連接,但在客戶端協(xié)議順序中,named pipes 列在 TCP 之前。

錯誤文本

named pipes 提供程序:在管道的另一端沒有進程。

Microsoft SQL Server Native Client:通信鏈接失敗。

Microsoft SQL Server NativeClient:在與服務器建立連接時出現錯誤。當連接到 SQL Server 時,此故障可能是因為 SQL Server 在默認設置下不允許進行遠程連接而引發(fā)的。

此錯誤的常見原因

原因

解決方法

客戶端試圖使用 named pipes 進行連接,而服務器沒有配置為允許使用 named pipes 進行遠程連接。

使用 TCP/IP 進行連接,或使用 SQL Server 配置管理器通過 named pipes 進行遠程連接。

客戶端協(xié)議順序是在嘗試 TCP 協(xié)議之前試圖使用 named pipes 協(xié)議進行連接,而服務器上未啟用 named pipes。

在客戶端計算機上使用 SQL Server 配置管理器,在協(xié)議順序列表中將 TCP 移動到 Named Pipes 之前。

關于如何解決SQLServer2008數據引擎連接問題就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI