精品国产亚洲一区二区三区,男女作爱在线观看免费网站,欧美的又大又长做禁片A片,97国产精品人妻无码久久久

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

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


    語(yǔ)法

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


    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ù)庫(kù)的部分內(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


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


    {database_name | @database_name_var}


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


    FROM


    指定從中還原備份的備份設(shè)備。如果沒(méi)有指定 FROM 子句,則不會(huì)發(fā)生備份還原,而是恢復(fù)數(shù)據(jù)庫(kù)。可用省略 FROM 子句的辦法嘗試恢復(fù)通過(guò) NORECOVERY 選項(xiàng)還原的數(shù)據(jù)庫(kù),或切換到一臺(tái)備用服務(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ù)庫(kù)將從該備份設(shè)備還原)的邏輯名稱(chēng),該名稱(chēng)必須符合標(biāo)識(shí)符規(guī)則。如果作為變量 (@logical_backup_device_name_var) 提供,則可以指定字符串常量 (@logical_backup_device_name_var = logical_backup_device_name) 或字符串?dāng)?shù)據(jù)類(lèi)型(ntext text 數(shù)據(jù)類(lèi)型除外)的變量作為備份設(shè)備名。

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

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


    n


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


    RESTRICTED_USER


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


    該選項(xiàng)可與 RECOVERY 選項(xiàng)一起使用。


    有關(guān)更多信息,請(qǐng)參見(jiàn)設(shè)置數(shù)據(jù)庫(kù)選項(xiàng)


    FILE = { file_number | @file_number }


    標(biāo)識(shí)要還原的備份集。例如,file_number 為 1 表示備份媒體上的第一個(gè)備份集,file_number 為 2 表示第二個(gè)備份集。


    PASSWORD = { password | @password_variable }


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


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


    MEDIANAME = {media_name | @media_name_variable}


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



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



    MEDIAPASSWORD = { mediapassword | @mediapassword_variable}


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


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


    MOVE 'logical_file_name' TO 'operating_system_file_name'


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



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



    有關(guān)更多信息,請(qǐng)參見(jiàn)復(fù)制數(shù)據(jù)庫(kù)。


    n


    占位符,表示可通過(guò)指定多個(gè) MOVE 語(yǔ)句移動(dòng)多個(gè)邏輯文件。


    NORECOVERY


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


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



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



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


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


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

    RECOVERY


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


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


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


    STANDBY = undo_file_name


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


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


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


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



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



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


    KEEP_REPLICATION


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


    NOUNLOAD


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


    NOREWIND


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


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


    REWIND


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


    UNLOAD


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


    REPLACE


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


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


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

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


    RESTART


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



    重要??只有當(dāng)直接從磁帶媒體還原以及跨越多個(gè)磁帶卷還原時(shí)才能使用該選項(xiàng)。



    STATS [= percentage]


    每當(dāng)另一個(gè) percentage 結(jié)束時(shí)顯示一條消息,并用于測(cè)量進(jìn)度。如果省略 percentage,則 SQL Server 每完成 10 個(gè)百分比顯示一條消息。


    PARTIAL


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


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


    有關(guān)更多信息,請(qǐng)參見(jiàn)部分?jǐn)?shù)據(jù)庫(kù)還原操作。



    指定包括在數(shù)據(jù)庫(kù)還原中的邏輯文件或文件組的名稱(chēng)??梢灾付ǘ鄠€(gè)文件或文件組。


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

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

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


    n


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


    LOG


    指定對(duì)該數(shù)據(jù)庫(kù)應(yīng)用事務(wù)日志備份。必須按有序順序應(yīng)用事務(wù)日志。SQL Server 檢查已備份的事務(wù)日志,以確保按正確的序列將事務(wù)裝載到正確的數(shù)據(jù)庫(kù)。若要應(yīng)用多個(gè)事務(wù)日志,請(qǐng)?jiān)诔詈笠粋€(gè)外的所有還原操作中使用 NORECOVERY 選項(xiàng)。有關(guān)更多信息,請(qǐng)參見(jiàn)事務(wù)日志備份。


    STOPAT = date_time | @date_time_var


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



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



    STOPATMARK = 'mark_name' [ AFTER datetime ]


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


    STOPBEFOREMARK = 'mark_name' [ AFTER datetime ]


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


    注釋

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


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


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


    還原類(lèi)型

    下面是 SQL Server支持的還原類(lèi)型:


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


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


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


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

      有關(guān)更多信息,請(qǐng)參見(jiàn)事務(wù)日志備份。


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

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


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


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


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

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

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



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



    但是,使用選項(xiàng) WITH RESTRICTED_USER 將替代用戶(hù)訪問(wèn)選項(xiàng)設(shè)置的行為。該設(shè)置總是通過(guò)在 RESTORE 語(yǔ)句后加上 WITH RESTRICTED_USER 選項(xiàng)來(lái)設(shè)置。


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


    還原歷史記錄表

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



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



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


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


    權(quán)限

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


    RESTORE 權(quán)限被授予那些成員資格信息始終可由服務(wù)器使用的角色。因?yàn)橹挥性诠潭〝?shù)據(jù)庫(kù)可以訪問(wèn)且沒(méi)有損壞時(shí)(在執(zhí)行 RESTORE 時(shí)并不會(huì)總是這樣)才能檢查固定數(shù)據(jù)庫(kù)角色成員資格,所以 db_owner 固定數(shù)據(jù)庫(kù)角色成員沒(méi)有 RESTORE 權(quán)限。


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


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


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


    指定密碼時(shí)不限定使用者的做法是錯(cuò)誤的。


    示例


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



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


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



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

    RESTORE DATABASE MyNwind 
      FROM MyNwind_1

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

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

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

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

    下例使用 RESTART 選項(xiàng)重新啟動(dòng)因服務(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ù)庫(kù)并移動(dòng)文件

    下例還原完整數(shù)據(jù)庫(kù)和事務(wù)日志,并將已還原的數(shù)據(jù)庫(kù)移動(dòng)到 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ù)庫(kù)的復(fù)本

    下例顯示使用 BACKUP 和 RESTORE 語(yǔ)句創(chuàng)建 Northwind 數(shù)據(jù)庫(kù)的復(fù)本。MOVE 語(yǔ)句使數(shù)據(jù)和日志文件還原到指定的位置。RESTORE FILELISTONLY 語(yǔ)句用于確定待還原數(shù)據(jù)庫(kù)內(nèi)的文件數(shù)及名稱(chēng)。該數(shù)據(jù)庫(kù)的新復(fù)本稱(chēng)為 TestDB。有關(guān)更多信息,請(qǐng)參見(jià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 語(yǔ)法還原到即時(shí)點(diǎn)和使用多個(gè)設(shè)備進(jìn)行還原

    下例將數(shù)據(jù)庫(kù)還原到其在 1998 年 4 月 15 日中午 12 點(diǎn)時(shí)的狀態(tài),并顯示涉及多個(gè)日志和多個(gè)備份設(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 語(yǔ)法還原

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

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

    H. 使用 FILE 和 FILEGROUP 語(yǔ)法還原

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

    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ù)日志還原到標(biāo)記處

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

    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)文章
    本頁(yè)查看次數(shù):