2011-03-08 54 views
0

我有一個拋出「命名管道提供程序」錯誤,代碼40的SQL Server實例。我知道這是一個相對常見的新安裝錯誤,並有一個複雜的過程來解決它。然而,這個錯誤的奇怪部分是(1)它只是間歇性地發生,(2)它只發生在我的ASP.NET應用程序中。我有其他正在訪問此服務器的應用程序,沒有任何錯誤。SQL Server命名管道提供程序錯誤,但只有ASP.NET?

當我的連接字符串是ASPX代碼的一部分(而不是web.config)時,我遇到了對這個錯誤的模糊引用,這是沒有意義的,但它是唯一的選擇,我可以拿出。其他人看過這個?

+0

你怎麼引用你的sql服務器?按名稱或IP?你可能想嘗試兩者交替。 – jonezy 2011-03-08 01:15:14

回答

0

聽起來像安全上下文問題? asp.net應用程序如何訪問sql服務器?集成的Windows安全性或SQL安全性?如果先前檢查由應用程序池標識定義的應用程序(asp.net進程)的標識具有DB上的登錄權限。

http://blogs.msdn.com/b/sql_protocols/archive/2007/03/31/named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server.aspx

總結,給清單:

  1. 是您的目標服務器開始?

  2. 您的目標服務器正在偵聽NP嗎?哪個管道?

  3. 您的客戶端是否啓用了NP?使用相同的管道連接作爲服務器?

  4. 您是否正在建立本地連接?如果是這樣,什麼是實例,默認或遠程?

  5. 您是否在連接字符串中輸入了正確的實例名稱?請記住,Sqlexpress是一個命名實例。

  6. 您是否啓用遠程連接?防火牆嗎?安全? 「文件和打印機共享」打開?可以訪問服務器?

  7. 您可以通過使用或\來進行基本連接嗎?使用sqlcmd或osql。

相關問題