2014-12-03 29 views
24

我有這個錯誤的另一端:無進程管道(SQL Server 2012中)

A connection was successfully established with the server, but then an error occurred 
during the login process. (provider: Shared Memory Provider, error: 0 - No process is 
on the other end of the pipe.) 

(Microsoft SQL Server, Error: 233) 

我知道,有在這個網站類似的問題,得到的答覆是,對啓用TCP/IP和管道。 但我同時啓用,並且仍然不能正常工作:

MSSQL error

我使用Microsoft SQL Server 2012,並且用戶具有完全的權限。

+0

嘗試皮納爾戴夫解決方案http://blog.sqlauthority.com/2009/05/ 21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/ – GeoVIP 2014-12-03 10:47:51

+0

這對於當我從服務器身份驗證重新連接到Windows身份驗證。 – 2016-12-28 13:22:55

+1

什麼對我有用(sql express 2016)...刪除混合身份驗證只留下Windows身份驗證,重新啓動服務,切換回混合身份驗證,重新啓動服務。直到我做了這個沒有解決沒有過程錯誤 – Rostol 2017-03-07 01:42:47

回答

10

服務器僅在默認情況下被設置爲Windows身份驗證。沒有任何通知,錯誤的來源是,所以很難弄清楚。即使您僅使用SQL身份驗證創建用戶,SQL Management Studio也不會發出警報。

所以答案是:從Windows 切換到SQL認證

+1

該選項已被正確選中,所以我檢查了'Windows身份驗證',我重新啓動服務,然後我檢查'Windows身份驗證+ SQL身份驗證'來解決該問題。很高興! – Groco 2017-09-04 19:39:19

3

而且迫使TCP/IP連接(通過提供127.0.0.1代替localhost.)可以揭示該錯誤的真正原因。在我的情況下,連接字符串中指定的數據庫名稱不正確。

所以,這裏是清單:

  • 確保命名管道在配置管理器中啓用了(別忘了重新啓動服務器)。
  • 確保您連接的數據庫存在。
  • 確保SQL Server身份驗證(或混合模式)已啓用。
+0

快遞2016年配置管理器發生了什麼變化?我沒有看到它可用?哦,我現在必須運行SQLServerManager13.msc – 2018-01-20 07:16:39

+0

當我更改爲127.0.0.1時,出現錯誤消息消息=建立與SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:SQL網絡接口,錯誤:26 - 指定錯誤定位服務器/實例) 來源=核心.Net SqlClient數據提供程序 – 2018-01-20 07:26:35

+1

@kirsteng檢查安裝的SQL Server實例。你安裝了一個默認實例(MSSQLSERVER)嗎? – 2018-01-20 10:16:46

30

爲了解決這個問題,使用Windows身份驗證連接到SQL Management Studio中 - 如果沒有工作,你可能需要重新安裝SQL Server的 - 那麼服務器節點屬性 - >安全性上單擊鼠標右鍵,使SQL Server和Windows身份驗證模式。如果您使用'sa',請確保該帳戶已啓用。要做到這一點,在登錄和查看狀態下打開'sa'。

enable sa admin

5

也請您查看此enter image description here在配置TCP/IP,名稱管道還要檢查和共享內存啓用

6

你也可以嘗試去服務,並重新啓動SQL Server實例enter image description here

+0

我試過並解決了我的問題 – aminvincent 2017-11-10 08:18:41

+0

在嘗試所有其他修復後,解決了我的問題。 – mini998 2017-12-21 12:20:38

1

我有相同的proplem 「與服務器建立了連接,但在登錄過程中發生了錯誤 (provider:Shared Memory Provider,error:0 - No process is 012 。在管道的另一端部)」

我的連接是:

服務器= POS06 \ SQLEXPRESS; AttachDbFilename = C:\ DATAS。mdf;初始目錄=數據;用戶ID = sa; PWD = 12345;連接超時= 10;

但我的SQL是POS06 \ MSQL2014

更改連接字符串

服務器= POS06 \ MSQL2014; AttachDbFilename = C:... \ Datas.mdf; Initial Catalog = Datas;用戶ID = sa; PWD = 12345;連接超時= 10;

它的工作。

1

我面對這個問題,第二次和所有以前的答案失敗了,幸好下面的請求做的工作:

Alter login [user] with CHECK_POLICY = OFF 
go 

Alter login [user] with CHECK_POLICY = ON 
go