怎么用SQL語句備份和恢復數據庫
SQL語句備份和恢復
SQL Server:
備份命令:
BACKUP DATABASE test
TO disk = 'c:\test'
WITH FORMAT,
NAME = 'Full Backup of MyNwind'
解釋如下:
NAME = 'Full Backup of MyNwind' --這個是備注,隨便寫。
還原命令:
USE master
GO
RESTORE DATABASE test_wt
FROM disk = 'c:\test_wt'
GO
MySQL:
備份:
mysqldump -u root -p database_name >d:\*
恢復:
mysql -u root -p database_name 注意:在WIN下,路徑用path/*是不行的,那就用path\*
sql語句數據庫備份-簡述SQLServer中四種類型的備份方法的含義 愛問
數據庫備份可以分為4個備份類型。
l 全備份:創建備份完成時數據庫內存在的數據的副本。l 差異備份:只記錄自上次數據庫備份后發生更改的數據。
差異數據庫備份比數據庫備份小,而且備份速度快,因此可以更經常地備份,經常備份將減少丟失數據的危險。 l 日志備份:是自上次備份事務日志后對數據庫執行的所有事務的一系列記錄。
可以使用事務日志備份將數據庫恢復到特定的即時點(如輸入多余數據前的那一點)或恢復到故障點。l 文件組備份:可以備份和還原數據庫中的個別文件。
可以只還原已損壞的文件,而不用還原數據庫的其余部分,從而加快了恢復速度。不同的備份類型適用的范圍也不同。
全備份,可以只用一步操作完成數據的全部備份,但執行時間比較長。差異備份和日志備份,都不能獨立作為一個備份集來使用,需要進行一次全備份。
文件備份必須與事務日志備份一起使用,所以文件備份只適用于完全恢復模型和大容量日志記錄恢復模型。 每一種備份類型都有不足之處,要針對需要選擇備份類型,或者使用幾種備份方式的配合來完成數據庫的備份。
經常使用備份方式組合有以下幾種:l 全備份+差異備份:以一周為周期,星期日進行全備份,星期一到星期六每天進行差異備份。l 全備份+日志備份:以一周為周期,星期日進行全備份,星期一到星期六每天進行日志備份。
l 文件組備份+日志備份:備份周期取決于數據庫的大小和能力,每周期分別進行一部分數據文件備份,每天進行日志備份。
sql數據庫備份語句
--完整備份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_*'
--差異備份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Diff_*'
With Differential
--日志備份,默認截斷日志
Backup Log NorthwindCS
To disk='G:\Backup\NorthwindCS_Log_*'
--日志備份,不截斷日志
Backup Log NorthwindCS
To disk='G:\Backup\NorthwindCS_Log_*'
With No_Truncate
--截斷日志不保留
Backup Log NorthwindCS
With No_Log
--或者
Backup Log NorthwindCS
With Truncate_Only
--截斷之后日志文件不會變小
--有必要可以進行收縮
--文件備份
Exec Sp_Helpdb NorthwindCS --查看數據文件
Backup Database NorthwindCS
File='NorthwindCS' --數據文件的邏輯名
To disk='G:\Backup\NorthwindCS_File_*'
--文件組備份
Exec Sp_Helpdb NorthwindCS --查看數據文件
Backup Database NorthwindCS
FileGroup='Primary' --數據文件的邏輯名
To disk='G:\Backup\NorthwindCS_FileGroup_*'
With init
--分割備份到多個目標
--恢復的時候不允許丟失任何一個目標
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_*'
,disk='G:\Backup\NorthwindCS_Full_*'
--鏡像備份
--每個目標都是相同的
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Mirror_*'
Mirror
To disk='G:\Backup\NorthwindCS_Mirror_*'
With Format --第一次做鏡像備份的時候格式化目標
--鏡像備份到本地和遠程
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Mirror_*'
Mirror
To disk='\\192.168.1.200\Backup\NorthwindCS_Mirror_*'
With Format
--每天生成一個備份文件
Declare @Path Nvarchar(2000)
Set @Path ='G:\Backup\NorthwindCS
sql 語句 數據庫備份
給你一個vb版本的作為參考吧,思路應該一樣。
還原:Private Sub restoreButton_Click() If * <> "" Then '如果路徑不為空 If Dir(*, vbDirectory) <> "" Then '如果路徑所在的文件存在,即路徑正確 sqlString = "RESTORE DATABASE patrol FROM disk = '" & * & "'" Set rs = accessSQL(sqlString) Unload Me MsgBox "數據庫還原成功!", vbOKOnly, "成功!" Else MsgBox "找不到該文件!", vbOKOnly, "提示!" End If Else '如果文件路徑為空 MsgBox "文件路徑不能為空", vbOKOnly, "提示!" End IfEnd Sub備份:Private Sub backupButton_Click()If * <> "" Then '如果路徑為空 If Dir(*, vbDirectory) <> "" Then '如果路徑所在的文件已經存在 If MsgBox("該文件已經存在!" & vbCrLf & "要覆蓋原有文件?", vbYesNo, "警告!") = vbYes Then GoTo next1 Else GoTo Next2 End If Else '不存在覆蓋問題 GoTo next1 End If'備份數據庫next1: sqlString = "backup database patrol to disk = '" & * & "' WITH FORMAT, NAME = '" & * & "'" Set rs = accessSQL(sqlString) //查詢數據庫 Unload Me MsgBox "數據庫備份成功", vbOKOnly, "成功!"Else MsgBox "路徑不能為空", vbOKOnlyNext2: End IfEnd Sub。
SQL server 如何用語句備份和還原數據
1、首先需要選擇你要備份的數據庫,鼠標右鍵單擊,選擇任務-備份。
2、彈出備份數據庫窗口,選擇添加。
3、彈出選擇備份目標窗口,點擊瀏覽。
4、選擇存放備份數據庫的目錄,輸入文件名,后綴名輸入.bak,點擊確定,備份完成。
5、鼠標右鍵單擊數據庫,選擇還原文件和文件組。
6、目標數據庫欄輸入數據庫名稱,選中源設備,點擊瀏覽選項。
7、然后需要點擊添加。
8、選擇你要還原的數據庫,點擊確定。
9、選中還原選項,點擊確定,還原完成。
sql 語句 數據庫備份
給你一個vb版本的作為參考吧,思路應該一樣。
還原:
Private Sub restoreButton_Click()
If * <> "" Then '如果路徑不為空
If Dir(*, vbDirectory) <> "" Then '如果路徑所在的文件存在,即路徑正確
sqlString = "RESTORE DATABASE patrol FROM disk = '" & * & "'"
Set rs = accessSQL(sqlString)
Unload Me
MsgBox "數據庫還原成功!", vbOKOnly, "成功!"
Else
MsgBox "找不到該文件!", vbOKOnly, "提示!"
End If
Else '如果文件路徑為空
MsgBox "文件路徑不能為空", vbOKOnly, "提示!"
End If
End Sub
備份:
Private Sub backupButton_Click()
If * <> "" Then '如果路徑為空
If Dir(*, vbDirectory) <> "" Then '如果路徑所在的文件已經存在
If MsgBox("該文件已經存在!" & vbCrLf & "要覆蓋原有文件?", vbYesNo, "警告!") = vbYes Then
GoTo next1
Else
GoTo Next2
End If
Else '不存在覆蓋問題
GoTo next1
End If
'備份數據庫
next1: sqlString = "backup database patrol to disk = '" & * & "' WITH FORMAT, NAME = '" & * & "'"
Set rs = accessSQL(sqlString) //查詢數據庫
Unload Me
MsgBox "數據庫備份成功", vbOKOnly, "成功!"
Else
MsgBox "路徑不能為空", vbOKOnly
Next2: End If
End Sub
求解sql語句備份單張表
只有備份數據庫,沒有備份單張表的吧!
你也可以這么做呀,就是復制當前的表數據到另一張表去(這個表結構是一樣的.)
假設你的原始表為:Test
在任務計劃里面執行SQL語句,每天晚上凌晨自動生成一個以當前日期命名的表:如Test_20110615
在原始表Test上建立個觸發器:
insert into Test_20110615
select * from inserted
。。.
主要的思路就是這樣的了,當然,你想要多久才備份一次,你自己決定了。如果想用SQL語句來備份,還有個思路,那就是可以寫個存儲過程,在存儲過程里面寫:
if exists (select * from *ects where id=object_id(N '[dbo].[Test_備份表] ') and OBJECTPROPERTY(id, N 'IsUserTable ') = 1)
drop table [dbo].[Test_備份表]--如果備份表已存在,那就先刪除再重新建
create table Test_備份表
。。。
從原始表中復制數據過來。
你想備份數據,就執行一次存儲過程。。。
備份與恢復sql語句
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 數據類型除外)的變量。
{ DISK | TAPE } = 'physical_backup_device_name' | @physical_backup_device_name_var 允許在指定的磁盤或磁帶設備上創建備份。在執行 BACKUP 語句之前不必存在指定的物理設備。
怎么用SQL語句備份與恢復數據庫
用SQL語句備份與恢復數據庫的步驟: 備份: mysqldump --quick --database ondemand1 --u root >* 這樣就能把數據庫中ondemand1的表全部備份出來。
其中參數的格式是:--,兩橫杠,不是我們常用的單橫杠。quick是在數據比較多的時候,不用該參數的話,所有的數據都會先在內存緩存,接著才導出,這樣會導致服務器運行減慢。
--u 必須要加一個用戶名,否則系統會提示你進不了ODBC數據庫的。>*則是你備份數據庫的目標文件名。
恢復:m1ysql -u root -p database_name d:\*,在WIN下,路徑用path/*是不行的,那就用path\*。sql語句: 是對數據庫進行操作的一種語言。
結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。 其他命令: 如,還原命令: USE masterGORESTORE DATABASE test_wtFROM disk = 'c:\test_wt'GOMySQL。