zoukankan      html  css  js  c++  java
  • sql存储过程备份数据库

    1CREATE procedure dbo.usp_backup_database
     2
     3@p_dbname varchar(50),--备份数据库名称
     4@p_type varchar(50),--备份类型,fullorlog
     5@filename varchar(8000)='' OUTPUT
     6
     7as
     8
     9SET NOCOUNT ON
    10SET DATEFIRST 1
    11
    12DECLARE @sql varchar(8000)
    13DECLARE @datetime varchar(30)
    14DECLARE @path varchar(100)
    15
    16SET @path = 'E:\backup\sql_data\'
    17
    18IF @p_type='full'
    19BEGIN
    20 SET @datetime = CONVERT(varchar(20),getdate(),20)
    21 SET @datetime = REPLACE(@datetime,' ','_')
    22 SET @datetime = 'DB_Full_'+REPLACE(@datetime,':','-')
    23
    24 SET @filename = @datetime+'.bak'''
    25
    26 SET @sql = 'BACKUP DATABASE ' + @p_dbname
    27 SET @sql = @sql + ' TO DISK = N'''+@path+@p_dbname + '\'+@filename
    28 SET @sql = @sql + ' WITH INIT'
    29END
    30
    31IF @p_type='diff'
    32BEGIN
    33 SET @datetime = 'DB_Diff_'+CAST(DATEPART ( dw , getDate()) AS char(1))
    34 SET @filename = @datetime+'.diff'''
    35 SET @sql = 'BACKUP DATABASE ' + @p_dbname
    36 SET @sql = @sql + ' TO DISK = N'''+@path+@p_dbname + '\'+@filename
    37 SET @sql = @sql + ' WITH INIT,DIFFERENTIAL'
    38END
    39
    40IF @p_type='log'
    41BEGIN
    42 SET @datetime = 'DB_Log_'+DATENAME ( hh , getdate() )
    43 SET @filename = @datetime+'.log'' '
    44 SET @sql = 'BACKUP LOG '+ @p_dbname
    45 SET @sql = @sql + ' TO DISK = N'''+@path+@p_dbname + '\'+@filename
    46 SET @sql = @sql + ' WITH INIT'
    47END
    48
    49
    50--SELECT @sql
    51
    52EXEC (@sql)
    53
    54SET @filename = REPLACE(@filename,'''','')
    55GO
  • 相关阅读:
    函数细节
    ElementUI的Table组件自定义合计行内容
    好看的字体收藏
    MD5加密生成与SHA526加密生成
    XML和Map之间互相转换
    银联支付
    微信支付开发
    MySql创建索引,添加索引
    jqgrid分级表格合并
    关于C# XmlDocument方法Load加载流后自动释放流的解决方法
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1660426.html
Copyright © 2011-2022 走看看