• <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  評(píng)論-223  文章-30  trackbacks-0
            為什么用VSS
               VSS是Windows系統(tǒng)的卷影像拷貝服務(wù),用于解決如下問(wèn)題:
                   ◆ 許多備份工具涉及打開(kāi)文件
                   ◆ 但是若一個(gè)應(yīng)用程序已經(jīng)以獨(dú)占方式打開(kāi)文件并進(jìn)行訪問(wèn)時(shí),備份工具則不能訪問(wèn)該文件
                   ◆ 即使備份工具能夠訪問(wèn)已打開(kāi)的文件,也可能造成備份文件的不一致性
               在實(shí)際數(shù)據(jù)災(zāi)備中,主流廠商實(shí)現(xiàn)SQL Server的熱備并不會(huì)使用數(shù)據(jù)庫(kù)自帶的backup database/backup log命令,因?yàn)檫@種方式在應(yīng)急容災(zāi)(此時(shí)源數(shù)據(jù)庫(kù)已宕機(jī))掛載數(shù)據(jù)時(shí)要先還原,而還原要連接數(shù)據(jù)庫(kù)運(yùn)行restore database/restore log命令,這樣就需要部署一臺(tái)機(jī)器裝上SQL Server專用于還原,不僅增大了成本而且延長(zhǎng)了RTO;而使用VSS,備份的就是SQL Server的數(shù)據(jù)文件及日志文件,在應(yīng)急容災(zāi)掛載時(shí)可直接打開(kāi)并用于增刪改查,無(wú)須還原,免去了機(jī)器成本并降低了RTO(只存在數(shù)據(jù)庫(kù)掛載時(shí)的事務(wù)恢復(fù)時(shí)間)。

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

            VSS原理示例
                                      
               無(wú)論何時(shí),當(dāng)卷影像拷貝驅(qū)動(dòng)程序看到一個(gè)針對(duì)原始卷的寫操作時(shí),它把將要被修改的扇區(qū)的內(nèi)容復(fù)制到一個(gè)與影像卷相關(guān)聯(lián)的、由頁(yè)面文件支持的內(nèi)存區(qū)中     
                  ◆ 對(duì)于已修改扇區(qū)的影像卷讀操作,從該內(nèi)存區(qū)中讀取數(shù)據(jù)
                  ◆ 對(duì)于未修改扇區(qū)的影像卷讀操作,從原始卷中讀取

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

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

                     3. SQL Writer配置
                         xml格式說(shuō)明
                           writer節(jié)點(diǎn)
                              id屬性                                 ---  寫者唯一ID
                              server_name屬性                 ---  SQLServer服務(wù)名
                              stop_restore_start屬性(可選) --- 表示恢復(fù)時(shí)是否先停止數(shù)據(jù)庫(kù)服務(wù)再啟動(dòng),yes表示先停再啟,no則反之,這個(gè)用于恢復(fù)系統(tǒng)數(shù)據(jù)庫(kù)master,因?yàn)閙aster不支持在線恢復(fù)
                              component節(jié)點(diǎn) 
                                 pathname屬性                  --- 邏輯路徑名
                                 file節(jié)點(diǎn)
                                    src_path節(jié)點(diǎn)                 --- SQL Server文件所在路徑的匹配模式
                                    alternate_path節(jié)點(diǎn)        --- 恢復(fù)時(shí)的備選路徑,用于合成差異增量
                
                         示例
                            <?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) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Database
            无码8090精品久久一区| 久久久久久国产a免费观看不卡| 久久久久se色偷偷亚洲精品av| 亚洲精品tv久久久久久久久| 88久久精品无码一区二区毛片| 亚洲欧洲中文日韩久久AV乱码| 97精品伊人久久大香线蕉| 中文字幕无码av激情不卡久久| 91精品国产91久久久久福利 | 亚洲午夜精品久久久久久人妖| 国产精品女同一区二区久久| 狠狠色丁香久久婷婷综合| 热久久国产欧美一区二区精品| 亚洲乱码日产精品a级毛片久久| 99久久婷婷国产一区二区| 国产精品久久久久久搜索| 久久AV高清无码| 一级女性全黄久久生活片免费| 久久国产成人精品麻豆| 久久精品国产亚洲沈樵| 99久久精品这里只有精品 | 国内精品欧美久久精品| 91视频国产91久久久| 97久久精品午夜一区二区| 亚洲日本久久久午夜精品| 久久笫一福利免费导航 | 伊人久久大香线蕉精品| 色诱久久久久综合网ywww | 91麻精品国产91久久久久| 久久91精品国产91久久小草| 国产精品热久久毛片| 色婷婷久久综合中文久久蜜桃av| 久久久国产精品网站| 久久久久久一区国产精品| 精品久久久久成人码免费动漫| 亚洲精品97久久中文字幕无码| 色天使久久综合网天天| 亚洲AV无码1区2区久久| 99久久成人国产精品免费| 欧美午夜A∨大片久久 | 国产成人精品久久亚洲高清不卡|