資源描述:
《數(shù)據(jù)庫備份及還原》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、一、數(shù)據(jù)庫備份第一種方法:利用SQLServer的—數(shù)據(jù)庫維護計劃,創(chuàng)建好之后在"作業(yè)"列表中,只要SQL代理啟動著,它就會按照你的設(shè)置定時備份數(shù)據(jù)庫,當然如果你有時在數(shù)據(jù)庫變動很大時想先備份,則可以直接啟動作業(yè)就達到備份的效果了,這個方法最簡單企業(yè)管理器??--管理??--數(shù)據(jù)庫維護計劃??--右鍵??--新建維護計劃??--下一步??--選“全部用戶數(shù)據(jù)庫”??--下一步??--下一步??--勾上“作為維護計劃的一部分來備份數(shù)據(jù)庫”,選擇磁盤來存放備份文件,點調(diào)度的“更改”來設(shè)置每天24:00執(zhí)行??--下一步??--指定存放備份文件的系統(tǒng)目錄--這里還可以設(shè)置文件
2、保存的時間??--下一步??--下一步??--下一步??--完成??sqlserver2005中建議使用SQLserver維護計劃向?qū)?,用戶盡可能選擇Windows身份驗證。第二種方法:自己創(chuàng)建存儲過程,創(chuàng)建作業(yè),設(shè)置相應參數(shù)--以下資源從網(wǎng)上獲取的(1)新建存儲過程--我的第一種處理中用到的備份處理的存儲過程??????if??exists??(select??*??from??dbo.sysobjects??where??id??=??object_id(N'[dbo].[p_backupdb]')??and??OBJECTPROPERTY(id,??N'IsPro
3、cedure')??=??1)???drop??procedure??[dbo].[p_backupdb]???GO??????/*--備份所有數(shù)據(jù)庫??????備份的文件名為數(shù)據(jù)庫名+.bak???將所有的用戶數(shù)據(jù)庫(或指定的數(shù)據(jù)庫列表)???備分到指定的目錄下.??????--鄒建??2003.10(引用請保留此信息)--*/??????/*--調(diào)用示例??????--備份所有用戶數(shù)據(jù)庫???exec??p_backupdb??@bkpath='c:',@dbname=''??????--備份指定數(shù)據(jù)庫???exec??p_backupdb??@bkpath='c
4、:',@dbname='客戶資料,xzkh_new'???--*/??????create??proc??p_backupdb???@bkpath??nvarchar(260)='',--備份文件的存放目錄,不指定則使用SQL默認的備份目錄???@dbname??nvarchar(4000)=''--要備份的數(shù)據(jù)庫名稱列表,不指定則備份所有用戶數(shù)據(jù)庫???as???declare??@sql??varchar(8000)??????--檢查參數(shù)???if??isnull(@bkpath,'')=''???begin???select??@bkpath=rtrim(re
5、verse(filename))??from??master..sysfiles??where??name='master'???select??@bkpath=substring(@bkpath,charindex('',@bkpath)+1,4000)???,@bkpath=reverse(substring(@bkpath,charindex('',@bkpath),4000))+'BACKUP'???end???else??if??right(@bkpath,1)<>''??set??@bkpath=@bkpath+''??????--得到要備份的數(shù)據(jù)
6、庫列表???if??isnull(@dbname,'')=''???declare??tb??cursor??local??for???select??name??from??master..sysdatabases??where??name??not??in('master','tempdb','model','msdb')???else???declare??tb??cursor??local??for???select??name??from??master..sysdatabases???where??name??not??in('master','tempdb
7、','model','msdb')???and(@dbname??like??'%,'+name+',%'??or??@dbname??like??name+',%'??or??@dbname??like??'%,'+name)??????--備份處理???open??tb???fetch??next??from??tb??into??@dbname???while??@@fetch_status=0???begin???set??@sql='backup??database??'+@dbname???+'??to??disk='''+@