SQL Server Express 自动备份方法

使用Windows 【管理工具】的【任务计划程序】

操作步骤如下:

1. 选择【创建任务】,填入名称backup_db

2.然后选择【触发器】,假设选择每天执行一次,时间在下午6点。

3.选择【操作】- 新建- 启动程序,程序路径c:\backup.bat 确定

4.修改c:\backup.bat内容为:"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" -S .\SQLEXPRESS -E -i c:\Backup.sql

5.修改c:\backup.sql 内容,建立c:\backup目录,确认这个目录 Authenticated Users 这个用户有读写的权限

exec [usp_BackupDatabase] '需要备份的数据库名','c:\backup','F'
go

6.在你Master数据库内执行该段存储过程,该存储过程被Windows计划调用。

CREATE PROCEDURE [dbo].[usp_BackupDatabase]   
       @databaseName sysname,@backupPath nvarchar(255), @backupType CHAR(1)  
AS  
BEGIN  
       SET NOCOUNT ON;  

       DECLARE @sqlCommand NVARCHAR(1000)  
       DECLARE @dateTime NVARCHAR(20)  

       SELECT @dateTime = REPLACE(CONVERT(VARCHAR, GETDATE(),111),'/','') +  
       REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','')   

       IF @backupType = 'F'  
               SET @sqlCommand = 'BACKUP DATABASE [' + @databaseName +  
               '] TO DISK = '''+@backupPath+'\' + @databaseName + '_Full_' + @dateTime + '.BAK'''  
         
       IF @backupType = 'D'  
               SET @sqlCommand = 'BACKUP DATABASE [' + @databaseName +  
               '[ TO DISK = '''+@backupPath+'\'+ @databaseName + '_Diff_' + @dateTime + '.BAK'' WITH DIFFERENTIAL' 
         
       IF @backupType = 'L'  
               SET @sqlCommand = 'BACKUP LOG [' + @databaseName +  
               '[ TO DISK = '''+@backupPath+'\' + @databaseName + '_Log_' + @dateTime + '.TRN'''  
         
       EXECUTE sp_executesql @sqlCommand  
END 

  

 

转载于:https://www.cnblogs.com/zitjubiz/archive/2012/12/22/sqlserver_express_backup.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值