自動備份mssql server數(shù)據(jù)庫并壓縮的批處理腳本
更新時間:2011年07月27日 01:20:52 作者:
windows下,使用mssql命令行工具sqlcmd備份數(shù)據(jù)庫,并調(diào)用rar壓縮;不借助mssql"維護計劃"功能,拜托權(quán)限問題。
1. set bakupfolder=F:\backup\
備份文件存放于目錄F:\backup\ (此目錄需要事先建好)
2. 默認每個數(shù)據(jù)庫放置到bakupfolder下的同名的子目錄(腳本自動創(chuàng)建)中;設(shè)置lay_in_subfolder=0后,將直接放置到bakupfolder
3. 備份文件名中自動添加備份時的時間字符串,不用擔(dān)心備份目錄下名字重復(fù),也便于管理。
4. call :backupone foo
foo是需要備份的數(shù)據(jù)庫,需要備份其它數(shù)據(jù)庫,按同樣的方式一行寫一條即可
5. 命令行驅(qū)動備份操作:sqlcmd -U sa -P “sa” -S localhost -Q “xxx”
這里連接數(shù)據(jù)庫的用戶名密碼都是sa,請改成你的實際用戶名密碼。mssql密碼中如果有一些特殊字符,可能報錯,所以加上雙引號。如果密碼簡單,不加也可以;不過sa密碼,一般都是很變態(tài)的吧~~
@ECHO ON
set d=%date:~0,10%
set d=%d:-=%
set t=%time:~0,8%
set t=%t::=%
set stamp=%p%%d%%t%
set bakupfolder=F:\backup\
rem 1按子目錄保存?zhèn)浞菸募?0不按
set lay_in_subfolder=1
call :backupone foo
call :backupone foo2
call :backupone foo3
call :backupone foo4
goto :EOF
@ECHO OFF
:backupone
setlocal
echo %1
set dbname=%1
if not exist %bakupfolder%%dbname% mkdir %bakupfolder%%dbname%
if %lay_in_subfolder%==1 (
set subfolder=%dbname%\
)else set subfolder=
rem echo %bakupfolder%%subfolder%%dbname%%stamp%.bak
sqlcmd -U sa -P "sa" -S localhost -Q "backup database %dbname% to disk='%bakupfolder%%subfolder%%dbname%%stamp%.bak'"
"C:\Program Files\WinRAR\RAR.exe" a -ep1 -r -o+ -m5 -s -df "%bakupfolder%%subfolder%%dbname%%stamp%".rar "%bakupfolder%%subfolder%%dbname%%stamp%.bak"
endlocal&goto :EOF
備份文件存放于目錄F:\backup\ (此目錄需要事先建好)
2. 默認每個數(shù)據(jù)庫放置到bakupfolder下的同名的子目錄(腳本自動創(chuàng)建)中;設(shè)置lay_in_subfolder=0后,將直接放置到bakupfolder
3. 備份文件名中自動添加備份時的時間字符串,不用擔(dān)心備份目錄下名字重復(fù),也便于管理。
4. call :backupone foo
foo是需要備份的數(shù)據(jù)庫,需要備份其它數(shù)據(jù)庫,按同樣的方式一行寫一條即可
5. 命令行驅(qū)動備份操作:sqlcmd -U sa -P “sa” -S localhost -Q “xxx”
這里連接數(shù)據(jù)庫的用戶名密碼都是sa,請改成你的實際用戶名密碼。mssql密碼中如果有一些特殊字符,可能報錯,所以加上雙引號。如果密碼簡單,不加也可以;不過sa密碼,一般都是很變態(tài)的吧~~
復(fù)制代碼 代碼如下:
@ECHO ON
set d=%date:~0,10%
set d=%d:-=%
set t=%time:~0,8%
set t=%t::=%
set stamp=%p%%d%%t%
set bakupfolder=F:\backup\
rem 1按子目錄保存?zhèn)浞菸募?0不按
set lay_in_subfolder=1
call :backupone foo
call :backupone foo2
call :backupone foo3
call :backupone foo4
goto :EOF
@ECHO OFF
:backupone
setlocal
echo %1
set dbname=%1
if not exist %bakupfolder%%dbname% mkdir %bakupfolder%%dbname%
if %lay_in_subfolder%==1 (
set subfolder=%dbname%\
)else set subfolder=
rem echo %bakupfolder%%subfolder%%dbname%%stamp%.bak
sqlcmd -U sa -P "sa" -S localhost -Q "backup database %dbname% to disk='%bakupfolder%%subfolder%%dbname%%stamp%.bak'"
"C:\Program Files\WinRAR\RAR.exe" a -ep1 -r -o+ -m5 -s -df "%bakupfolder%%subfolder%%dbname%%stamp%".rar "%bakupfolder%%subfolder%%dbname%%stamp%.bak"
endlocal&goto :EOF
您可能感興趣的文章:
- sql server通過腳本進行數(shù)據(jù)庫壓縮全備份的方法【推薦】
- sql server 2008 壓縮備份數(shù)據(jù)庫(20g)
- mysql數(shù)據(jù)庫備份命令分享(mysql壓縮數(shù)據(jù)庫備份)
- sqlserver 數(shù)據(jù)庫壓縮與數(shù)據(jù)庫日志(ldf)壓縮方法分享
- DBCC SHRINKDATABASEMS SQL數(shù)據(jù)庫日志壓縮方法
- ms SQL server數(shù)據(jù)庫備份、壓縮與SQL數(shù)據(jù)庫數(shù)據(jù)處理的方法
- MS SQL SERVER 數(shù)據(jù)庫日志壓縮方法與代碼
- 在程序中壓縮sql server2000的數(shù)據(jù)庫備份文件的代碼
- SQL Server 2000/2005/2008刪除或壓縮數(shù)據(jù)庫日志的方法
相關(guān)文章
SQL Server定時收縮數(shù)據(jù)庫日志為指定大小的示例代碼
SQL Server提供了DBCC SHRINKFILE 命令來清理事務(wù)日志文件,該命令可以縮小指定文件的大小,并釋放磁盤空間,本文給大家介紹了SQL Server如何定時收縮數(shù)據(jù)庫日志為指定大小,需要的朋友可以參考下2024-03-03深入SQL SERVER合并相關(guān)操作Union,Except,Intersect的詳解
本篇文章是對SQL SERVER合并相關(guān)操作Union,Except,Intersect進行了詳細的分析介紹,需要的朋友參考下2013-06-06SQLSERVER加密解密函數(shù)(非對稱密鑰 證書加密 對稱密鑰)使用方法代碼
這篇文章主要介紹了SQLSERVER加密解密函數(shù)使用方法,使用了非對稱密鑰、證書加密、對稱密鑰、通行短語(PassPhrase)加密,大家參考使用吧2013-11-11SQL Server利用sp_spaceused如何查看表記錄存在不準確的情況
這篇文章主要給大家介紹了關(guān)于SQL Server利用sp_spaceused如何查看表記錄存在不準確情況的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04同一個sql語句 連接兩個數(shù)據(jù)庫服務(wù)器
在sqlserver查詢分析器中,一個sql語句連接兩個數(shù)據(jù)庫服務(wù)器的一種方法2009-08-08SQL SERVER中各類觸發(fā)器的完整語法及參數(shù)說明
這篇文章主要介紹了SQL SERVER中各類觸發(fā)器的完整語法及參數(shù),需要的朋友可以收藏下2013-08-08