• <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>
            隨筆-161  評論-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 春秋十二月 閱讀(1499) 評論(0)  編輯 收藏 引用 所屬分類: Database
            久久99国产综合精品| 久久久久人妻一区精品色| 人妻无码久久精品| 色婷婷久久久SWAG精品| 日韩久久久久久中文人妻| 97久久超碰国产精品2021| 久久人人爽人人爽人人片AV麻豆| 色狠狠久久综合网| 国产成人99久久亚洲综合精品 | 色诱久久久久综合网ywww| 91精品国产综合久久婷婷| 亚洲国产成人久久一区久久| 久久久久亚洲精品无码蜜桃| 亚洲日韩欧美一区久久久久我| 国产精品久久久天天影视| 国产毛片欧美毛片久久久| 欧美亚洲另类久久综合| 精品久久久久久亚洲精品| 久久这里的只有是精品23| 国产成人久久久精品二区三区| 久久影院综合精品| 久久99热这里只频精品6| 国内精品久久久久久中文字幕| 2021久久精品国产99国产精品| 狠狠色丁香久久婷婷综合_中| 久久精品综合一区二区三区| 四虎国产精品免费久久久| 狠狠88综合久久久久综合网| 久久亚洲精品无码aⅴ大香| 开心久久婷婷综合中文字幕| 久久激情五月丁香伊人| 久久国产视屏| 日本精品久久久久影院日本| 亚洲欧美成人久久综合中文网| 国内精品久久久久久久久电影网| 久久国产精品99精品国产987| 国产精品久久久久影院色| 高清免费久久午夜精品| 精品国产91久久久久久久| 国产亚洲精久久久久久无码AV| 久久久免费观成人影院 |