2009-06-25 101 views
0

我有一個使用osql連接到SQL Server 2005命名實例的腳本。但是腳本引發以下錯誤:連接到SQL Server 2005命名實例的問題

[SQL Native Client]Named Pipes Provider: Could not open a connection to SQL Server [53]. 
[SQL Native Client]Login timeout expired 
[SQL Native Client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. 

腳本的連接部分如下圖所示:

osql -E -S <servername>\<named_instance> -i D:\scripts\script1.sql -o D:\scripts\script1.txt 

我的問題是:是什麼原因造成這個錯誤,什麼是可能的解決方案?

回答

1

-S參數指定實例。你的例子顯示'\'。你需要改變它的東西,如:

osql -E -S localhost\myInstance -i D:\scripts\script1.sql -o D:\scripts\script1.txt 

http://msdn.microsoft.com/en-us/library/aa214012(SQL.80).aspx

您還可能需要驗證您的客戶端和服務器配置商定運輸(共享內存,命名管道,TCP/IP)等等...

+0

請參閱編輯後的版本。它看起來像我忘記點擊代碼圖標,使代碼看起來應該如此。 – titanium 2009-06-25 20:12:32

+0

我已經找到可能的原因。我查看了SQL Server配置管理器。已命名的實例服務已停止。雖然沒有通過正確的票證或通過電子郵件發送任何通知,但也許我們團隊中的某個人故意阻止了這一點。 – titanium 2009-06-25 20:19:40

0

確保您是SQL Server允許遠程連接,並且您已啓用TCP/IP和命名管道連接。