1

我想連接到一個遠程SQL Server 2005數據庫從在Vista家庭高級版64位運行的.NET Windows服務。我可以從控制檯應用程序訪問遠程數據庫,沒有任何問題。我可以從Windows服務連接到本地數據庫,沒有任何問題。我能夠從XP的服務連接,沒有問題。沒有防火牆或防病毒運行。我如何配置此服務能夠連接到遠程數據庫?無法連接到SQL Server 2005從Windows Vista x64的Windows服務Windows服務

我試圖通過運行Windows服務作爲本地管理員帳戶,LocalSystem,LocalService和NetworkService進行連接。

連接字符串:

數據源= SERVER_NAME;初始目錄= DB_NAME;集成安全性= TRUE;

的錯誤:與SQL Server建立連接時出現

與網絡相關的或特定於實例的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (provider:命名管道提供程序,error:40 - 無法打開到SQL Server的連接)

更多信息:

我也曾嘗試使用沒有成功的SQL Server身份驗證連接:

數據來源= SERVER_NAME;用戶ID = USER_ID;密碼= PWD;初始目錄= DB_NAME

此連接字符串也可以從控制檯應用程序運行。

更多信息:

我跑進程監視器的Windows服務和控制檯應用程序。顯示\ SERVER_NAME \ pipe \ sql \ query的Windows服務爲ACCESS DENIED,但在將文件讀寫到\ SERVER_NAME \ pipe \ sql \ query時,控制檯應用程序顯示爲SUCCESS。

回答

0

1)打開命令提示符。輸入「ping SERVER_NAME」。它會迴應嗎?如果這不起作用,您可能會遇到DNS或連接問題。

2)「telnet SERVER_NAME 1443」。你有沒有看到或拒絕你的連接?這將明確地告訴你是否有人在另一端收聽。

3)進入SQL Server Management Studio。右鍵單擊您的服務器的屬性。從左側選擇「連接」。是否選中「允許遠程連接」?

4)由於您使用的是網絡服務/系統,因此您需要確保在服務器上爲機器帳戶DOMAIN \ CLIENTSYSTEMNAME $配置了登錄。請注意$符號。這是您的機器帳戶,這將是SQL Server將看到的用戶。

+0

1。Ping工作正常; 2. 1143不起作用,445看起來像起作用; 3:是的; 4:我將VPN連接到網絡,並使用Win Explorer轉到\\服務器,然後使用我的網絡用戶ID/pwd登錄。之後,控制檯應用程序連接到數據庫罰款,從XP連接。 – TxDeveloper 2008-12-23 03:33:50

+0

當你進入VPN時,你的*機器*本身是域的成員嗎?同時嘗試進入SQL Server配置管理器(在您的客戶端上)並禁用命名管道。確保TCP/IP已啓用。如果您使用SQL Server登錄,它會工作嗎? – 2008-12-23 05:09:47

1

好主!爲什麼在這個網站上的所有亂七八糟和複雜的反應。創建一個用戶帳戶
本地或域,並將服務設置爲使用該帳戶。然後進入您的SQL Server並添加新的帳戶到數據庫並設置權限。瞧!

哦,是的,不要用SQL身份驗證困擾自己。集成安全性更容易維護,並且在web.config中沒有密碼,您的安全性更高。