`
liyinfeng56
  • 浏览: 91942 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics