程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> Asp.net 不使用SQLDMO實現數據庫備份和還原

Asp.net 不使用SQLDMO實現數據庫備份和還原

編輯:關於C#
 

今天需要做一個歷史數據庫,備份還原的程序,就是在sql服務器興建一個數據庫的歷史版本的復.手工操作很方便,但是程序來實現我還沒做過.上網找資料發現都調用了 SQLDMO 的 SQL COM 來實現. 應為我不想在應用服務器上面引用 COM 組件服務.所以沒采取這種方式.打開Sql 聯機幫助.發現T-SQL 可以在SQL2000上面直接做恢復和還原.比SQLDMO 方便靈活的多.我們一起來看看.

數據備份:
 

BACKUP
備份整個數據庫、事務日志,或者備份一個或多個文件或文件組。有關數據庫備份和恢復操作的更多信息,請參見備份和還原數據庫。

語法
備份整個數據庫:

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 ] ]
]

備份特定的文件或文件組:

BACKUP DATABASE { database_name | @database_name_var }
< file_or_filegroup > [ ,...n ]
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 ] ]
]

備份一個事務日志:

BACKUP LOG { database_name | @database_name_var }
{
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ ,] 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 } ]
[ [ , ] NO_TRUNCATE ]
[ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
}

< 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 }
}

截斷事務日志:

BACKUP LOG { database_name | @database_name_var }
{
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
}

參數
DATABASE

指定一個完整的數據庫備份。假如指定了一個文件和文件組的列表,那麼僅有這些被指定的文件和文件組被備份。


 

說明 在進行完整數據庫備份或差異數據庫備份時,Microsoft® SQL Server™ 備份足夠的事務日志,以生成一個將在還原數據庫時使用的一致的數據庫。在 master 數據庫上只能采用完整數據庫備份。

 

{ database_name | @database_name_var }

指定了一個數據庫,從該數據庫中對事務日志、部分數據庫或完整的數據庫進行備份。如果作為變量 (@database_name_var) 提供,則可將該名稱指定為字符串常量 (@database_name_var = database name) 或字符串數據類型(ntext 或 text 數據類型除外)的變量。

< backup_device >

指定備份操作時要使用的邏輯或物理備份設備。可以是下列一種或多種形式:

{ logical_backup_device_name } | { @logical_backup_device_name_var }
是由 sp_addumpdevice 創建的備份設備的邏輯名稱,數據庫將備份到該設備中,其名稱必須遵守標識符規則。如果將其作為變量 (@logical_backup_device_name_var) 提供,則可將該備份設備名稱指定為字符串常量 (@logical_backup_device_name_var = logical backup device name) 或字符串數據類型(ntext 或 text 數據類型除外)的變量。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved