Express版SQL定时备份BAK文件(SQL2005,SQL2008)
2012-02-14 08:38
357 查看
方法是参考网上的,做了下修改。
基本方式是:计划任务启动批处理文件,批处理执行SQL语句文件,在SQL语句中执行数据库中的存储过程来备份数据库。
创建存储过程SQL:
批处理内容:(-i后面是要执行的SQL文件)
sqlcmd -S .\SQLEXPRESS -E -i BackupDB.sql
BackupDB.sql内容
F是完全备份,D是差异备份,L是备份日志。
基本方式是:计划任务启动批处理文件,批处理执行SQL语句文件,在SQL语句中执行数据库中的存储过程来备份数据库。
创建存储过程SQL:
Use 数据库名 GO CREATE PROCEDURE [dbo].[sp_BackupDB] @DBName sysname, @bakType CHAR(1), @bakToDir NVARCHAR(500) AS BEGIN SET NOCOUNT ON; DECLARE @sqlCommand NVARCHAR(1000) DECLARE @dateTime NVARCHAR(20) DECLARE @bakFullPath NVARCHAR(500) SELECT @dateTime=REPLACE(CONVERT(VARCHAR,GETDATE(),111),'/','')+REPLACE(CONVERT(VARCHAR,GETDATE(),108),':','') IF @bakType='F' BEGIN SET @bakFullPath = @bakToDir + @DBName + '_Full_' + @dateTime +'.BAK' SET @sqlCommand='BACKUP DATABASE ' + @DBName + ' TO DISK = ''' + @bakFullPath +'''' END IF @bakType='D' BEGIN SET @bakFullPath = @bakToDir + @DBName + '_Diff_' + @dateTime + '.BAK' SET @sqlCommand='BACKUP DATABASE ' + @DBName + ' TO DISK = ''' + @bakFullPath + ''' WITH DIFFERENTIAL' END IF @bakType='L' BEGIN SET @bakFullPath = @bakToDir + @DBName + '_Log_' + @dateTime + '.TRN' SET @sqlCommand='BACKUP LOG ' + @DBName + ' TO DISK = ''' + @bakFullPath + '''' END EXECUTE sp_executesql @sqlCommand END GO
批处理内容:(-i后面是要执行的SQL文件)
sqlcmd -S .\SQLEXPRESS -E -i BackupDB.sql
BackupDB.sql内容
Use 存储过程所在数据库名 EXEC dbo.sp_BackupDB N'备份的数据库名',N'F',N'备份文件存储路径';
F是完全备份,D是差异备份,L是备份日志。
相关文章推荐
- SqlServerExpress2005 自动备份
- SQL 2005 EXPRESS 自动备份
- SQL定时自动备份,并将备份文件加密压缩并自动下载的实现
- SqlServerExpress2005 自动备份
- SqlServerExpress2005自动备份数据库
- SQL Server 2005 Express自动备份及删除旧备份文件
- SqlServerExpress2005 自动备份
- SQL 2008 还原SQL 2005备份文件不成功的解决方法
- SQL2005自动定时备份数据库并按日期命名
- sql命令还原数据库BAK备份文件到现有数据中
- SQL 2005自动备份与自动删除备份文件
- SQL 2008 还原SQL 2005备份文件不成功的解决方
- SqlServerExpress2005 自动备份
- SQLserverExpress自动化备份及删除备份文件
- 通过SQL存储过程删除过期的数据库Bak备份文件
- sql 2005 数据库升级2008 数据库 和2005 数据附加2008数据备份文件
- 使用SQL BAK Reader 小工具查看SQL Server备份文件内容(不需要打开SQL Server)
- 转:SQL定时自动备份,并将备份文件加密压缩并自动下载的实现
- centos定时备份web工程和sql文件并上传到ftp
- sql命令还原数据库BAK备份文件到现有数据中.