如何把SERVER內的所有DB相關項目都備份下來?我用的是SQLSERVER2000.要備份的項目:資料檔、交易檔、資料轉換服務、管理、複寫、安全性、支援服務,及為Table建立的Trigger、全文檢索、及其它一切項目(就是要整台SQLSERVER複製到另一台新的機器上的).
重點是<一次>就完成,不用分好幾階段操作!也不用另外按裝軟體的方法.
net stop "mssqlserver"
cd d:\sql data
d:
copy *.* g:\ /y
net start "mssqlserver"
exit
另存新檔為 sqlback.cmd
搭配排程
DOS批处理实现SQLServer2000数据库自动备份 收藏
标题:SQLServer2000数据库自动备份
Tag: DOS 批处理 bat sql2000 数据库备份
概要:
利用windows的计划任务执行批处理文件
正文:
1 制作批处理文件
将下面的源代码保存为(文件名.bat
::文件名:SQLServer2000数据库自动备份.bat
::功能:将数据库备份导出到以当前日期和时间命名的文件中,并保存到该月的文件夹下。
::注意:脚本在windows 2003中文版操作系统下测试可用,其他环境下请先测试是否可用。
::测试:在运行前,请先在DOS命令行中键入echo %date%%time%,查看日期格式,如果是“yyyy-mm-dd 星期N 时:分:秒.厘秒”,例如“2008-11-26 星期三08:30:43.90”,则可用
::--------------------------设置变量
::服务器名
@set ServerName=.
::登陆用户名
@set LoginUser=sa***根据个人环境来改变***
::登陆密码
@set LoginPwd=sa *根据个人环境来改变*
::数据库名
@set DataBaseName=backupBasedata *根据个人环境来改变*
::ISQL的路径,这个需要配置到系统环境变量中去(我的电脑属性-高级-环境变量-系统环境变量-path值后面添加sql工具的路径,如C:\Program Files\Microsoft SQL Server\80\Tools\BINN)
::@set ISQLPath=C:\Program Files\Microsoft SQL Server\80\Tools\Binn
::设置保存的绝对路径
@set SavePath=G:\11 *根据个人环境来改变*
::根据当前的日期时间,生成备份的文件名。格式可以自己改
@set FileName=bak-[%date:~0,10%-%time:~0,2%-%time:~3,2%-%time:~6,2%.%time:~9,2%]-bak.bak
::生成当月的文件夹名
@set DirName=%date:~0,7%
::备份数据库语句
@set ExecSQL="backup database %DataBaseName% to disk='%SavePath%\%DirName%\%FileName%'"
::-------------------------创建文件夹
::每月1号创建新的文件夹
@if %date:~8,2%==01 (md %SavePath%\%DirName%)
::如果没有本月文件夹(初次运行时如果不是1号),则创建本月文件夹
@if not exist %SavePath%\%DirName% (md %SavePath%\%DirName%)
::-------------------------备份数据
::开始执行导出
@echo 开始备份数据
isql -U %LoginUser% -P %LoginPwd% -S %ServerName% -d %DataBaseName% -Q %ExecSQL%
::-------------------------完成备份
@echo 数据备份成功
::如果需要让客户确认,请去掉下面代码前面的::注释符。
::@pause
2 添加windows计划任务
控制面板--任务计划--添加任务计划
定期执行这个批处理文件
或者手动双击执行该批处理文件,来实现数据库的备份