一、編寫sql指令碼
declare二、編寫.bat檔案@dbs
table
( rownum
intidentity(1, 1) primary
key,
dbname
nvarchar(200
), bakpath
as n'
e:\dbbackup\
'+ dbname +'\
'+ dbname +'_
'+replace(replace(replace(convert(char(19), getdate(), 120), '
-', ''),'
:',''),'
','_
') +
'.bak')
set nocount on
--將所有符合條件的db插入到表變數
insert
into
@dbs
(dbname)
select
name
from
sys.databases d
where name not
in ('
master
', '
tempdb
', '
model
', '
msdb
', '
ag_test')
and name not
like
'%monitor%
'order
byname
--遍歷表變數中的所有資料庫
declare
@iint,@imax
int,@sql
nvarchar(max
)select@i=
1,@imax
=max(rownum) from
@dbs
while
@i<=
isnull(@imax, 0
)begin
--建立 dbname 開頭的子資料夾
select
@sql='
execute master.dbo.xp_create_subdir n
''e:\dbbackup\'+
dbname
+''''
from
@dbs
where rownum =
@iexec (@sql
)
--備份
--2005 要去掉 compression
select
@sql='
backup database [
'+ dbname +
'] to disk = n
'''+ bakpath +
'''with noformat, noinit,name = n
''wxh-full database backup
'', skip, rewind, nounload, compression, stats = 20
'from
@dbs
where rownum =
@iexec (@sql
)
set@i=@i
+1end--
作業步驟二. 刪除過期檔案
declare
@olddate
datetime
--保留 2 天檔案(昨天0點之前檔案會被刪除)
set@olddate
=cast(convert(char(10),getdate(),120) as
datetime)-
120execute
master.dbo.xp_delete_file
0, --
0: 備份檔案,1: 維護計畫文字報告
n'e:\dbbackup\
', --
檔案路徑
n'bak
', --
副檔名
@olddate, --
在此時間之前的檔案一律刪除1--
刪除子資料夾中的檔案
set sqlcmd="view coded:\program files (x86)\microsoft sql server\100\tools\binn\sqlcmd.exe
"set path=
"c:\users\administrator\desktop\backupdata\"
set server=
"192.168.10.243,5781
"set db=
"master"
set login=
"sa"
set password=
"aa123456.."
set output=
"c:\users\administrator\desktop\backupdata\outputlog.txt"
echo %date% %time% > %output%
for /r %path% %%i in (*.sql) do (
%sqlcmd% -s %server% -d %db% -u %login% -p %password% -i %%i >> %output%
)
三、windows任務計畫
建立基本任務,設定觸發器。
windows任務計畫
schtasks create f tn df tr e debug tc.exe sc daily st 17 00 在每天17點執行 在5月15日15點執行 如果exe需要呼叫外部檔案則要設定起始目錄,不然會出錯 任務計畫 任務計畫程式庫 屬性 操作 編輯 起始於 e debug 確定 確定 s...
windows 計畫任務
schtasks 安排命令和程式,使其定期執行或在指定時間執行。向計畫中新增任務和從中刪除任務 根據需要啟動和停止任務以及顯示和更改計畫的任務 1.create schtasks create sc scheduletype tn taskname tr taskrun s computer u d...
windows計畫任務
1 windows server 2008 計畫任務在 配置?2 windows server 2008 可以配置每分鐘或是每小時執行我的任務嗎?答案是 可以!首先windows server 2008不同於其他伺服器作業系統和windows server 2003有著很大的區別,計畫任務的名稱是 ...