项目有在这样一个需求:通过页面来备份 sqlserver数据库;
我现在的方法:
String command = dir + "backup_eiis_sqlServer.bat";
Runtime.getRuntime().exec(command);
下面是backup_eiis_sqlServer.bat;
SET dbbak_dir=C:\EIIS_DBBaker\
if not exist %dbbak_dir% mkdir %dbbak_dir%
REM Backup Database Name
SET B_Database_Name=eiis
SET B_DATE=%date:~0,4%%date:~5,2%%date:~8,2%
ECHO use master ;>%dbbak_dir%FULL_backup.sql
ECHO go >>%dbbak_dir%FULL_backup.sql
ECHO BACKUP DATABASE %B_Database_Name% >>%dbbak_dir%FULL_backup.sql
ECHO TO DISK = '%dbbak_dir%%B_Database_Name%_%B_DATE%_FULL.bak' >>%dbbak_dir%FULL_backup.sql
ECHO WITH INIT , NOUNLOAD ;>>%dbbak_dir%FULL_backup.sql
ECHO go >>%dbbak_dir%FULL_backup.sql
REM SQLCMD.EXE path
SET SQLCMD_PATH=C:\Program Files\Microsoft SQL Server\90\Tools\Binn\
REM Database user name and password
SET DBUser=eiis
SET DBpassword=eiis
SET DBAddress=192.168.1.22
ECHO BACKUP DATABASE
"%SQLCMD_PATH%SQLCMD.EXE" -U %DBUser% -P %DBpassword% -S %DBAddress% -i %dbbak_dir%FULL_backup.sql -o %dbbak_dir%%B_Database_Name%_%B_DATE%_FULL.log
REM Delete old backup files
FORFILES /P %dbbak_dir% /D -60 -M %B_Database_Name%*.bak /C "cmd /c del
@file"
FORFILES /P %dbbak_dir% /D -60 -M %B_Database_Name%*.log /C "cmd /c del
@file"
REM Delete Temp files
DEL /Q %dbbak_dir%FULL_backup.sql
发现这个bat文件,使用SQLCMD.EXE工具,只有在 数据库服务器上才能执行;
要在web服务器上怎么备份sqlserver数据库?
mysql 和 oracle 用的时间多,sqlserver不怎么熟悉,网上也没找到;
Sqlserver通过Sql语句
backup database Company to disk='d:\backup\1.bak'
会把数据库备份到服务器指定的位置,后面要怎么操作自己做呗。
很久没搞这个了,具体也不记得了。
可以看这个网址:http://www.cnblogs.com/qinpengming/archive/2011/03/07/struggle.html
或者自己看一下MSDN
http://technet.microsoft.com/zh-cn/library/ms187510.aspx