下面是我已經(jīng)證實(shí)可用的自動備份的方法.
1、打開企業(yè)管理器->管理->sql server代理
2、新建一個作業(yè),作業(yè)名稱隨便取,例如:data備份,所有者選擇sa,當(dāng)然你也可以選擇其他用戶,前提是該用戶有執(zhí)行作業(yè)的權(quán)限;
3、點(diǎn)擊步驟標(biāo)簽,進(jìn)入步驟面板.新建步驟,步驟名可以隨便填寫,如步驟1,類型和數(shù)據(jù)庫默認(rèn),不需要修改.命令中寫入以下語句:
BACKUP DATABASE [數(shù)據(jù)庫名] TO DISK = N'F:\\databack\\firenews備份' WITH NOINIT , NOUNLOAD , NAME = N'firenews備份', NOSKIP , STATS = 10, NOFORMAT
注意:需要修改的地方,數(shù)據(jù)庫名,DISK=(這里需要填寫路徑和你的數(shù)據(jù)庫備份的名稱)后面的Name=可以隨便填寫.
4、點(diǎn)擊調(diào)度標(biāo)簽,進(jìn)入調(diào)度面板,新建調(diào)度,名稱隨便填寫,選擇反復(fù)出現(xiàn),點(diǎn)更改可以選擇你想要執(zhí)行任務(wù)的隨意調(diào)度.如每天,每2天,每星期,每月等.根據(jù)需要自己設(shè)置;(注意:在調(diào)度名稱后面有個啟動選項(xiàng),必須勾選)
5、確定后,不要忘記一件事情,在你剛才建立的工作上點(diǎn)右鍵,啟動工作,如果你的工作沒有問題,將會提示執(zhí)行成功,并有相對應(yīng)的備份文件在你的磁盤上出現(xiàn);
6、還有一個重要的問題就是你的sql server agent服務(wù)器已經(jīng)啟動.
如果我們需要根據(jù)每天的日期來生成一個新的備份,以便我們區(qū)別備份文件.這時,我們需要修改一下剛才的sql語句.
參考實(shí)例:
1、自動備份,固定備份名,每次會追加備份
復(fù)制代碼 代碼如下:
backup database FireNews to disk=N'F:\\databack\\firenews備份' with noinit,nounload,name=N'firenews備份',noskip,stats=10,noformat
backup database fireweb to disk=N'F:\\backup\\data\\fireweb\\fireweb備份' with noinit,nounload,name=N'fireweb備份',noskip,stats=10,noformat
2、自動備份,以時間命名,完整備份
復(fù)制代碼 代碼如下:
declare @filename nvarchar(100) set @filename='F:\\databack\\data'+convert(char(8),getdate(),112)+'.bak' print @filename BACKUP DATABASE [firenews] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'firenews備份', NOSKIP, STATS = 10, NOFORMAT
declare @filename nvarchar(100) set @filename='F:\\backup\\data\\fireweb\\fireweb'+convert(char(8),getdate(),112)+'.bak' print @filename BACKUP DATABASE [fireweb] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'fireweb備份',NOSKIP, STATS = 10, NOFORMAT
注:
1、備份的數(shù)據(jù)庫存放的文件夾必須已經(jīng)存在;
2、N 必須大寫;
3、NAME的值可以隨便寫;
4、FireNews,fireweb為數(shù)據(jù)庫名;
5、新建作業(yè)時提示:未能找到存儲過程master.dbo.xp_regread,表名master數(shù)據(jù)庫沒有這個存儲過程(可能是做安全處理的時候刪除了),需自己注冊。方法是:找到 數(shù)據(jù)庫——
master——擴(kuò)展存儲過程,右鍵“新建擴(kuò)展存儲過程”(名稱:xp_regread,路徑直接填:xpstar.dll)
以下為完整的備份數(shù)據(jù)庫的方法:
備份整個數(shù)據(jù)庫:
復(fù)制代碼 代碼如下:
BACKUP DATABASE { database_name | @database_name_var }
TO backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
參數(shù)
DATABASE
指定一個完整的數(shù)據(jù)庫備份。假如指定了一個文件和文件組的列表,那么僅有這些被指定的文件和文件組被備份。
說明 在進(jìn)行完整數(shù)據(jù)庫備份或差異數(shù)據(jù)庫備份時,Microsoft® SQL Server™ 備份足夠的事務(wù)日志,以生成一個將在還原數(shù)據(jù)庫時使用的一致的數(shù)據(jù)庫。在 master 數(shù)據(jù)庫上只能采用完整數(shù)據(jù)庫備份。
{ database_name | @database_name_var }
指定了一個數(shù)據(jù)庫,從該數(shù)據(jù)庫中對事務(wù)日志、部分?jǐn)?shù)據(jù)庫或完整的數(shù)據(jù)庫進(jìn)行備份。如果作為變量 (@database_name_var) 提供,則可將該名稱指定為字符串常量 (@database_name_var = database name) 或字符串?dāng)?shù)據(jù)類型(ntext 或 text 數(shù)據(jù)類型除外)的變量。
backup_device >
指定備份操作時要使用的邏輯或物理備份設(shè)備??梢允窍铝幸环N或多種形式:
{ logical_backup_device_name } | { @logical_backup_device_name_var }
是由 sp_addumpdevice 創(chuàng)建的備份設(shè)備的邏輯名稱,數(shù)據(jù)庫將備份到該設(shè)備中,其名稱必須遵守標(biāo)識符規(guī)則。如果將其作為變量 (@logical_backup_device_name_var) 提供,則可將該備份設(shè)備名稱指定為字符串常量 (@logical_backup_device_name_var = logical backup device name) 或字符串?dāng)?shù)據(jù)類型(ntext 或 text 數(shù)據(jù)類型除外)的變量。
{ DISK | TAPE } =
'physical_backup_device_name' | @physical_backup_device_name_var
允許在指定的磁盤或磁帶設(shè)備上創(chuàng)建備份。在執(zhí)行 BACKUP 語句之前不必存在指定的物理設(shè)備。如果存在物理設(shè)備且 BACKUP 語句中沒有指定 INIT 選項(xiàng),則備份將追加到該設(shè)備。
當(dāng)指定 TO DISK 或 TO TAPE 時,請輸入完整路徑和文件名。例如,DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Mybackup.dat' 或 TAPE = '\\.\TAPE0'。
說明 對于備份到磁盤的情況,如果輸入一個相對路徑名,備份文件將存儲到默認(rèn)的備份目錄中。該目錄在安裝時被設(shè)置并且存儲在 KEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer 目錄下的 BackupDirectory 注冊表鍵值中。
如果使用的是具有統(tǒng)一命名規(guī)則 (UNC) 名稱的網(wǎng)絡(luò)服務(wù)器或已重新定向的驅(qū)動器號,則請指定磁盤的設(shè)備類型。
當(dāng)指定多個文件時,可以混合邏輯文件名(或變量)和物理文件名(或變量)。但是,所有的設(shè)備都必須為同一類型(磁盤、磁帶或管道)。
Windows 98 不支持備份到磁盤。
是表示可以指定多個備份設(shè)備的占位符。備份設(shè)備數(shù)目的上限為 64。
BLOCKSIZE = { blocksize | @blocksize_variable }
用字節(jié)數(shù)來指定物理塊的大小。在 Windows NT 系統(tǒng)上,默認(rèn)設(shè)置是設(shè)備的默認(rèn)塊大小。一般情況下,當(dāng) SQL Server 選擇適合于設(shè)備的塊大小時不需要此參數(shù)。在基于 Windows 2000 的計算機(jī)上,默認(rèn)設(shè)置是 65,536(64 KB,是 SQL Server 支持的最大大?。?。
對于磁盤,BACKUP 自動決定磁盤設(shè)備合適的塊大小。
說明 如果要將結(jié)果備份集存儲到 CD-ROM 中然后從 CD-ROM 中恢復(fù),請將 BLOCKSIZE 設(shè)為 2048。
磁帶的默認(rèn) BLOCKSIZE 為 65,536 (64 KB)。顯式聲明塊大小將替代 SQL Server 選擇的塊大小。
DESCRIPTION = { 'text' | @text_variable }
指定描述備份集的自由格式文本。該字符串最長可以有 255 個字符。
DIFFERENTIAL
指定數(shù)據(jù)庫備份或文件備份應(yīng)該與上一次完整備份后改變的數(shù)據(jù)庫或文件部分保持一致。差異備份一般會比完整備份占用更少的空間。對于上一次完整備份時備份的全部單個日志,使用該選項(xiàng)可以不必再進(jìn)行備份。有關(guān)更多信息,請參見差異數(shù)據(jù)庫備份和文件差異備份。
說明 在進(jìn)行完整數(shù)據(jù)庫備份或差異備份時,SQL Server 備份足夠的事務(wù)日志,從而在恢復(fù)數(shù)據(jù)庫時生成一個一致的數(shù)據(jù)庫。
EXPIREDATE = { date | @date_var }
指定備份集到期和允許被重寫的日期。如果將該日期作為變量 (@date_var) 提供,則可以將該日期指定為字符串常量 (@date_var = date)、字符串?dāng)?shù)據(jù)類型變量(ntext 或 text 數(shù)據(jù)類型除外)、smalldatetime 或者 datetime 變量,并且該日期必須符合已配置的系統(tǒng) datetime 格式。
RETAINDAYS = { days | @days_var }
指定必須經(jīng)過多少天才可以重寫該備份媒體集。假如用變量 (@days_var) 指定,該變量必須為整型。
重要 假如 EXPIREDATE 或 RETAINDAYS 沒有指定,有效期將取決于 sp_configure 的 media retention 配置設(shè)置。這些選項(xiàng)僅僅阻止 SQL Server 重寫文件。用其它方法可擦除磁帶,而通過操作系統(tǒng)可以刪除磁盤文件。有關(guān)過期驗(yàn)證的更多信息,請參見本主題的 SKIP 和 FORMAT。
PASSWORD = { password | @password_variable }
為備份集設(shè)置密碼。 PASSWORD 是一個字符串。如果為備份集定義了密碼,必須提供這個密碼才能對該備份集執(zhí)行任何還原操作。
重要 備份集密碼防止未經(jīng)授權(quán)即通過 SQL Server 2000 工具訪問備份集的內(nèi)容,但是不能防止重寫備份集。
有關(guān)使用密碼的更多信息,請參見"權(quán)限"部分。
FORMAT
指定應(yīng)將媒體頭寫入用于此備份操作的所有卷。任何現(xiàn)有的媒體頭都被重寫。FORMAT 選項(xiàng)使整個媒體內(nèi)容無效,并且忽略任何現(xiàn)有的內(nèi)容。
重要 使用 FORMAT 要謹(jǐn)慎。格式化一個備份設(shè)備或媒體將使整個媒體集不可用。例如,如果初始化現(xiàn)有條帶備份集中的單個磁帶,則整個備份集都將變得不可用。
通過指定 FORMAT,備份操作也就暗示了 SKIP 和 INIT;這些都不必顯式說明。
NOFORMAT
指定媒體頭不應(yīng)寫入所有用于該備份操作的卷中,并且不要重寫該備份設(shè)備除非指定了 INIT。
INIT
指定應(yīng)重寫所有備份集,但是保留媒體頭。如果指定了 INIT,將重寫那個設(shè)備上的所有現(xiàn)有的備份集數(shù)據(jù)。
當(dāng)遇到以下幾種情況之一時不重寫備份媒體:
媒體上的備份設(shè)置沒有全部過期。有關(guān)更多信息,請參見 EXPIREDATE 和 RETAINDAYS 選項(xiàng)。
如果 BACKUP 語句給出了備份集名,該備份集名與備份媒體上的名稱不匹配。有關(guān)更多信息,請參見 NAME 子句。
使用 SKIP 選項(xiàng)替代這些檢查。有關(guān)使用 SKIP、NOSKIP、INIT 和 NOINIT 時的相互作用關(guān)系的更多信息,請參見注釋部分。
說明 如果備份媒體有密碼保護(hù),SQL Server 將不寫入媒體,除非提供媒體密碼。SKIP 選項(xiàng)不替代此檢查。只有通過格式化才能重寫受密碼保護(hù)的媒體。有關(guān)更多信息,請參見 FORMAT 選項(xiàng)。
NOINIT
表示備份集將追加到指定的磁盤或磁帶設(shè)備上,以保留現(xiàn)有的備份集。NOINIT 是默認(rèn)設(shè)置。
RESTORE 命令的 FILE 選項(xiàng)用于在還原時選擇適當(dāng)?shù)膫浞菁?。有關(guān)更多信息,請參見 RESTORE。
如果為媒體集定義了媒體密碼,則必須提供密碼。
MEDIADESCRIPTION = { text | @text_variable }
指明媒體集的自由格式文本描述,最多為 255 個字符。
MEDIADESCRIPTION = { text | @text_variable }
為整個備份媒體集指明媒體名,最多為 128 個字符。假如指定了 MEDIANAME,則它必須與以前指定的媒體名相匹配,該媒體名已存在于備份卷中。假如沒有指定 MEDIANAME,或指定了 SKIP 選項(xiàng),將不會對媒體名進(jìn)行驗(yàn)證檢查。
MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
為媒體集設(shè)置密碼。MEDIAPASSWORD 是一個字符串。
如果為媒體集定義了密碼,則在該媒體集上創(chuàng)建備份集時必須提供此密碼。另外,從該媒體集執(zhí)行任何還原操作時也必須提供媒體密碼。只有通過格式化才能重寫受密碼保護(hù)的媒體。有關(guān)更多信息,請參見 FORMAT 選項(xiàng)。
有關(guān)使用密碼的更多信息,請參見"權(quán)限"部分。
NAME = { backup_set_name | @backup_set_var }
指定備份集的名稱。名稱最長可達(dá) 128 個字符。假如沒有指定 NAME,它將為空。
NORECOVERY
只與 BACKUP LOG 一起使用。備份日志尾部并使數(shù)據(jù)庫處于正在還原的狀態(tài)。當(dāng)將故障轉(zhuǎn)移到輔助數(shù)據(jù)庫或在 RESTORE 操作前保存日志尾部時,NORECOVERY 很有用。
STANDBY = undo_file_name
只與 BACKUP LOG 一起使用。備份日志尾部并使數(shù)據(jù)庫處于只讀或備用模式。撤消文件名指定了容納回滾更改的存儲,如果隨后應(yīng)用 RESTORE LOG 操作,則必須撤消這些回滾更改。
如果指定的撤消文件名不存在,SQL Server 將創(chuàng)建該文件。如果該文件已存在,則 SQL Server 將重寫它。有關(guān)更多信息,請參見使用備用服務(wù)器。
NOREWIND
指定 SQL Server 在備份操作完成后使磁帶保持打開。NOREWIND 意即 NOUNLOAD。SQL Server 將保留磁帶驅(qū)動器的所有權(quán),直到 BACKUP或 RESTORE 命令使用 REWIND 為止。
如果無意中使磁帶處于打開狀態(tài),則釋放磁帶的最快方法是使用下面的 RESTORE 命令:
RESTORE LABELONLY FROM TAPE = name> WITH REWIND通過查詢 master 數(shù)據(jù)庫中的 sysopentapes 表可以查找正在打開的磁帶列表。
REWIND
指定 SQL Server 將釋放磁帶和倒帶。如果 NOREWIND 和 REWIND 均未指定,則默認(rèn)設(shè)置為 REWIND。
NOSKIP
指示 BACKUP 語句在可以重寫媒體上的所有備份集之前先檢查它們的過期日期。
SKIP
禁用備份集過期和名稱檢查,這些檢查一般由 BACKUP 語句執(zhí)行以防重寫備份集。有關(guān)更多信息,請參見注釋部分。
NOUNLOAD
指定不在備份后從磁帶驅(qū)動器中自動卸載磁帶。設(shè)置始終為 NOUNLOAD,直到指定 UNLOAD 為止。該選項(xiàng)只用于磁帶設(shè)備。
UNLOAD
指定在備份完成后自動倒帶并卸載磁帶。啟動新用戶會話時其默認(rèn)設(shè)置為 UNLOAD。該設(shè)置一直保持到用戶指定了 NOUNLOAD 時為止。該選項(xiàng)只用于磁帶設(shè)備。
RESTART
指定 SQL Server 重新啟動一個被中斷的備份操作。因?yàn)?RESTART 選項(xiàng)在備份操作被中斷處重新啟動該操作,所以它節(jié)省了時間。若要重新啟動一個特定的備份操作,請重復(fù)整個 BACKUP 語句并且加入 RESTART 選項(xiàng)。不一定非要使用 RESTART 選項(xiàng),但是它可以節(jié)省時間。
重要 該選項(xiàng)只用于導(dǎo)向磁帶媒體的備份和跨越了多個磁帶卷的備份。在備份的第一卷上永遠(yuǎn)不會有重新啟動操作。
STATS [= percentage]
每當(dāng)另一個 percentage 結(jié)束時顯示一條消息,它被用于測量進(jìn)度。如果省略 percentage,SQL Server 將每完成 10 個百分點(diǎn)顯示一條消息。
file_or_filegroup>
指定包含在數(shù)據(jù)庫備份中的文件或文件組的邏輯名??梢灾付ǘ鄠€文件或文件組。
FILE = { logical_file_name | @logical_file_name_var }
給一個或多個包含在數(shù)據(jù)庫備份中的文件命名。
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
給一個或多個包含在數(shù)據(jù)庫備份中的文件組命名。
說明 當(dāng)數(shù)據(jù)庫的大小和性能要求使得進(jìn)行完整數(shù)據(jù)庫備份不切實(shí)際時,備份一個文件。若要單獨(dú)備份事務(wù)日志,請使用 BACKUP LOG。
重要 必須通過使用 BACKUP LOG 提供事務(wù)日志的單獨(dú)備份,才能使用文件和文件組備份來恢復(fù)數(shù)據(jù)庫。有關(guān)文件備份的更多信息,請參見備份使用文件備份。
如果恢復(fù)模型為 SIMPLE,則不允許文件和文件組備份。
是一個占位符,表示可以指定多個文件和文件組。對文件或文件組的最大個數(shù)沒有限制。
LOG
指定只備份事務(wù)日志。該日志是從上一次成功執(zhí)行了的 LOG 備份到當(dāng)前日志的末尾。一旦備份日志,可能會截斷復(fù)制或活動事務(wù)不再需要的空間。
說明 假如備份日志看來并沒有截斷大部分的日志,則有可能在日志中存在一個舊的開放事務(wù)??梢允褂?DBCC SQLPERF (LOGSPACE) 觀察日志空間。有關(guān)更多信息,請參見事務(wù)日志備份。
NO_LOG | TRUNCATE_ONLY
無須備份復(fù)制日志即刪除不活動的日志部分,并且截斷日志。該選項(xiàng)會釋放空間。因?yàn)椴⒉槐4嫒罩緜浞荩詻]有必要指定備份設(shè)備。NO_LOG 和 TRUNCATE_ONLY 是同義的。
使用 NO_LOG 或 TRUNCATE_ONLY 備份日志后,記錄在日志中的更改不可恢復(fù)。為了恢復(fù),請立即執(zhí)行 BACKUP DATABASE。
NO_TRUNCATE
允許在數(shù)據(jù)庫損壞時備份日志。
注釋
可以將數(shù)據(jù)庫或日志備份追加到任何磁盤或磁帶設(shè)備上,從而使得數(shù)據(jù)庫和它的事務(wù)日志能存儲在一個物理位置中。
當(dāng)數(shù)據(jù)庫正在使用時,SQL Server 使用一個聯(lián)機(jī)備份過程來對數(shù)據(jù)庫進(jìn)行備份。下面的列表包括在數(shù)據(jù)庫或事務(wù)日志備份時無法進(jìn)行的操作:
在備份操作時允許進(jìn)行文件管理操作,如帶有 ADD FILE 或 REMOVE FILE 選項(xiàng)的 ALTER DATABASE 語句,以及 INSERT、UPDATE 或 DELETE 語句。
收縮數(shù)據(jù)庫或文件。這包括自動收縮操作。
假如在這些操作正在進(jìn)行時啟動備份,備份將終止。假如正在進(jìn)行備份時,試圖進(jìn)行這些操作,則操作會失敗。
只要操作系統(tǒng)支持?jǐn)?shù)據(jù)庫的排序規(guī)則,就可以在不同的平臺之間執(zhí)行備份操作,即使這些平臺使用不同的處理器類型。
您可能感興趣的文章:- SQLServer 2005 自動備份數(shù)據(jù)庫的方法分享(附圖解教程)
- SqlServer2005 自動備份并存儲另一電腦上的存儲過程函數(shù)
- sqlserver2005打造自動備份的維護(hù)計劃圖解教程
- SQLServer2005 按照日期自動備份的方法
- sqlserver 自動備份所有數(shù)據(jù)庫的SQL
- SQL Server使用腳本實(shí)現(xiàn)自動備份的思路詳解