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

溫馨提示×

溫馨提示×

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

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

SQL Server中怎么監控序列

發布時間:2021-08-03 16:36:09 來源:億速云 閱讀:141 作者:Leah 欄目:數據庫

SQL Server中怎么監控序列,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

我們知道數據庫中的序列(Sequence  Numbers)如果由于類型設置不當或者業務暴增等各種原因,可能出現序列的值被用完、耗盡的情況,此時就會出現類似下面這樣的錯誤:

  • Msg 11728, Level 16, State 1, Line 25

  • The sequence object 'SEQ_OVER_TEST' has reached its minimum or maximum value.  Restart the sequence object to allow new values to be generated.

如果DBA不去監控序列的話,極有可能當用戶報告/反饋這個問題的時候,才發現序列的值已經被耗盡用完了,此時救火式處理的話,略顯倉促和尷尬。所以應該監控SQL  Server的序列使用情況,例如當序列的當前值達到最大值的85%時就應該發出告警通知,此時可能需要和開發人員一起商討解決方案。

下面腳本用來獲取序列的使用情況,你可以用Python集中采集各個數據庫序列的使用情況,然后對序列的當前值超過最大值85%的序列觸發告警。

/**************************************************************************************************************     --腳本名稱  :      db_sequences_alert.sql     --腳本作者  :       瀟湘隱者     --創建日期  :       2021-01-21 ***************************************************************************************************************     腳本功能    :      檢查數據庫中的sequences的使用情況,如果sequences的當前值超過maximum_value的85%,                        就應該采取措施處理。 ***************************************************************************************************************     注意事項    :       暫無       ***************************************************************************************************************     參考資料    :       https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sequences-transact-sql?view=sql-server-ver15 ***************************************************************************************************************     更新記錄    :      2021-01-21 創建此腳本 ***************************************************************************************************************/  SELECT @@SERVERNAME                     AS [server_name]       ,DB_NAME(DB_ID())                 AS [database_name]       ,SCHEMA_NAME(schema_id)           AS [scheme_name]       ,name                             AS [sequence_name]       ,create_date                      AS [create_date]       ,modify_date                      AS [modify_date]       ,type_desc                        AS [type_desc]       ,start_value                      AS [start_value]       ,current_value                    AS [current_value]        ,minimum_value                    AS [minimum_value]       ,maximum_value                    AS [maximum_value]       ,is_cycling                       AS [is_cycling]       ,cache_size                       AS [cache_size]        ,is_exhausted                     AS [is_exhausted]       ,CASE WHEN increment >=1  THEN              ROUND(CAST(current_value AS DOUBLE PRECISION)/CAST(maximum_value AS DOUBLE PRECISION)*100,2)             ELSE              ROUND(CAST(current_value AS DOUBLE PRECISION)/CAST(minimum_value AS DOUBLE PRECISION)*100,2)        END AS [percent_usage(%)] FROM sys.sequences   WHERE is_cycling =0 ORDER BY  [percent_usage(%)] DESC GO

關于SQL Server中怎么監控序列問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

南丹县| 金坛市| 华安县| 嘉黎县| 怀来县| 宁城县| 屯门区| 华亭县| 蒙阴县| 山丹县| 桐城市| 平潭县| 镶黄旗| 平安县| 东乌珠穆沁旗| 鄂伦春自治旗| 杭锦旗| 巩义市| 汉阴县| 汕尾市| 托里县| 鄂托克旗| 承德市| 博爱县| 汉阴县| 桓台县| 滁州市| 广安市| 桃江县| 吕梁市| 清涧县| 和平县| 肇庆市| 牡丹江市| 安吉县| 洪江市| 桐庐县| 肥乡县| 丘北县| 建昌县| 鲜城|