我想每天每两个小时创建一次数据库快照,创建的文件名(FileName)要带日期和小时(如09062306)。这个要怎么写啊?
各位大侠帮帮忙嘛

解决方案 »

  1.   

    放在JOB下执行:DECLARE @dt VARCHAR(16);
    SELECT @dt = RIGHT(YEAR(GETDATE()),2) + RIGHT(100+MONTH(GETDATE()),2)
                + RIGHT(100+DAY(GETDATE()),2) 
                + RIGHT(100 + DATEPART(hour,GETDATE()),2)
                + RIGHT(100 + DATEPART(minute,GETDATE()),2);DECLARE @cmd NVARCHAR(4000);
    SET @cmd = N'CREATE DATABASE Northwind_' + @dt+' ON ';
    DECLARE @onFile NVARCHAR(4000);
    SET @onFile = '';SELECT
        @onFile = @onFile + ',(name=' + name + ',filename=''G:\db\' + name + '_' + @dt+'.ss'')'
    FROM sys.master_files
    WHERE database_id = DB_ID('MyTest')
        AND TYPE = 0;
    SET @onFile = STUFF(@onFile,1,1,'');EXEC(@cmd + @onFile + ' AS SNAPSHOT OF MyTest');