【问题标题】:inserting date into sql script将日期插入sql脚本
【发布时间】:2011-03-15 23:12:28
【问题描述】:

我在脚本中做这样的 sql server 备份:

BACKUP DATABASE databasename TO DISK = `path'

由于此备份将自动进行,我如何将今天的日期插入'path'

【问题讨论】:

    标签: sql sql-server shell backup


    【解决方案1】:
    declare @path varchar(255), @mydb varchar(50)
    SELECT @mydb = 'MyDBToBackUp'
    select @path = 'C:\foo\bar\' + @mydb + '-' + convert(varchar(8),getdate(),112) + '.bak'
    BACKUP DATABASE @mydb TO @path
    

    BACKUP DATABASE 接受局部变量

    编辑:最后一行应该是这样的:哎呀。对不起。

     BACKUP DATABASE @mydb TO DISK =  @path
    

    【讨论】:

      【解决方案2】:

      您可以像这样以 yyyymmdd 格式获取今天的日期

      convert(varchar(8),getdate(),112)
      

      例如,将 print 更改为 exec

      declare @date varchar(8)
      select @date = convert(varchar(8),getdate(),112)
      
      --change print to exec
      print ('BACKUP DATABASE databasename TO DISK = ''path' + @date + '''')
      

      将生成此语句

      BACKUP DATABASE databasename TO DISK = 'path20100714'

      您可能还想添加一个像 BAK 这样的扩展

      还要查看 INITNOINIT,如果备份已经存在,INIT 将覆盖该名称,NOINIT 将附加,另请参阅:http://msdn.microsoft.com/en-us/library/ms186865.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-19
        • 1970-01-01
        • 1970-01-01
        • 2010-10-17
        • 2016-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多