/** **功能描述:日志记录存储过程 **创建时间: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