sql server2005数据库备份存储过程




/**
**功能描述:日志记录存储过程
**创建时间:2010年9月28日
**调用方法:EXECUTE PR_INSERT_LOG
'执行数据库备份','数据库备份成功',getdate()
**
**/
IF EXISTS( SELECT * FROM SYSOBJECTS WHERE NAME='PR_INSERT_LOG')
BEGIN
DROP PROC PR_INSERT_LOG
END
GO

CREATE PROC PR_INSERT_LOG
@LOG_NAMES VARCHAR(100),
@LOG_STATUSS VARCHAR(100),
@LOG_TIMES VARCHAR(100)
AS
BEGIN
IF EXISTS( SELECT * FROM SYSOBJECTS WHERE NAME='DATABASE_LOG')
BEGIN
DROP TABLE DATABASE_LOG
END
CREATE TABLE DATABASE_LOG
(
LOG_ID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
LOG_NAME VARCHAR(100) NOT NULL,
LOG_STATUS VARCHAR(100) NOT NULL,
LOG_TIME VARCHAR(100) NOT NULL
)
INSERT INTO DATABASE_LOG VALUES(@LOG_NAMES,@LOG_STATUSS,@LOG_TIMES)
END
GO


/**
**功能描述:数据库备份存储过程
**创建时间:2010年9月28日
**调用方法:PR_BACKUP_DB @FL OUT,'JB_CRM_TEAM0',
'D:\JB_CRM_TEAM0.BAK'
**
**/
IF EXISTS( SELECT * FROM SYSOBJECTS WHERE NAME='PR_BACKUP_DB' AND XTYPE='P')
BEGIN
DROP PROC PR_BACKUP_DB
END


GO
CREATE PROC PR_BACKUP_DB
@BACKUP_DB_NAME VARCHAR(128),
@FILENAME VARCHAR(1000),
@BAKTIME VARCHAR(100)
AS
DECLARE @SQL NVARCHAR(4000),@PAR NVARCHAR(1000)
IF NOT EXISTS(
EXECUTE PR_INSERT_LOG '执行数据库备份','数据库备份开始执行',@BAKTIME
SELECT * FROM MASTER..SYSDATABASES
WHERE NAME=@BACKUP_DB_NAME
)
BEGIN
EXECUTE PR_INSERT_LOG '执行数据库备份','数据库不存在',@BAKTIME
RETURN
END
ELSE
BEGIN
IF RIGHT(@FILENAME,1)<>'\' AND CHARINDEX('\',@FILENAME)<>0
BEGIN
SELECT @PAR='@FILENAME VARCHAR(1000)'
SELECT @SQL='BACKUP DATABASE '+@BACKUP_DB_NAME+' TO DISK=@FILENAME WITH INIT'
EXECUTE SP_EXECUTESQL @SQL,@PAR,@FILENAME
EXECUTE PR_INSERT_LOG '执行数据库备份','数据库备份成功',@BAKTIME
RETURN
END
ELSE
BEGIN
EXECUTE PR_INSERT_LOG '执行数据库备份','文件类型有误',@BAKTIME
RETURN
END
END
GO

GO
EXECUTE PR_BACKUP_DB 'JB_CRM_TEAM0','D:\JB_CRM_TEAM0.BAK','2010年9月28日'
GO
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值