『壹』 資料庫異常問題
每隔一段時間自動調用這個存儲過程
比較容易
新建一個SQL
Server
Job,然後設置Job運行的時間,可以設置每小時、天、月等運行一次
右鍵點擊
Job,然後新建,按照界面提示一步一步往下就行。
『貳』 用友的賬套輸出時,出現備份資料庫異常怎麼辦無法輸出和刪除賬套
、看看磁碟空間是否足夠。 2、實在不行,用物理備份,把SQL服務停止,手工備份用友資料庫文件。
『叄』 MySQL資料庫的警告問題,怎麼解決
測試環境中出現了一個異常的告警現象:一條告警通過 Thanos Ruler 的 HTTP 介面觀察到持續處於 active 狀態,但是從 AlertManager 這邊看這條告警為已解決狀態。按照 DMP 平台的設計,告警已解決指的是告警上設置的結束時間已經過了當前時間。一條發送至 AlertManager 的告警為已解決狀態有三種可能:1. 手動解決了告警2. 告警只產生了一次,第二次計算告警規則時會發送一個已解決的告警3. AlertManager 接收到的告警會帶著一個自動解決時間,如果還沒到達自動解決時間,則將該時間重置為 24h 後首先,因為了解到測試環境沒有手動解決過異常告警,排除第一條;其次,由於該告警持續處於 active 狀態,所以不會是因為告警只產生了一次而接收到已解決狀態的告警,排除第二條;最後,告警的告警的產生時間與自動解決時間相差不是 24h,排除第三條。那問題出在什麼地方呢?
分析
下面我們開始分析這個問題。綜合第一節的描述,初步的猜想是告警在到達 AlertManager 前的某些階段的處理過程太長,導致告警到達 AlertManager 後就已經過了自動解決時間。我們從分析平台里一條告警的流轉過程入手,找出告警在哪個處理階段耗時過長。首先,一條告警的產生需要兩方面的配合:
metric 數據
告警規則
將 metric 數據輸入到告警規則進行計算,如果符合條件則產生告警。DMP 平台集成了 Thanos 的相關組件,數據的提供和計算則會分開,數據還是由 Prometheus Server 提供,而告警規則的計算則交由 Thanos Rule(下文簡稱 Ruler)處理。下圖是 Ruler 組件在集群中所處的位置:
首先,圖中每個告警規則 Rule 都有一個 active queue(下面簡稱本地隊列),用來保存一個告警規則下的活躍告警。
其次,從本地隊列中取出告警,發送至 AlertManager 前,會被放入 Thanos Rule Queue(下面簡稱緩沖隊列),該緩沖隊列有兩個屬性:
capacity(默認值為 10000):控制緩沖隊列的大小,
maxBatchSize(默認值為 100):控制單次發送到 AlertManager 的最大告警數
了解了上述過程,再通過翻閱 Ruler 源碼發現,一條告警在放入緩沖隊列前,會為其設置一個默認的自動解決時間(當前時間 + 3m),這里是影響告警自動解決的開始時間,在這以後,有兩個階段可能影響告警的處理:1.緩沖隊列階段2.出緩沖隊列到 AlertManager 階段(網路延遲影響)由於測試環境是區域網環境,並且也沒在環境上發現網路相關的問題,我們初步排除第二個階段的影響,下面我們將注意力放在緩沖隊列上。通過相關源碼發現,告警在緩沖隊列中的處理過程大致如下:如果本地隊列中存在一條告警,其上次發送之間距離現在超過了 1m(默認值,可修改),則將該告警放入緩沖隊列,並從緩沖隊列中推送最多 maxBatchSize 個告警發送至 AlertManager。反之,如果所有本地隊列中的告警,在最近 1m 內都有發送過,那麼就不會推送緩沖隊列中的告警。也就是說,如果在一段時間內,產生了大量重復的告警,緩沖隊列的推送頻率會下降。隊列的生產方太多,消費方太少,該隊列中的告警就會產生堆積的現象。因此我們不難猜測,問題原因很可能是是緩沖隊列推送頻率變低的情況下,單次推送的告警數量太少,導致緩沖隊列堆積。下面我們通過兩個方面驗證上述猜想:首先通過日誌可以得到隊列在大約 20000s 內推送了大約 2000 次,即平均 10s 推送一次。結合緩沖隊列的具體屬性,一條存在於隊列中的告警大約需要 (capacity/maxBatchSize)*10s = 16m,AlertManager 在接收到告警後早已超過了默認的自動解決時間(3m)。其次,Ruler 提供了 3 個 metric 的值來監控緩沖隊列的運行情況:
thanos_alert_queue_alerts_dropped_total
thanos_alert_queue_alerts_pushed_total
thanos_alert_queue_alerts_popped_total
通過觀察 thanos_alert_queue_alerts_dropped_total 的值,看到存在告警丟失的總數,也能佐證了緩沖隊列在某些時刻存在已滿的情況。
解決通過以上的分析,我們基本確定了問題的根源:Ruler 組件內置的緩沖隊列堆積造成了告警發送的延遲。針對這個問題,我們選擇調整隊列的 maxBatchSize 值。下面介紹一下這個值如何設置的思路。由於每計算一次告警規則就會嘗試推送一次緩沖隊列,我們通過估計一個告警數量的最大值,得到 maxBatchSize 可以設置的最小值。假設你的業務系統需要監控的實體數量分別為 x1、x2、x3、...、xn,實體上的告警規則數量分別有 y1、y2、y3、...、yn,那麼一次能產生的告警數量最多是(x1 * y2 + x2 * y2 + x3 * y3 + ... + xn * yn),最多推送(y1 + y2 + y3 + ... + yn)次,所以要使緩沖隊列不堆積,maxBatchSize 應該滿足:maxBatchSize >= (x1 * y2 + x2 * y2 + x3 * y3 + ... + xn * yn) / (y1 + y2 + y3 + ... + yn),假設 x = max(x1,x2, ...,xn), 將不等式右邊適當放大後為 x,即 maxBatchSize 的最小值為 x。也就是說,可以將 maxBatchSize 設置為系統中數量最大的那一類監控實體,對於 DMP 平台,一般來說是 MySQL 實例。
注意事項
上面的計算過程只是提供一個參考思路,如果最終計算出該值過大,很有可能對 AlertManager 造成壓力,因而失去緩沖隊列的作用,所以還是需要結合實際情況,具體分析。因為 DMP 將 Ruler 集成到了自己的組件中,所以可以比較方便地對這個值進行修改。如果是依照官方文檔的介紹使用的 Ruler 組件,那麼需要對源碼文件進行定製化修改。
『肆』 老是發生資料庫訪問異常是什麼情況呢
你要訪問的管理系統對應的資料庫存在異常,有可能在系統維護,在等等吧。哈哈哈
『伍』 評教時提示資料庫異常,怎麼解決
一:資料庫引擎沒有啟動:
開始->程序->Microsoft SQL Server 2005->SQL Server 2005外圍應用配置器,在打開的界面單擊"服務的連接的外圍應用配置器",在打開的界面中找到Database Engine,單擊"服務",在右側查看是否已啟動,如果沒有啟動可單擊"啟動",並確保"啟動類型"為自動,不要為手動,否則下次開機時又要手動
二:啟動行遠程連接設置沒有打開
1.指向「開始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外圍應用配置器」
2.在「SQL Server 2005 外圍應用配置器」頁, 單擊「服務和連接的外圍應用配置器」
3.然後單擊展開「資料庫引擎」, 選中「遠程連接」,在右邊選中「本地連接和遠程連接」,
再選擇要使用的協議,( 這個地方應當啟用TCP/IP 和命名管道服務!)單擊「應用」,您會看到下消息: 「直到重新啟動資料庫引擎服務後,對連接設置所做的更改才會生效。」,單擊「確定」按鈕返回
4.展開「資料庫引擎」, 選中「服務」,在右邊單擊「停止」,等到 MSSQLSERVER 服務停止, 然後單擊「啟動」,重新啟動MSSQLSERVER 服務。
『陸』 派出所打電話到辦公室警告網路數據異常是為什麼
隨便來個電話說是派出所你就信啊?
這種么,先記下號碼,和你領導提一下,聯系你們的網管,讓他先確認下網路是不是異常,反正就是順帶的活
然後該幹啥幹啥去就好
公安不會通過電話辦案的,除非他和你熟,打個電話前期確認下
『柒』 SQL server資料庫異地備份失敗
拒絕訪問就是說你沒有許可權控制,可以嘗試在103那台機器找上到1.8bf new,給它的屬性的共享下的高級共享下添加一個Everyone,許可權為完全控制,安全下也加一個。
『捌』 資料庫備份報錯,錯誤如下,是何原因,怎麼處理
SQL1224N 由於資料庫管理器發生了錯誤或者被強制中斷,從而無法接
受新的請求,已終止正在處理的所有請求或者已終止所指定的請求。
說明:
此消息可能是由於下列任何一種原因所致。
1
* 尚未在資料庫伺服器上啟動資料庫管理器。
* 資料庫管理器已停止。
* 系統管理員已強行終止資料庫代理程序。
* 資料庫代理程序已由於關鍵資料庫管理器進程異常終止而終止。
重啟一下資料庫實例試試
『玖』 安全管家雲備份提示「網路連接異常 操作未完成」怎麼辦
網線線路 不好網卡或者網卡驅動
網路設備比如 路由器 貓 不正常 接線不好等
『拾』 SQL Server 2008 R2中資料庫備份成功,但還原卻提示有異常,求解。
這種備份不需要備份日誌,如果備份有異常,可以考慮換一種備份方式:
1、分離資料庫;
2、把資料庫拷貝走
3、把拷貝的資料庫附加到新的資料庫下,就可以了;
4、原來的資料庫也附加回去,完成!