数据库备份 存储过程

P_DB_FULL_BACKUP 数据库全备
P_DB_LOG_BACKUP  数据库日志备份

添加到job里.欢迎测试       

LEADBBS CODE
CREATE PROC P_DB_FULL_BACKUP
    @DBNAME NVARCHAR(500),
    @PATH NVARCHAR(500)
AS 
    DECLARE @SQL NVARCHAR(4000)
    DECLARE @DATE NVARCHAR(600)
    DECLARE @FILENAME NVARCHAR(1000)
    IF ISNULL(@DBNAME,'')='' OR ISNULL(@PATH,'')='' BEGIN RETURN END
    SET @DATE=REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR,GETDATE(),120),' ','.'),'-',''),':','')
    SET @PATH=@PATH+N'\'
    SET @FILENAME = @DBNAME+N'_FULL_BACK_'+@DATE+N'.bak'

    SET @SQL = N'
    BACKUP DATABASE ['+ @DBNAME +N'] TO  DISK = N'''+ @PATH+ @FILENAME +'''
    WITH INIT,NOUNLOAD,NAME = N'''+@DBNAME+N'_FULL_备份'',NOSKIP,STATS=10,NOFORMAT
    '
    EXEC(@SQL)


LEADBBS CODE
CREATE PROC P_DB_LOG_BACKUP
    @DBNAME NVARCHAR(500),
    @PATH NVARCHAR(500)
AS 
    DECLARE @SQL NVARCHAR(4000)
    DECLARE @DATE NVARCHAR(600)
    DECLARE @FILENAME NVARCHAR(1000)
    IF ISNULL(@DBNAME,'')='' OR ISNULL(@PATH,'')='' BEGIN RETURN END
    SET @DATE=REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR,GETDATE(),120),' ','.'),'-',''),':','')
    SET @PATH=@PATH+N'\'
    SET @FILENAME = @DBNAME+N'_LOG_BACK_'+@DATE+N'.bak'

    SET @SQL = N'
    BACKUP LOG ['+ @DBNAME +N'] TO  DISK = N'''+ @PATH+ @FILENAME +'''
    WITH  RETAINDAYS = 2, NOINIT,NAME = N'''+@DBNAME+N'_LOG_备份''
    '
    EXEC(@SQL)
posted @ 2008-11-24 13:32 星际 阅读(70) 评论(0) 编辑 收藏