中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MSSQL數據庫超時的解決方法是什么

發布時間:2021-11-04 11:20:42 來源:億速云 閱讀:158 作者:iii 欄目:關系型數據庫

這篇文章主要講解了“MSSQL數據庫超時的解決方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MSSQL數據庫超時的解決方法是什么”吧!

如果SQL的數據庫越來越多,有時候會遇到讀取超時,鎖等一大堆問題,按經驗來說,數據結構設計不合理,經常使用視圖等原因都有,那些怎么解決呢?
1、由于數據庫設計問題造成SQL數據庫新增數據時超時

癥狀:

A、

Microsoft OLE DB Provider for SQL Server 錯誤 '80040e31'

[ODBC SQL Server Driver]超時已過期)

B、服務器上看CPU、內存占用率很低;

C、事件日志中提示: 數據庫 '*********' 中文件 '***********' 的自動增長在 453 毫秒后已取消或出現超時。使用 ALTER DATABASE 設置更小的 FILEGROWTH 或設置新的大小。

原因:

數據庫設置時,[文件增長]按百分比來增長,當數據庫文件很大時(1G以上),新增操作都會報超時,而這時候其實CPU、內存占用率都非常非常的低。

解決方法:

把上述的文件增長這里設置為一個更低的百分比或者直接指定增加多少兆字節。

2、SQL Server數據庫超時設置

修改客戶端的連接超時設置。默認情況下,通過企業管理器注冊另外一臺SQL Server的超時設置是 4 秒,而查詢分析器是 15 秒。

企業管理器中的設置:

A、在企業管理器中,選擇菜單上的"工具",再選擇"選項";

B、在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡;

C、在"連接設置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數字,如 30。

查詢分析器中的設置:

單擊“工具”->"選項"->"連接"; 將登錄超時設置為一個較大的數字,連接超時改為0。

3、查詢語句時超時

原因分析:

查詢超時一般來說首先要從sql語句和數據表的結構上找原因,優化sql語句和為數據庫的查詢字段建索引是最常用的辦法。

另外,數據庫的查詢超時設置一般是sqlserver自己維護的(在你沒有修改query wait配置前),只有當你的實際查詢時間超過估計查詢時間的25倍時,才會超時。而造成超出估計值那么多的原因有兩種可能:

一是估計時間不準確;

二是sql語句涉及到大量占用內存的查詢(如排序和哈希操作),內存不夠,需要排隊等待資源造成的。

解決辦法:

A、優化語句,創建/使用合適的索引;

B、解決第一個問題的方法,更新要查詢表的索引分發統計,保證估計時間的正確性,UPDATE STATISTICS 表名;

C、增加內存。

如果想手動設置查詢超時,可以使用以下語句:

sp_configure 'show advanced options', 1

GO

RECONFIGURE

GO

sp_configure 'query wait', 2147483647

GO

RECONFIGURE

GO

4、應用程序連接失敗

故障:

在應用程序中我們也會遇到類似的錯誤信息,例如:

Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'

[Microsoft][ODBC SQL Server Driver]超時已過期

解決方法:

A、如果遇到連接超時的錯誤,我們可以在程序中修改 Connection 對象的超時設置,再打開該連接。例如:

<%

Set Conn = Server.CreateObject("ADODB.Connection")

DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"

Conn. Properties("Connect Timeout") = 15 '以秒為單位,0表示不限制

Conn.open DSNtest

%>

B、如果遇到查詢超時的錯誤,我們可以在程序中修改 Recordset 對象的超時設置,再打開結果集。例如:

Dim cn As New ADODB.Connection

Dim rs As ADODB.Recordset

cmd1 = txtQuery.Text

Set rs = New ADODB.Recordset

rs.Properties("Command Time Out") = 300

'同樣以秒為單位,如果設置為 0 表示無限制

rs.Open cmd1, cn

rs.MoveFirst

感謝各位的閱讀,以上就是“MSSQL數據庫超時的解決方法是什么”的內容了,經過本文的學習后,相信大家對MSSQL數據庫超時的解決方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九龙县| 尼勒克县| 福州市| 吴旗县| 宜都市| 曲沃县| 东阳市| 蚌埠市| 库尔勒市| 司法| 新干县| 尼木县| 阿拉善左旗| 澄城县| 盖州市| 博兴县| 南投市| 天祝| 大兴区| 天峨县| 沙雅县| 临城县| 武穴市| 新源县| 房产| 长治市| 海口市| 腾冲县| 望都县| 丹东市| 乌拉特中旗| 浙江省| 咸宁市| 西贡区| 宜城市| 塔河县| 鹤岗市| 孝义市| 安乡县| 元江| 镇坪县|