亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >Transact-SQL 參考 (RESTORE) 創(chuàng)建者:webmaster 更新時間:2006-01-14 00:00

    還原使用 BACKUP 命令所做的備份。有關(guān)數(shù)據(jù)庫備份和還原操作的更多信息,請參見備份和還原數(shù)據(jù)庫。


    語法

    還原整個數(shù)據(jù)庫:


    RESTORE DATABASE { database_name | @database_name_var }
    [ FROM < backup_device > [ ,...n ] ]
    [ WITH
    ????[ RESTRICTED_USER ]
    ????[ [ , ] FILE = { file_number | @file_number } ]
    ????[ [ , ] PASSWORD = { password | @password_variable } ]
    ????
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    ????[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    ????[ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ]
    ????????????[ ,...n ]

    ????[ [ , ] KEEP_REPLICATION ]
    ????[ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ]
    ????[ [ , ] { NOREWIND | REWIND } ]

    ????[ [ , ] { NOUNLOAD | UNLOAD } ]
    ????[ [ , ] REPLACE ]
    ????[ [ , ] RESTART ]
    ????[ [ , ] STATS [ = percentage ] ]
    ]


    還原數(shù)據(jù)庫的部分內(nèi)容:


    RESTORE DATABASE { database_name | @database_name_var }
    ????< file_or_filegroup > [ ,...n ]
    [ FROM < backup_device > [ ,...n ] ]
    [ WITH

    ????{ PARTIAL }
    ????
    [ [ , ] FILE = { file_number | @file_number } ]
    ????[ [ , ] PASSWORD = { password | @password_variable } ]
    ????
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    ????[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    ????[ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ]

    ????????????[ ,...n ]
    ????[ [ , ] NORECOVERY ]
    ????[ [ , ] { NOREWIND | REWIND } ]
    ????[ [ , ] { NOUNLOAD | UNLOAD } ]
    ????[ [ , ] REPLACE ]
    ????[ [ , ] RESTRICTED_USER ]
    ????[ [ , ] RESTART ]
    ????[ [ , ] STATS [ = percentage ] ]
    ]


    還原特定的文件或文件組:


    RESTORE DATABASE { database_name | @database_name_var }
    ????< file_or_filegroup > [ ,...n ]
    [ FROM < backup_device > [ ,...n ] ]
    [ WITH

    ????[ RESTRICTED_USER ]
    ????[ [ , ] FILE = { file_number | @file_number } ]
    ????[ [ , ] PASSWORD = { password | @password_variable } ]
    ????
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    ????[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    ????[ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ]

    ????????????[ ,...n ]
    ????[ [ , ] NORECOVERY ]
    ????[ [ , ] { NOREWIND | REWIND } ]
    ????[ [ , ] { NOUNLOAD | UNLOAD } ]
    ????[ [ , ] REPLACE ]
    ????[ [ , ] RESTART ]
    ????[ [ , ] STATS [ = percentage ] ]
    ]


    還原事務(wù)日志:


    RESTORE LOG { database_name | @database_name_var }
    [ FROM < backup_device > [ ,...n ] ]
    [ WITH
    ????[ RESTRICTED_USER ]
    ????[ [ , ] FILE = { file_number | @file_number } ]
    ????[ [ , ] PASSWORD = { password | @password_variable } ]
    ????[ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name' ]
    ????????????[ ,...n ]

    ????[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    ????[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    ????[ [ , ] KEEP_REPLICATION ]

    ????[ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ]
    ????[ [ , ] { NOREWIND | REWIND } ]
    ????[ [ , ] { NOUNLOAD | UNLOAD } ]
    ????[ [ , ] RESTART ]
    ????[ [ , ] STATS [= percentage ] ]
    ????[ [ , ] STOPAT = { date_time | @date_time_var }
    ????????| [ , ] STOPATMARK = 'mark_name' [ AFTER datetime ]
    ????????| [ , ] STOPBEFOREMARK = 'mark_name' [ AFTER datetime ]
    ????]
    ]


    < backup_device > ::=
    ????{
    ????????{ 'logical_backup_device_name' | @logical_backup_device_name_var }
    ????????| { DISK | TAPE } =
    ????????????
    { 'physical_backup_device_name' | @physical_backup_device_name_var }
    ????}


    < file_or_filegroup > ::=
    ????
    {
    ????????FILE = { logical_file_name | @logical_file_name_var }
    ????????|
    ????????FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var}
    ????}


    參數(shù)

    DATABASE


    指定從備份還原整個數(shù)據(jù)庫。如果指定了文件和文件組列表,則只還原那些文件和文件組。


    {database_name | @database_name_var}


    是將日志或整個數(shù)據(jù)庫還原到的數(shù)據(jù)庫。如果將其作為變量 (@database_name_var) 提供,則可將該名稱指定為字符串常量 (@database_name_var = database name) 或字符串數(shù)據(jù)類型(ntext text 數(shù)據(jù)類型除外)的變量。


    FROM


    指定從中還原備份的備份設(shè)備。如果沒有指定 FROM 子句,則不會發(fā)生備份還原,而是恢復(fù)數(shù)據(jù)庫。可用省略 FROM 子句的辦法嘗試恢復(fù)通過 NORECOVERY 選項還原的數(shù)據(jù)庫,或切換到一臺備用服務(wù)器上。如果省略 FROM 子句,則必須指定 NORECOVERY、RECOVERY 或 STANDBY。


    < backup_device >


    指定還原操作要使用的邏輯或物理備份設(shè)備??梢允窍铝幸环N或多種形式:


    {'logical_backup_device_name' | @logical_backup_device_name_var}
    是由 sp_addumpdevice 創(chuàng)建的備份設(shè)備(數(shù)據(jù)庫將從該備份設(shè)備還原)的邏輯名稱,該名稱必須符合標識符規(guī)則。如果作為變量 (@logical_backup_device_name_var) 提供,則可以指定字符串常量 (@logical_backup_device_name_var = logical_backup_device_name) 或字符串數(shù)據(jù)類型(ntext text 數(shù)據(jù)類型除外)的變量作為備份設(shè)備名。

    {DISK | TAPE } =
    '
    physical_backup_device_name' | @physical_backup_device_name_var
    允許從命名磁盤或磁帶設(shè)備還原備份。磁盤或磁帶的設(shè)備類型應(yīng)該用設(shè)備的真實名稱(例如:完整的路徑和文件名)來指定:DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Mybackup.dat' 或 TAPE = '\\.\TAPE0'。如果指定為變量 (@physical_backup_device_name_var),則設(shè)備名稱可以是字符串常量 (@physical_backup_device_name_var = 'physical_backup_device_name') 或字符串數(shù)據(jù)類型(ntext text 數(shù)據(jù)類型除外)的變量。

    如果使用的是含有 UNC 名稱的網(wǎng)絡(luò)服務(wù)器或已重新定向的驅(qū)動器號,則請指定磁盤的設(shè)備類型。運行 SQL Server 時所使用的帳戶必須具有對遠程計算機或網(wǎng)絡(luò)服務(wù)器的 READ 訪問權(quán),這樣才能執(zhí)行RESTORE 操作。


    n


    是表示可以指定多個備份設(shè)備和邏輯備份設(shè)備的占位符。備份設(shè)備或邏輯備份設(shè)備最多可以為 64 個。


    RESTRICTED_USER


    限制只有 db_owner、dbcreator sysadmin 角色的成員才能訪問新近還原的數(shù)據(jù)庫。在 SQL Server 2000 中,RESTRICTED_USER 替換了選項 DBO_ONLY。提供 DBO_ONLY 只是為了向后兼容。


    該選項可與 RECOVERY 選項一起使用。


    有關(guān)更多信息,請參見設(shè)置數(shù)據(jù)庫選項。


    FILE = { file_number | @file_number }


    標識要還原的備份集。例如,file_number 為 1 表示備份媒體上的第一個備份集,file_number 為 2 表示第二個備份集。


    PASSWORD = { password | @password_variable }


    提供備份集的密碼。PASSWORD 是一個字符串。如果在創(chuàng)建備份集時提供了密碼,則從備份集執(zhí)行還原操作時必須提供密碼。


    有關(guān)使用密碼的更多信息,請參見"權(quán)限"。


    MEDIANAME = {media_name | @media_name_variable}


    指定媒體名稱。如果提供媒體名稱,該名稱必須與備份卷上的媒體名稱相匹配,否則還原操作將終止。如果 RESTORE 語句沒有給出媒體名稱,將不對備份卷執(zhí)行媒體名稱匹配檢查。



    重要??在備份和還原操作中使用一致的媒體名稱可以為用于還原操作的媒體提供額外的安全檢查。



    MEDIAPASSWORD = { mediapassword | @mediapassword_variable}


    提供媒體集的密碼。MEDIAPASSWORD 是一個字符串。


    如果格式化媒體集時提供了密碼,則訪問該媒體集上的任何備份集時都必須提供該密碼。


    MOVE 'logical_file_name' TO 'operating_system_file_name'


    指定應(yīng)將給定的 logical_file_name 移到 operating_system_file_name。默認情況下,logical_file_name 將還原到其原始位置。如果使用 RESTORE 語句將數(shù)據(jù)庫復(fù)制到相同或不同的服務(wù)器上,則可能需要使用 MOVE 選項重新定位數(shù)據(jù)庫文件以避免與現(xiàn)有文件沖突。可以在不同的 MOVE 語句中指定數(shù)據(jù)庫內(nèi)的每個邏輯文件。



    說明??使用 RESTORE FILELISTONLY 從備份集中獲取邏輯文件列表。



    有關(guān)更多信息,請參見復(fù)制數(shù)據(jù)庫


    n


    占位符,表示可通過指定多個 MOVE 語句移動多個邏輯文件。


    NORECOVERY


    指示還原操作不回滾任何未提交的事務(wù)。如果需要應(yīng)用另一個事務(wù)日志,則必須指定 NORECOVERY 或 STANDBY 選項。如果 NORECOVERY、RECOVERY 和 STANDBY 均未指定,則默認為 RECOVERY。


    當還原數(shù)據(jù)庫備份和多個事務(wù)日志時,或在需要多個 RESTORE 語句時(例如在完整數(shù)據(jù)庫備份后進行差異數(shù)據(jù)庫備份),SQL Server 要求在除最后的 RESTORE 語句外的所有其它語句上使用 WITH NORECOVERY 選項。



    說明??如果指定 NORECOVERY 選項,數(shù)據(jù)庫將處于這個中間的未恢復(fù)狀態(tài)而不可用。



    當用于文件或文件組還原操作時,NORECOVERY 強制數(shù)據(jù)庫在還原操作結(jié)束后保持還原狀態(tài)。這在以下情況中很有用:


    • 還原腳本正在運行并且始終要應(yīng)用日志。


    • 使用文件還原序列,并且在兩次還原操作之間不能使用數(shù)據(jù)庫。

    RECOVERY


    指示還原操作回滾任何未提交的事務(wù)。在恢復(fù)進程后即可隨時使用數(shù)據(jù)庫。


    如果安排了后續(xù) RESTORE 操作(RESTORE LOG 或從差異數(shù)據(jù)庫備份 RESTORE DATABASE),則應(yīng)改為指定 NORECOVERY 或 STANDBY。


    如果 NORECOVERY、RECOVERY 和 STANDBY 均未指定,則默認為 RECOVERY。當從 SQL Server 早期版本中還原備份集時,可能要求將數(shù)據(jù)庫升級。如果指定了 WITH RECOVERY,升級將自動進行。有關(guān)更多信息,請參見事務(wù)日志備份。


    STANDBY = undo_file_name


    指定撤消文件名以便可以取消恢復(fù)效果。撤消文件的大小取決于因未提交的事務(wù)所導(dǎo)致的撤消操作量。如果 NORECOVERY、RECOVERY 和 STANDBY 均未指定,則默認為 RECOVERY。


    STANDBY 允許將數(shù)據(jù)庫設(shè)定為在事務(wù)日志還原期間只能讀取,并且可用于備用服務(wù)器情形,或用于需要在日志還原操作之間檢查數(shù)據(jù)庫的特殊恢復(fù)情形。


    如果指定的撤消文件名不存在,SQL Server 將創(chuàng)建該文件。如果該文件已存在,則 SQL Server 將重寫它。


    對同一數(shù)據(jù)庫的連續(xù)還原可以使用相同的撤消文件。有關(guān)更多信息,請參見使用備用服務(wù)器



    重要??如果指定的撤消文件所在的驅(qū)動器上沒有可用的磁盤空間,還原操作將停止。



    如果必須升級數(shù)據(jù)庫,則不允許 STANDBY。


    KEEP_REPLICATION


    指示還原操作在將發(fā)布的數(shù)據(jù)庫還原到創(chuàng)建它的服務(wù)器以外的服務(wù)器上時保留復(fù)制設(shè)置。當設(shè)置復(fù)制與日志傳送一同使用時,需使用 KEEP_REPLICATION。這樣,當在備用服務(wù)器上還原數(shù)據(jù)庫或日志備份并且恢復(fù)數(shù)據(jù)庫時,可防止刪除復(fù)制設(shè)置。還原備份時若指定了該選項,則不能選擇 NORECOVERY 選項。


    NOUNLOAD


    指定不在 RESTORE 后從磁帶機中自動卸載磁帶。設(shè)置始終為 NOUNLOAD,直到指定 UNLOAD 為止。該選項只用于磁帶設(shè)備。如果對 RESTORE 使用非磁帶設(shè)備,將忽略該選項。


    NOREWIND


    指定 SQL Server 在備份操作完成后使磁帶保持打開。磁帶保持打開將防止其它過程訪問磁帶。直到頒發(fā) REWIND 或 UNLOAD 語句,或直到服務(wù)器關(guān)閉時,才釋放該磁帶。通過查詢 master 數(shù)據(jù)庫中的 sysopentapes 表可查找當前打開的一系列磁帶。


    NOREWIND 意即 NOUNLOAD。該選項只用于磁帶設(shè)備。如果對 RESTORE 使用非磁帶設(shè)備,將忽略該選項。


    REWIND


    指定 SQL Server 將釋放磁帶和倒帶。如果 NOREWIND 和 REWIND 均未指定,則默認設(shè)置為 REWIND。該選項只用于磁帶設(shè)備。如果對 RESTORE 使用非磁帶設(shè)備,將忽略該選項。


    UNLOAD


    指定在還原完成后自動倒帶并卸載磁帶。啟動新用戶會話時其默認設(shè)置為 UNLOAD。設(shè)置始終為 UNLOAD,直到指定 NOUNLOAD 為止。該選項只用于磁帶設(shè)備。如果對 RESTORE 使用非磁帶設(shè)備,將忽略該選項。


    REPLACE


    指定即使存在另一個具有相同名稱的數(shù)據(jù)庫,SQL Server 也應(yīng)該創(chuàng)建指定的數(shù)據(jù)庫及其相關(guān)文件。在這種情況下將刪除現(xiàn)有的數(shù)據(jù)庫。如果沒有指定 REPLACE 選項,則將進行安全檢查以防止意外重寫其它數(shù)據(jù)庫。安全檢查可確保在以下情況中,RESTORE DATABASE 語句不會將數(shù)據(jù)庫還原到當前服務(wù)器:


    1. 在 RESTORE 語句中命名的數(shù)據(jù)庫已經(jīng)在當前服務(wù)器上存在,并且


    2. 該數(shù)據(jù)庫名稱與備份集中記錄的數(shù)據(jù)庫名稱不同。

    若無法驗證現(xiàn)有文件是否屬于正在還原的數(shù)據(jù)庫,則 REPLACE 也允許 RESTORE 重寫該文件。RESTORE通常拒絕重寫已存在的文件。


    RESTART


    指定 SQL Server 應(yīng)重新啟動被中斷的還原操作。RESTART 從中斷點重新啟動還原操作。



    重要??只有當直接從磁帶媒體還原以及跨越多個磁帶卷還原時才能使用該選項。



    STATS [= percentage]


    每當另一個 percentage 結(jié)束時顯示一條消息,并用于測量進度。如果省略 percentage,則 SQL Server 每完成 10 個百分比顯示一條消息。


    PARTIAL


    指定部分還原操作。應(yīng)用程序或用戶錯誤經(jīng)常影響到數(shù)據(jù)庫的某個孤立部分(如表)。這類錯誤的例子包括無效更新或錯誤地除去表。為支持從這些事件恢復(fù),SQL Server 提供可將數(shù)據(jù)庫的部分內(nèi)容還原到另一個位置的機制,以使損壞或丟失的數(shù)據(jù)可復(fù)制回原始數(shù)據(jù)庫。


    部分還原操作的粒度是數(shù)據(jù)庫文件組。主要文件和文件組始終同指定的文件及其相應(yīng)的文件組一起還原。還原結(jié)果是數(shù)據(jù)庫的一個子集。沒有還原的文件組被標記為脫機,不能對其進行訪問。


    有關(guān)更多信息,請參見部分數(shù)據(jù)庫還原操作



    指定包括在數(shù)據(jù)庫還原中的邏輯文件或文件組的名稱。可以指定多個文件或文件組。


    FILE = {logical_file_name | @logical_file_name_var}
    命名一個或更多包括在數(shù)據(jù)庫還原中的文件。

    FILEGROUP = {logical_filegroup_name | @logical_filegroup_name_var}
    命名一個或更多包括在數(shù)據(jù)庫還原中的文件組。

    當使用此選項時,最后一個文件或文件組還原操作完成后,必須將事務(wù)日志應(yīng)用于數(shù)據(jù)庫文件,以便前滾文件使之與數(shù)據(jù)庫的其余部分保持一致。如果被還原的文件自上次備份后沒有一個做過修改,則不必應(yīng)用事務(wù)日志。RESTORE 語句向用戶通告這一情況。


    n


    是一個占位符,表示可以指定多個文件和文件組。對文件或文件組的最大個數(shù)沒有限制。


    LOG


    指定對該數(shù)據(jù)庫應(yīng)用事務(wù)日志備份。必須按有序順序應(yīng)用事務(wù)日志。SQL Server 檢查已備份的事務(wù)日志,以確保按正確的序列將事務(wù)裝載到正確的數(shù)據(jù)庫。若要應(yīng)用多個事務(wù)日志,請在除最后一個外的所有還原操作中使用 NORECOVERY 選項。有關(guān)更多信息,請參見事務(wù)日志備份。


    STOPAT = date_time | @date_time_var


    指定將數(shù)據(jù)庫還原到其在指定的日期和時間時的狀態(tài)。如果對 STOPAT 使用變量,則該變量必須是 varchar、char、smalldatetime datetime 數(shù)據(jù)類型。只有在指定的日期和時間前寫入的事務(wù)日志記錄才能應(yīng)用于數(shù)據(jù)庫。



    說明??如果指定的 STOPAT 時間超出 RESTORE LOG 操作的結(jié)束范圍,數(shù)據(jù)庫將處于不可恢復(fù)的狀態(tài),其效果與在 RESTORE LOG 中使用 NORECOVERY 一樣。



    STOPATMARK = 'mark_name' [ AFTER datetime ]


    指定恢復(fù)到指定的標記,包括包含該標記的事務(wù)。如果省略 AFTER datetime,恢復(fù)操作將在含有指定名稱的第一個標記處停止。如果指定 AFTER datetime,恢復(fù)操作將在含有在 datetime 時或 datetime 時之后的指定名稱的第一個標記處停止。


    STOPBEFOREMARK = 'mark_name' [ AFTER datetime ]


    指定恢復(fù)到指定的標記,但不包括包含該標記的事務(wù)。如果省略 AFTER datetime,恢復(fù)操作將在含有指定名稱的第一個標記處停止。如果指定 AFTER datetime,恢復(fù)操作將在含有在 datetime 時或 datetime 時之后的指定名稱的第一個標記處停止。


    注釋

    在還原過程中,指定的數(shù)據(jù)庫必須不處于使用狀態(tài)。指定數(shù)據(jù)庫中的任何數(shù)據(jù)將由還原的數(shù)據(jù)替換。


    有關(guān)數(shù)據(jù)庫恢復(fù)的更多信息,請參見備份和還原數(shù)據(jù)庫。


    只要操作系統(tǒng)支持數(shù)據(jù)庫排序規(guī)則,就可以跨平臺執(zhí)行還原操作,即使這些平臺使用不同的處理器類型。有關(guān)更多信息,請參見 SQL Server 排序規(guī)則基礎(chǔ)知識


    還原類型

    下面是 SQL Server支持的還原類型:


    • 還原整個數(shù)據(jù)庫的完整數(shù)據(jù)庫還原。


    • 完整數(shù)據(jù)庫還原和差異數(shù)據(jù)庫還原。通過使用 RESTORE DATABASE 語句還原差異備份。


    • 事務(wù)日志還原。


    • 個別文件和文件組還原。文件和文件組的還原既可以通過文件或文件組備份操作完成,也可以通過完整數(shù)據(jù)庫備份操作完成。在還原文件或文件組時,必須應(yīng)用事務(wù)日志。此外,文件差異備份可以在完成完整文件還原后還原。

      有關(guān)更多信息,請參見事務(wù)日志備份


    • 創(chuàng)建并維護熱備用服務(wù)器或備用服務(wù)器。有關(guān)備用服務(wù)器的更多信息,請參見使用備用服務(wù)器。

    若要維護向后兼容性,可以在 RESTORE 語句語法中使用以下關(guān)鍵字:


    • LOAD 可用于代替 RESTORE 關(guān)鍵字。


    • TRANSACTION 關(guān)鍵字可用于代替 LOG 關(guān)鍵字。


    • DBO_ONLY 關(guān)鍵字可用于代替 RESTRICTED_USER 關(guān)鍵字。

    數(shù)據(jù)庫設(shè)置和還原

    當使用 RESTORE DATABASE 語句時,可還原的數(shù)據(jù)庫選項(除 offline 外的所有其它 ALTER DATABASE 可設(shè)置選項,以及 merge publish、publishedsubscribed 復(fù)制選項)將在 BACKUP 操作結(jié)束時大規(guī)模地重置為設(shè)置值。



    說明??該行為與 Microsoft SQL Server 的早期版本不同。



    但是,使用選項 WITH RESTRICTED_USER 將替代用戶訪問選項設(shè)置的行為。該設(shè)置總是通過在 RESTORE 語句后加上 WITH RESTRICTED_USER 選項來設(shè)置。


    有關(guān)更多信息,請參見備份和還原復(fù)制數(shù)據(jù)庫。


    還原歷史記錄表

    SQL Server 包含下列還原歷史記錄表,這些表跟蹤每個計算機系統(tǒng)的 RESTORE 活動:



    說明??執(zhí)行 RESTORE 時,將修改備份歷史記錄表。



    還原已損壞的 master 數(shù)據(jù)庫需要特殊的過程。有關(guān)更多信息,請參見還原 master 數(shù)據(jù)庫。


    通過 Microsoft? SQL Server? 2000 創(chuàng)建的備份無法還原為 SQL Server 的早期版本。


    權(quán)限

    如果不存在要還原的數(shù)據(jù)庫,則用戶必須有 CREATE DATABASE 權(quán)限才能執(zhí)行 RESTORE。如果存在該數(shù)據(jù)庫,則 RESTORE 權(quán)限默認授予 sysadmindbcreator 固定服務(wù)器角色成員以及該數(shù)據(jù)庫的所有者 (dbo)。


    RESTORE 權(quán)限被授予那些成員資格信息始終可由服務(wù)器使用的角色。因為只有在固定數(shù)據(jù)庫可以訪問且沒有損壞時(在執(zhí)行 RESTORE 時并不會總是這樣)才能檢查固定數(shù)據(jù)庫角色成員資格,所以 db_owner 固定數(shù)據(jù)庫角色成員沒有 RESTORE 權(quán)限。


    此外,用戶可以為媒體集、備份集或兩者指定密碼。如果為媒體集指定了密碼,則用戶若只是適當?shù)墓潭ǚ?wù)器和數(shù)據(jù)庫角色成員還不足以執(zhí)行備份。用戶還必須提供媒體密碼才能執(zhí)行這些操作。同樣,除非在還原命令中指定正確的媒體集密碼和備份集密碼,否則不能執(zhí)行還原操作。


    在 BACKUP 語句中,定義備份集密碼和媒體集密碼為可選功能。使用密碼可防止利用 SQL Server 2000 工具未經(jīng)授權(quán)地執(zhí)行還原操作和在媒體中添加備份集,但是,密碼不能防止通過 FORMAT 選項重寫媒體。


    因此,盡管使用密碼對防止利用 SQL Server 工具未經(jīng)授權(quán)地訪問媒體內(nèi)容有幫助,但密碼不能防止媒體內(nèi)容被破壞。密碼不能完全防止未經(jīng)授權(quán)地訪問媒體內(nèi)容,原因在于備份集中的數(shù)據(jù)沒有加密,理論上可以被專為此目的創(chuàng)建的程序所檢查。對于安全性至關(guān)重要的場合,防止未經(jīng)授權(quán)的個人訪問媒體非常重要。


    指定密碼時不限定使用者的做法是錯誤的。


    示例


    說明??所有的示例均假定已執(zhí)行了完整數(shù)據(jù)庫備份。



    A. 還原完整數(shù)據(jù)庫


    說明??MyNwind 數(shù)據(jù)庫僅供舉例說明。



    下例顯示還原完整數(shù)據(jù)庫備份。

    RESTORE DATABASE MyNwind 
      FROM MyNwind_1

    B. 還原完整數(shù)據(jù)庫備份和差異備份

    下例還原完整數(shù)據(jù)庫備份后還原差異備份。另外,下例還說明如何還原媒體上的另一個備份集。差異備份追加到包含完整數(shù)據(jù)庫備份的備份設(shè)備上。

    RESTORE DATABASE MyNwind
      FROM MyNwind_1
      WITH NORECOVERY
    RESTORE DATABASE MyNwind
      FROM MyNwind_1
      WITH FILE = 2

    C. 使用 RESTART 語法還原數(shù)據(jù)庫

    下例使用 RESTART 選項重新啟動因服務(wù)器電源故障而中斷的 RESTORE 操作。

    -- This database RESTORE halted prematurely due to power failure.
    RESTORE DATABASE MyNwind
      FROM MyNwind_1
    -- Here is the RESTORE RESTART operation.
    RESTORE DATABASE MyNwind
      FROM MyNwind_1 WITH RESTART

    D. 還原數(shù)據(jù)庫并移動文件

    下例還原完整數(shù)據(jù)庫和事務(wù)日志,并將已還原的數(shù)據(jù)庫移動到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目錄下。

    RESTORE DATABASE MyNwind
      FROM MyNwind_1
      WITH NORECOVERY,
        MOVE 'MyNwind' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.mdf',
        MOVE 'MyNwindLog1' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.ldf'
    RESTORE LOG MyNwind
      FROM MyNwindLog1
      WITH RECOVERY

    E. 使用 BACKUP 和 RESTORE 創(chuàng)建數(shù)據(jù)庫的復(fù)本

    下例顯示使用 BACKUP 和 RESTORE 語句創(chuàng)建 Northwind 數(shù)據(jù)庫的復(fù)本。MOVE 語句使數(shù)據(jù)和日志文件還原到指定的位置。RESTORE FILELISTONLY 語句用于確定待還原數(shù)據(jù)庫內(nèi)的文件數(shù)及名稱。該數(shù)據(jù)庫的新復(fù)本稱為 TestDB。有關(guān)更多信息,請參見 RESTORE FILELISTONLY

    BACKUP DATABASE Northwind 
      TO DISK = 'c:\Northwind.bak'
    RESTORE FILELISTONLY
      FROM DISK = 'c:\Northwind.bak'
    RESTORE DATABASE TestDB
      FROM DISK = 'c:\Northwind.bak'
      WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
      MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
    GO

    F. 使用 STOPAT 語法還原到即時點和使用多個設(shè)備進行還原

    下例將數(shù)據(jù)庫還原到其在 1998 年 4 月 15 日中午 12 點時的狀態(tài),并顯示涉及多個日志和多個備份設(shè)備的還原操作。

    RESTORE DATABASE MyNwind
      FROM MyNwind_1, MyNwind_2
      WITH NORECOVERY
    RESTORE LOG MyNwind
      FROM MyNwindLog1
      WITH NORECOVERY
    RESTORE LOG MyNwind
      FROM MyNwindLog2
      WITH RECOVERY, STOPAT = 'Apr 15, 1998 12:00 AM'

    G. 使用 TAPE 語法還原

    下例顯示從 TAPE 備份設(shè)備還原完整數(shù)據(jù)庫備份。

    RESTORE DATABASE MyNwind 
      FROM TAPE = '
    \\.\tape0'

    H. 使用 FILE 和 FILEGROUP 語法還原

    下例還原一個包含兩個文件、一個文件組和一個事務(wù)日志的數(shù)據(jù)庫。

    RESTORE DATABASE MyNwind
      FILE = 'MyNwind_data_1',
      FILE = 'MyNwind_data_2',
      FILEGROUP = 'new_customers'

      FROM MyNwind_1
      WITH NORECOVERY
    -- Restore the log backup.
    RESTORE LOG MyNwind
      FROM MyNwindLog1


    I. 將事務(wù)日志還原到標記處

    下例顯示將事務(wù)日志還原到名為"RoyaltyUpdate"的標記處。

    BEGIN TRANSACTION RoyaltyUpdate 
      WITH MARK 'Update royalty values'
    GO
    USE pubs
    GO
    UPDATE roysched
      SET royalty = royalty * 1.10
      WHERE title_id LIKE 'PC%'
    GO
    COMMIT TRANSACTION RoyaltyUpdate
    GO
    --Time passes. Regular database
    --and log backups are taken.
    --An error occurs.
    USE master
    GO

    RESTORE DATABASE pubs
    FROM Pubs1
    WITH FILE = 3, NORECOVERY
    GO
    RESTORE LOG pubs
      FROM Pubs1
      WITH FILE = 4,
      STOPATMARK = 'RoyaltyUpdate'
    相關(guān)文章
    本頁查看次數(shù):