• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-159  評論-223  文章-30  trackbacks-0
            為什么用VSS
               VSS是Windows系統的卷影像拷貝服務,用于解決如下問題:
                   ◆ 許多備份工具涉及打開文件
                   ◆ 但是若一個應用程序已經以獨占方式打開文件并進行訪問時,備份工具則不能訪問該文件
                   ◆ 即使備份工具能夠訪問已打開的文件,也可能造成備份文件的不一致性
               在實際數據災備中,主流廠商實現SQL Server的熱備并不會使用數據庫自帶的backup database/backup log命令,因為這種方式在應急容災(此時源數據庫已宕機)掛載數據時要先還原,而還原要連接數據庫運行restore database/restore log命令,這樣就需要部署一臺機器裝上SQL Server專用于還原,不僅增大了成本而且延長了RTO;而使用VSS,備份的就是SQL Server的數據文件及日志文件,在應急容災掛載時可直接打開并用于增刪改查,無須還原,免去了機器成本并降低了RTO(只存在數據庫掛載時的事務恢復時間)。

            VSS架構
               VSS包括Requestor、Writer、Provider和VSS核心模塊四部分,如下圖所示
                                        
               Requestor在本文中表示熱備份應用程序;Writer主要功能是保證數據的一致性,使得那些能夠感知影像拷貝的應用程序能夠接收到凍結(freeze)和解凍(thaw)通知,以確保其文件的備份拷貝是內在一致的,在本文中即指SQL Server自帶的SQL Writer;Provider主要功能是創建影像拷貝即打快照,允許將ISV特定的存儲方案與影像拷貝服務集成起來,在本文中即volsnap.sys存儲過濾型驅動程序,位于文件系統和卷管理器之間;VSS核心模塊即圖中的卷影像拷貝服務,主要功能是協調各個模塊的協作運行,并提供創建及管理卷影像拷貝的API接口。

            VSS原理示例
                                      
               無論何時,當卷影像拷貝驅動程序看到一個針對原始卷的寫操作時,它把將要被修改的扇區的內容復制到一個與影像卷相關聯的、由頁面文件支持的內存區中     
                  ◆ 對于已修改扇區的影像卷讀操作,從該內存區中讀取數據
                  ◆ 對于未修改扇區的影像卷讀操作,從原始卷中讀取

            備份應用程序、Provider和SQL Writer的局限
               ◆ 只能備份Windows系統支持的本地文件系統上的文件,不支持遠程共享或交叉掛載的文件系統
               ◆ 對于系統提供者(Windows系統默認自帶的Provider,使用寫時拷貝技術),被拷貝的源卷不必是NTFS卷,但影像卷必須是NTFS卷
               ◆ SQL Writer支持全量備份及恢復、支持差異備份及恢復和Copy Only備份,但不支持備份連續事務日志、文件和文件組,不支持頁恢復

            怎樣使用VSS
               微軟官網提供的VSS SDK 7.2(https://www.microsoft.com/en-us/download/details.aspx?id=23490)中自帶了vshadowbetest工具源碼,經過筆者修正一些bug(win 10 + vs2010),并為了備份配置方便將原來的文本換成xml格式,成功地實現了SQL Server的全量熱備及恢復、差量熱備及恢復
               vshadow用法
                  以管理員身份在ms-dos窗口下執行vshadow.exe /?,可得到所有的幫助
                  示例
                     可用vshadow -wm獲取當前系統所有寫者的元數據,再從中查找SQL Server Writer的寫者ID及它下面COM組件的邏輯路徑和名稱
                
               betest用法
                  以管理員身份在ms-dos窗口下執行betest.exe /?,可得到所有的幫助
                  示例
                     1. 全量備份SQL Server
                         betest.exe /v /b /t FULL /s backupfull.xml  /d f:\backupfull /c SQLWriter.xml
                            /v -- 輸出詳細信息,可選的
                            /b -- 備份
                            /t -- 備份類型
                            /s -- 備份/恢復組件XML格式文檔,內含寫者及其下組件的元數據(非常重要)
                            /d -- 備份目錄
                            /c -- 相關寫者的配置文件,文件內含寫者ID及其下COM組件的邏輯全路徑名
                 
                       全量恢復SQL Server
                         betest.exe /v /r /s backupfull.xml  /d f:\backupfull  /c SQLWriter.xml
                            /r -- 恢復
                            其它選項說明同上,下同 
                
                     2. 差異備份SQL Server
                        betest.exe /v /b /t DIFFERENTIAL /s backupdiff.xml /pre backupfull.xml /d f:\backupdiff /c SQLWriter.xml
                           /pre -- 表示前次基準的全量備份生成的組件XML格式文檔
                
                       差異恢復SQL Server 
                          a) betest.exe /v /r /AdditionalRestores /s backupfull.xml /d f:\backupfull /c SQLWriter.xml
                                 /AdditionRestores -- 用于差異恢復的選項,表示全量后面需要緊跟差異恢復才能完成數據庫恢復
                          b) betest.exe /v /r /s backupdiff.xml /d f:\backupdiff /c SQLWriter.xml 
                                 注意,此時/s跟的是差異備份生成的backupdiff.xml文件,/d跟的是差異備份目錄

                     3. SQL Writer配置
                         xml格式說明
                           writer節點
                              id屬性                                 ---  寫者唯一ID
                              server_name屬性                 ---  SQLServer服務名
                              stop_restore_start屬性(可選) --- 表示恢復時是否先停止數據庫服務再啟動,yes表示先停再啟,no則反之,這個用于恢復系統數據庫master,因為master不支持在線恢復
                              component節點 
                                 pathname屬性                  --- 邏輯路徑名
                                 file節點
                                    src_path節點                 --- SQL Server文件所在路徑的匹配模式
                                    alternate_path節點        --- 恢復時的備選路徑,用于合成差異增量
                
                         示例
                            <?xml version="1.0" encoding="utf-8"?>
                            <betest>
                               <writer id="{a65faa63-5ea8-4ebc-9dbd-a0c4db26912a}"  service_name="MSSQLSERVER" stop_restore_start="no">   
                                  <component pathname="DESKTOP-JUP320L\master">                                                 
                                     <file>
                                        <src_path>E:\*...</src_path>
                                        <alternate_path>f:\sqlserver\</alternate_path>              
                                     </file>
                                 </component>
                                 <component pathname="DESKTOP-JUP320L\model">
                                    <!--file>
                                       <src_path>E:\*...</src_path>
                                       <alternate_path>f:\sqlserver\</alternate_path>
                                    </file-->
                                 </component>    
                                 <component pathname="DESKTOP-JUP320L\test">
                                    <!--file>
                                       <src_path>E:\*...</src_path>
                                       <alternate_path>f:\sqlserver\</alternate_path>
                                    </file-->
                                 </component>
                               </writer>
                             </betest>
            posted on 2020-05-02 16:31 春秋十二月 閱讀(1477) 評論(0)  編輯 收藏 引用 所屬分類: Database
            精品久久久无码21p发布| 午夜精品久久久久9999高清| 成人综合久久精品色婷婷| 日韩久久久久中文字幕人妻| 精品久久久中文字幕人妻| 99久久精品国内| 97久久精品人人做人人爽| 无码乱码观看精品久久| 欧美噜噜久久久XXX| 久久精品国产亚洲5555| 欧美一区二区三区久久综合| 国产亚洲成人久久| 色综合久久综合中文综合网| 久久久久国产一级毛片高清版| 久久天天躁狠狠躁夜夜av浪潮| 久久久久久久波多野结衣高潮 | 影音先锋女人AV鲁色资源网久久| 久久亚洲精品中文字幕| 久久中文精品无码中文字幕| 久久亚洲私人国产精品vA| 久久国产精品偷99| 欧美大香线蕉线伊人久久| 国产成人久久精品麻豆一区| 亚洲第一极品精品无码久久| 久久精品国产99久久香蕉| 久久久久亚洲av无码专区喷水| 日韩亚洲国产综合久久久| 久久精品视频网| 99久久人妻无码精品系列蜜桃| 一级做a爰片久久毛片看看| 精品无码久久久久久久久久| 久久国产亚洲精品无码| 精品多毛少妇人妻AV免费久久| 久久久久亚洲精品无码网址 | 久久久久久狠狠丁香| 亚洲精品国精品久久99热一 | 一本色综合网久久| 四虎亚洲国产成人久久精品| 久久91精品综合国产首页| 国产精品成人99久久久久 | 99久久精品这里只有精品|