我試圖找到答案搜索此頁面和谷歌沒有運氣!SQL服務器執行超時與.NET SqlCommand.CommandTimeout。誰贏?
如果我更改SQL Server實例(工具 - >選項 - >查詢執行)上的「執行超時」,並使用SQL Server在.NET代碼中設置SqlCommand.CommandTimeout。哪個屬性獲勝?
乾杯 --Jocke
我試圖找到答案搜索此頁面和谷歌沒有運氣!SQL服務器執行超時與.NET SqlCommand.CommandTimeout。誰贏?
如果我更改SQL Server實例(工具 - >選項 - >查詢執行)上的「執行超時」,並使用SQL Server在.NET代碼中設置SqlCommand.CommandTimeout。哪個屬性獲勝?
乾杯 --Jocke
超時是連接級屬性 - 它適用於每個單獨的連接。
當您轉至'工具 - >選項 - >執行超時'時,隻影響SQL Server Management Studio中新創建的連接 - 它不適用於您正在運行查詢的SQL Server實例。
所以SqlCommand.CommandTimeout肯定會'勝利'。
當您轉到SSMS中的「工具 - >選項 - >執行超時」時,會爲SSMS設置SqlCommand.CommandTimeout。沒有更多,不少。
有在SQL Server引擎沒有相當於設置SqlCommand.CommandTimeout:SQL Server將不中止查詢命令超時,因爲它不發出命令。客戶確實
感謝您的回覆AlexS。所以,即使我創建一個新的連接(在更改服務器上的屬性之後),sqlCommand.CommandTimeout將'覆蓋'執行超時? – Jocke
是的,沒錯。實際上,您所指的SQL Management Studio中的設置僅適用於由SQL Management Studio本身實例打開的連接。 – AlexS
沒有什麼可以「贏」的。 SQL Server引擎沒有「命令超時」的概念 – gbn