IO is frozen on database xxx, No user action is required

来源:http://www.cnblogs.com/kerrycode/archive/2016/09/23/5899802.html
-Advertisement-
Play Games

最近遇到一起關於"I/O is frozen on database xxx. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup."的案例。 出現問題的時候... ...


最近遇到一起關於"I/O is frozen on database xxx. No user action is required. However, if I/O is not resumed promptly, you could cancel the backup."的案例。

出現問題的時候,我去執行一個非常簡單的SQL語句,執行時間非常長,檢查沒有阻塞。正常情況下,應該是幾秒就OK。後面檢查錯誤日誌,發現有大量這類消息.而這個點,我們沒有備份資料庫的作業。後面搜索,瞭解了一下這個消息出現的原因:

 

image

 

參考網上資料,關於“I/O is frozen on database xxx. No user action is required”的介紹如下:

 

This message is logged in the Error Log whenever any backup service making use of SQL Server Virtual Device Interface (VDI) tries to backup the database (with snapshot)/drive on which the database files reside. Microsoft Backup (ntbackup.exe), Volume Shadow Copy (VSS), Data Protection Manager (DPM) and third party tools like Symantec Business Continuance Volume (BCV) are some of the application which cause this message to logged in the SQL Server Error Log.

What does these messages mean? Let me explain this with an example. Suppose ntbackup.exe is configured to take the backup of D drive. This drive has some data files related to few databases on SQL Server. Since the data files are in use by SQL Server, if these files are copied as it is the files in the backup will be inconsistent. To ensure that the database files are consistent in the drive backup, this application internally issues a BACKUP DATABASE [databasename] WITH SNAPSHOT command against the database. When this command is issued, the I/O for that database is frozen and the backup application is informed to proceed with its operation. Until the BACKUP WITH SNAPSHOT command is complete, the I/O for the database is frozen and the I/O is resumed once it completes. The corresponding messages are logged in the SQL Server Error Log.

 

翻譯如下:

當任何備份服務利用SQL Server虛擬設備介面(VDI)嘗試備份資料庫(使用with snapshot時)或資料庫文件所在的磁碟時,這個消息就會記錄在錯誤日誌(Error Log)里。 Micorsoft Backup(ntbackup.exe),捲影複製(Volume Shadow Copy VSS), 數據保護管理器(Data Protection Manager DPM)和第三方工具,例如賽門鐵克Symantec 業務連續性捲(Business Continuance Volume)(BCV),這些都是會導致這類消息記錄到SQL Server錯誤日誌的應用程式。

那麼這些消息是什麼意思呢? 讓我用一個例子來解釋下。 假設你配置ntbackup.exe去備份D盤。這個磁碟上有一些SQL Server的資料庫相關的數據文件。由於SQL Server要使用那些數據文件,因此如果這些文件在備份時複製將出現不一致。為了確保資料庫文件在磁碟備份時是一致的,這些應用程式內部會使用BACKUP DATABASE [databasename] WITH SNAPSHOT命令來備份資料庫。當命令執行時,資料庫上的I/O會凍結並且備份應用程式被通知繼續進行起操作。直到BACKUP WITH SNAPSHOT命令執行完成,資料庫的凍結的I/O當備份命令一旦完成就會恢復。相應的消息也就會記錄到SQL Server錯誤日誌中。

 

後面檢查發現,剛剛我們在這個時間段有PlateSpin的備份作業在運行(資料庫伺服器是VMware,系統管理員用PlateSpin做DR)。所以也是錯誤日誌出現這些消息的原因。 另外,關於這個知識點,也有下麵一些資料供參考、學習。

 

案例 Frozen messages while taking NT Backup for SQL databases

 

關於VDI(VSS)的介紹,可以參考下麵鏈接

How It Works: SQL Server – VDI (VSS) Backup Resources

 

另外關於Database Snapshots (SQL Server)它也是有一些限制和性能開銷的。如下截圖所示:

 

clipboard[1]

 

參考資料:

http://www.sqldbadiaries.com/2010/11/28/io-is-frozen-on-database-no-user-action-is-required/

https://blogs.msdn.microsoft.com/psssql/2009/03/03/how-it-works-sql-server-vdi-vss-backup-resources/

https://msdn.microsoft.com/en-us/library/ms175158.aspx


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • The Write Less , Do More ! jQuery選擇器 1. #id : 根據給定的ID匹配一個元素 結果: 這是第一個p標簽 這是第二個p標簽 2. element : 根據給定的元素標簽名匹配所有元素 結果: 這是div標簽1 這是div標簽2 這是p標簽 3. .class ...
  • 前面的話 前面分別介紹了拖拽模擬和磁性吸附,當可視區域記憶體在多個可拖拽元素,就出現碰撞檢測的問題,這也是javascript動畫的一個經典問題。本篇將詳細介紹碰撞檢測 原理介紹 碰撞檢測的方法有很多,接下來使用九宮格分析法 假設黃色元素要與紅色元素進行碰撞。將紅色元素所處的區域分為9部分,自身處於第 ...
  • SQLSERVER編譯與重編譯 編譯的含義 當SQLSERVER收到任何一個指令,包括查詢(query)、批處理(batch)、存儲過程、觸發器(trigger) 、預編譯指令(prepared statement)和動態SQL語句(dynamic SQL Statement)要完成語法解釋、語句解 ...
  • 將Mahout on Spark 中的機器學習演算法和MLlib中支持的演算法統計如下: 主要針對MLlib進行總結 分類與回歸 分類和回歸是監督式學習; 監督式學習是指使用有標簽的數據(LabeledPoint)進行訓練,得到模型後,使用測試數據預測結果。其中標簽數據是指已知結果的特征數據。 分類和回 ...
  • SQL Server的IO性能受到物理Disk的IO延遲和SQL Server內部執行的IO操作的影響。在監控Disk性能時,最主要的度量值(metric)是IO延遲,IO延遲是指從Application創建IO請求,到Disk完成IO請求的時間延遲。如果物理Disk不能及時完成IO請求,跟不上請求 ...
  • CREATE DATABASE statement not allowed within multi-statement transaction. 剛開始報這個錯誤的時候,我上度娘搜了一下。 別人是在Sql Server 管理界面新增數據的時候,報的錯誤。 而我,是在ASP.NET MVC程式啟動, ...
  • Oracle ORA-07445 evaopn2()+128錯誤問題 問題描述 Plsql developer執行一段sql報錯: 經查alert log詳細報錯信息為: ORA-07445: exception encountered: core dump [evaopn2()+128] [SIG... ...
  • 本文目錄列表: 1、sys.sp_helptext存儲的功能和效果 2、重構sys.sp_helptext存儲(命名為dbo.usp_helptext)提供直觀的效果 3、sys.sp_helptext和dbo.usp_helptext的限制以及解決方案 4、總結語 5、參考清單列表 1、sys.s ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...