【正文】
協(xié)議。 ? 嘗試從運(yùn)行 SQL Server 的計(jì)算機(jī)和客戶端連接到 SQL Server 實(shí)例。有兩種方法:創(chuàng)建一個(gè)別名或?qū)⒁粋€(gè)端口號(hào)添加到連接字符串(例如 MyServer\MyInstance, 1433)。 ? 嘗試使用 IP 地址而不是服務(wù)器名稱連接到 SQL Server 實(shí)例。 ? 使用其他登錄帳戶測(cè)試連接,這樣可以幫助你確定該問題是否與某個(gè)特定的登錄帳戶有關(guān)。 ? 使用其他協(xié)議測(cè)試到 SQL Server 實(shí)例的連接。因此,當(dāng)你在 SQL Server 錯(cuò)誤日志文件中收到下面的信息時(shí),連接不再會(huì)因?yàn)槌瑫r(shí)錯(cuò)誤而失?。? Recovery Complete 如果恢復(fù)過程花費(fèi)的時(shí)間很長,你也許還要排除恢復(fù)過程的故障。在此恢復(fù)過程中, SQL Server 回滾未提交的事務(wù)。例如,下面的軟件可以自動(dòng)連接到 SQL Server 實(shí)例: ? SQL Server 代理程序 ? 第三方備份軟件 ? 第三方監(jiān)測(cè)軟件 ? 第三方病毒軟件 ? Microsoft Inter 信息服務(wù) (IIS) ? SQL Server 企業(yè)管理器 嘗試連接到 SQL Server 實(shí)例的客戶端應(yīng)用程序收到下列錯(cuò)誤信息: SQL Server does not exist or Access Denied 當(dāng)安裝過程以單用戶模式啟動(dòng) SQL Server 實(shí)例時(shí),這一個(gè)錯(cuò)誤一般發(fā)生在 SQL 群集安裝和服務(wù)軟件包安裝期間。在使用第三方驅(qū)動(dòng)程序連接到 SQL Server 實(shí)例時(shí),發(fā)生錯(cuò)誤 17832。在禁用連接、并且應(yīng)用程序 時(shí)常 打開和關(guān)閉連接時(shí), 壓力在 對(duì)基本 SQL Server 網(wǎng)絡(luò)庫可能會(huì)增 加 。 3. 嘗試使用其他協(xié)議連接到 SQL Server 實(shí)例。對(duì)于默認(rèn)的 SQL Server 實(shí)例: HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\LoginMode 對(duì)于 SQL Server 的命名實(shí)例: HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Name\MSSQLServer\LoginMode 請(qǐng)確認(rèn)已設(shè)置下列注冊(cè)表項(xiàng)的值: 身份認(rèn)證類型 值 僅限于 Windows 身份認(rèn)證 1 混合模式( SQL Server 身份認(rèn)證和 Windows 身份認(rèn)證) 2 注意:如果你對(duì)注冊(cè)表進(jìn)行了任何更改,必須關(guān)閉并重新啟動(dòng) SQL Server 實(shí)例使更改生效。 Microsoft 不能保證你可以解決因 “注冊(cè)表編輯器 ”使用不當(dāng)而導(dǎo)致的問題。 有關(guān)如何診斷和解決 “Cannot Generate SSPI Context” 如果在使用 SQL Server 身份認(rèn)證時(shí)連接沒有成功,你會(huì)收到下列錯(cuò)誤信息: Login failed for user 39。 ? 由于連接問題,無法聯(lián)系域控制器。 Login failed for user 39。如果身份認(rèn)證失敗,你可能收到下列錯(cuò)誤信息之一: Login failed for user 39。 如果你使用 TCP/IP 協(xié)議連接 SQL Server 實(shí)例,請(qǐng)確認(rèn)能夠用 Tel 程序連接到 SQL Server 正在偵聽的端口。 MDAC 的早期版本不識(shí)別 SQL Server 的命名實(shí)例。 解決 MDAC 問題 MDAC 的問題也可能會(huì)引起連接問題。因此,當(dāng)你啟動(dòng) SQL Server 命名實(shí)例時(shí), SQL Server 將設(shè)法偵聽之前使用的端口。 有時(shí)候, SQL Server 2021 可能不會(huì)綁定于端口 1433 或任何其他指定的端口。 SQL Server 錯(cuò)誤日志文件可能包括與以下類似的條目: 20211106 09:49: server SQL server listening on TCP, Shared Memory, Named Pipes. 20211106 09:49: server SQL server listening on :1433, :1433. 通過分析 SQL Server 錯(cuò)誤日志文件中的條目,可以驗(yàn)證 SQL Server 實(shí)例是否正在偵聽正確的 IP 地址和端口。 你可以測(cè)試連接性能創(chuàng)建一個(gè)新的別名,通過使用服務(wù)器名、 IP 地址或者其他協(xié)議。 2. 在 “SQL Server 客戶端網(wǎng)絡(luò)實(shí)用程序 ”窗口中,單擊 “常規(guī) ”標(biāo)簽 ,然后啟用你要使用的所有協(xié)議。如果 SQL Server 客戶端工具被安裝在正在運(yùn)行 客戶端應(yīng)用程序的計(jì)算機(jī)上,請(qǐng)啟動(dòng)客戶端網(wǎng)絡(luò)實(shí)用程序按照以下步驟: a. 單擊 “開始 ”,然后指向 “程序 ”。要解決此問題,還可以使用命名管道網(wǎng)絡(luò)庫連接到服務(wù)器。 3. 在命令提示符下,運(yùn)行下列命令: ping Server Name 記錄返回的 IP 地址。 驗(yàn)證 DNS 設(shè)置 9 域名系統(tǒng) (DNS)的名稱解析過程被用于解決 IP 對(duì) SQL Server 實(shí)例名稱。如此, SQL Server 2021 啟用并偵聽 TCP/IP、命名管道和共享內(nèi)存。 在你安裝 SQL Server 2021 之后,你能配置客戶端網(wǎng)絡(luò)的特性使用客戶端網(wǎng)絡(luò)公用程序的網(wǎng)絡(luò)庫屬性。 一雙相配 網(wǎng)絡(luò)控件庫 一定在客戶計(jì)算機(jī)和服務(wù)器計(jì)算機(jī)上是活躍的支援你想要使用的網(wǎng)絡(luò)記錄。 SQL Server 的例證和客戶端申請(qǐng)之間的溝通的 SQL Server 2021 支持一些方法。 If you receive an error message because of an authentication failure and the error message does not mention a specific SQL Server login name, troubleshoot the problem with Windows authentication. You may receive the following error message because of problems with Windows authentication: Cannot generate SSPI Context The following problems may cause authentication and security issues: ? Problems occur with NTLM authentication or with Kerberos authentication. ? The domain controller cannot be contacted because of connectivity issues. ? Problems occur with trust relationships across domains. For more information about possible causes, see the event logs on the puter. To work around connectivity problems with Windows authentication, you can use SQL Server Authentication to connect to the instance of SQL Server. If the connection is not successful when you use SQL Server Authentication, you receive the following error message: Login failed for user 39。 Login failed for user 39。username39。null39。這一篇文章包含你能拿幫助解決你的連接性問題的通常連接性問 題和步驟的描述。 SQL Sever 2021 使用 網(wǎng)絡(luò)控件庫 (一個(gè) DLL)與一個(gè)特別的網(wǎng)絡(luò)記錄溝通 。 在這一個(gè)情節(jié)中 , TCP/IP協(xié)議堆棧 一定是裝置在客戶計(jì)算機(jī)和服務(wù)器計(jì)算機(jī)。然而,一些服務(wù)器的網(wǎng)絡(luò)庫可能不是激活的。 重要說明:你開始 解決 SQL Server 2021 的連接問題之前,確定MSSQLServer 服務(wù)已在運(yùn)行 SQL Server 的計(jì)算機(jī)上啟動(dòng)。 2. 在 “運(yùn)行 ”對(duì)話框中,在 “打開 ”框中鍵入 cmd,然后單擊 “確定 ”。要查看當(dāng)前 DNS 設(shè)定,在命令提示符下運(yùn)行下列命令: ipconfig /all 要解決此問題,可以在客戶端計(jì)算機(jī)上的 %systemroot%\system32\drivers\etc\hosts 文件中為服務(wù)器添加一個(gè)條目。為此,請(qǐng)按以下步驟操作: 1. 啟動(dòng)客戶端網(wǎng)絡(luò)實(shí)用程序。 b. 在 “運(yùn)行 ”對(duì)話框中,在 “打開 ”框中鍵入 cliconfg,然后單擊 “確定 ”。 4. 驗(yàn)證別名的屬性,確認(rèn)服務(wù)器名或 IP 地址和協(xié)議的配置是正確的。 驗(yàn)證 SQL Server 實(shí)例正在正確地偵聽 要驗(yàn)證 SQL Server 實(shí)例正在正確地偵聽命名管道、 TCP/IP 或你在客戶端應(yīng)用程序中使用的其他協(xié)議,請(qǐng)打開當(dāng)前的 SQL Server 錯(cuò)誤紀(jì)錄文件 。關(guān) 于使用服務(wù)器網(wǎng)絡(luò)實(shí)用程序的更多信息,請(qǐng)參見 SQL Server 在線參考書中的 “SQL Server 網(wǎng)絡(luò)實(shí)用程序 ”專題。運(yùn)行下面的命令在命令提示符下,以獲取信息關(guān)于正在使用的端口: NETSTAT an 注意 :對(duì)于 SQL Server 命名實(shí)例, SQL Server 動(dòng)態(tài)地決定端口并偵聽決定的端口。作為選擇,你還可以為命名實(shí)例指定一個(gè)靜態(tài)端口,通過客戶端網(wǎng)絡(luò)實(shí)用程序?qū)ζ溥M(jìn)行綁定和偵聽。 注意 :如果你正連接到 SQL Server 的一個(gè)命名實(shí)例,請(qǐng)確認(rèn)計(jì)算 機(jī)上運(yùn)行的是 MDAC 或更新的版本。 解決防火墻問題 如果防火墻存在于客戶端計(jì)算機(jī)和正在運(yùn)行 SQL Server 的計(jì)算機(jī)之間,請(qǐng)確認(rèn)通過防火墻進(jìn)行通信時(shí)所需的端口已打開。 解決身份驗(yàn)證和安全問題 由于身份認(rèn)證失敗,可能無法連接到 SQL Server。NTAUTHORITY\ANONYMOUS LOGON39。由于 Windows 身份認(rèn)證的問題,你可能會(huì)收到下列錯(cuò)誤信息: Cannot generate SSPI Context 下列問題可能會(huì)引起身份認(rèn)證和安全問題: ? NTLM 身份認(rèn)證或 Kerberos 身份認(rèn)證出現(xiàn)問題。要解決 Windows 身份認(rèn)證的連接問題,你可以使用 SQL Server 身份認(rèn)證連接到 SQL Server 實(shí)例。 12 警告 :不恰當(dāng)?shù)氖褂?“注冊(cè)表編輯器 ”可能導(dǎo)致嚴(yán)重問題,可能需要重新安裝操作系統(tǒng)。為此,請(qǐng)確認(rèn)在正在運(yùn)行 SQL Server 的計(jì)算機(jī)上 存在下列注冊(cè)表項(xiàng)。例如,登錄帳戶的密碼可能已被更改。 解決 TCP/IP 套接字上的壓力問題 當(dāng)你為 SQL Server 使用 ODBC 驅(qū)動(dòng)程序、 Microsoft OLE DB Provider for SQL Server 或 管理提供程序時(shí),可以使用恰當(dāng)?shù)膽?yīng)用程序 設(shè)計(jì)界面 (API) 來禁用連接。這可能會(huì)給 TCP/IP 套接字帶來壓力,你還可能在 SQL Server 錯(cuò)誤 記錄 文件中收到下列錯(cuò)誤信息: 20210807 20:46: server Error:17832, Severity:20, State:6 20210807 20:46: server Connection opened but invalid login packet(s) closed. 注意 :如果運(yùn)行 SQL Server 2021 SP3 或 SQL Server 2021 SP3a,則不會(huì)注意到 13 對(duì) TCP/IP 套接字的壓力,這是由于添加了對(duì)登陸數(shù)據(jù)包數(shù)量的限制。如果運(yùn)行軟件的計(jì)算機(jī)自動(dòng)連接到 SQL Server,該軟件可以輕松地使用唯一的連接。 解決在恢復(fù)過程中連接超時(shí)的問題 在每次啟動(dòng)一個(gè) SQL Server 實(shí)例時(shí), SQL Server 將恢復(fù)各個(gè)數(shù)據(jù)庫。在此時(shí)間內(nèi)嘗試連接到 SQL Server 的客戶端可能會(huì)收到一條與以下類似的錯(cuò)誤信息: Timeout Expired 14 SQL Server 代理服務(wù)可能無法啟動(dòng),這是因?yàn)樗却? SQL Server 恢復(fù)數(shù)據(jù)庫。 ? 從其他數(shù)據(jù)源(例如 ODBC DSN、 .udl 文件、 SQL 查詢分析器、 SQL Server 企業(yè)管理器, isql 實(shí)用程序或 osql 實(shí)用程序)測(cè)試到 SQL Server 實(shí)例的連接。例如,如果 TCP/IP 連接失敗,則命名管道連接成功。 ? 如果你正從運(yùn)行 SQL Server 的計(jì)算機(jī)進(jìn)行連接,可以指定 “.”或 “(本地) ”(不帶引號(hào))取代服務(wù)器名稱,然后連接。