我也遇到過這個問題,你可以試著打開你的sql客戶端,連接下服務(wù)器上的數(shù)據(jù)庫,估計會直接出現(xiàn)這個錯誤提示,然后你把連接時間改成30秒,或者更長一些就能夠登錄到服務(wù)器上的sql server.
創(chuàng)新互聯(lián)主要從事做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)吳堡,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
解決方法就是把項目配置文件中的訪問超時時間設(shè)置長一些.
我遇到這個問題時是因為我的項目發(fā)布在虛擬機上,所以速度比較慢,訪問總是超時,去試試吧,這個方法或許能解決你的問題.
不行的話就在代碼上設(shè)置command的timeout時間.
如何設(shè)置SQLServer的超時時間?
SqlCommand sqlcommand = connection.CreateCommand();
sqlcommand.CommandTimeout = 60;
//默認(rèn)時間為 30 秒
檢查方法:
1。在cmd窗口運行:netstat -an 看是否有以下端口正在監(jiān)聽的信息
TCP 192.168.10.1:1433
0.0.0.0:0
LISTENING
2。防火墻有沒有把端口限制了
3。服務(wù)器網(wǎng)絡(luò)使用工具里面的TCP/IP屬性有沒有選了“隱藏服務(wù)器”
有可能是商業(yè)軟件與服務(wù)器的連接用的不是1433端口
在客戶端要改成相應(yīng)的端口,比如上面的1025
win2003服務(wù)器,就一定要注意SQLSERVER2000的SP3A或SP4補丁是否打上了.
WIN2003操作系統(tǒng)默認(rèn)時是1433端口不處于監(jiān)聽狀態(tài)的.
也可以再試試:配置一下客戶端
SQL客戶端網(wǎng)絡(luò)配置—別名—添加(不在同一網(wǎng)段的SQL服務(wù)器)IP/機器名
細(xì)心一點檢查一下吧,再給個方法看看:
默認(rèn)情況下,通過企業(yè)管理器注冊另外一臺SQL Server的超時設(shè)置是 4 秒,
而查詢分析器是 15 秒(這也是為什么在企業(yè)管理器里發(fā)生錯誤的可能性比較大的原因).
具體步驟為:
企業(yè)管理器中的設(shè)置:
1.在企業(yè)管理器中,選擇菜單上的"工具",再選擇"選項"
2.在彈出的"SQL Server企業(yè)管理器屬性"窗口中,點擊"高級"選項卡
3.在"連接設(shè)置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數(shù)字,如 20.
查詢分析器中的設(shè)置:
工具 -- 選項 -- 連接 -- 將登錄超時設(shè)置為一個較大的數(shù)字
在數(shù)據(jù)庫鏈接沒有問題的前提下,這個屬于數(shù)據(jù)庫請求超時,關(guān)鍵點是你的sql語句,斷點跟蹤把最終要執(zhí)行的sql語句復(fù)制下來在sql里面執(zhí)行一下試試,本人也碰到的統(tǒng)樣的問題,兩個視圖和一個表聯(lián)合查詢,在sqlserver2008里面執(zhí)行需要50多秒才得到結(jié)果,建議優(yōu)化一下sql語句,提高sql語句執(zhí)行的效率。
如何捕捉SQLServer超時異常問題,怎么解決
adoconnection1.CommandTimeout = 0命令執(zhí)行超時時間(以秒為單位),設(shè)置為零說明無限制adoconnection1.ConnectionTimeout = 0連接數(shù)據(jù)庫超時時間(以秒為單位),設(shè)置為零說明無限制
原因分析:
查詢超時一般來說首先要從sql語句和數(shù)據(jù)表的結(jié)構(gòu)上找原因,優(yōu)化sql語句和為數(shù)據(jù)庫的查詢字段建索引是最常用的辦法。
另外,數(shù)據(jù)庫的查詢超時設(shè)置一般是sqlserver自己維護(hù)的(在你沒有修改query wait配置前),只有當(dāng)你的實際查詢時間超過估計查詢時間的25倍時,才會超時。
而造成超出估計值那么多的原因有兩種可能:
一是估計時間不準(zhǔn)確;
二是sql語句涉及到大量占用內(nèi)存的查詢(如排序和哈希操作),內(nèi)存不夠,需要排隊等待資源造成的。
解決辦法:
A.優(yōu)化語句,創(chuàng)建/使用合適的索引;
B.解決第一個問題的方法,更新要查詢表的索引分發(fā)統(tǒng)計,保證估計時間的正確性,UPDATE STATISTICS 表名;
C.增加內(nèi)存
如果想手動設(shè)置查詢超時,可以使用以下語句:
sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO