Welcome to Sign in | Help

Re: cum creez un folder in T-SQL (SQLServer 2000)

  •  06-06-2007, 4:26 PM

    Re: cum creez un folder in T-SQL (SQLServer 2000)

    am modificat procedura astfel


    CREATE     proc _BackUp_DBName_WinRAR
     @DBName nvarchar(50),
     @param bit Out

    as
    set @param=0

    declare
     @now    nvarchar(100),
     @luna    nvarchar(10),
     @LogicalBackup   nvarchar(300),
     @CaleBackup0   nvarchar(300),
     @CaleBackup   nvarchar(300),
     @strSQL   nvarchar(4000)

    declare
     @dataRef datetime,
     @month int,
     @year int

    set @dataRef=getdate()
    set @month = datepart(mm,@dataRef)
    set @year = datepart(yyyy,@dataRef)


    select @luna=cast(month(GETDATE()) as nvarchar(50))


    if len(@luna)=1 set @luna='0'+cast(@luna as nvarchar(50))

    --EXEC master..xp_cmdshell 'mkdir D:\TEST'
    --EXEC master..xp_cmdshell 'mkdir "D:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\" + @DBName" '
    set  @strSQL='mkdir "D:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\' + @DBName + '"'
    EXEC master..xp_cmdshell @strSQL
    -- Create a logical backup device for the full database backup
    set @now=cast(day(GETDATE()) as nvarchar(50))+''+@luna+''+cast(year(GETDATE()) as nvarchar(50))+'_'+cast(DATEPART(hour, GETDATE()) as nvarchar(50))+''+cast(DATEPART(minute, GETDATE()) as nvarchar(50))+''+cast(DATEPART(second, GETDATE()) as nvarchar(50))
    set @CaleBackup0='D:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\TEST\'+@DBName + '_'+ @now
    set @CaleBackup=@CaleBackup0+'.BAK'
    set @LogicalBackup= @DBName + '_'+ @now

    print 'EXEC master..sp_addumpdevice ''disk'', '''+@LogicalBackup+''', '''+@CaleBackup+''''
    exec('EXEC master..sp_addumpdevice ''disk'', '''+@LogicalBackup+''', '''+@CaleBackup+'''')
    -- Back up the full database
    exec('BACKUP DATABASE ' + @DBName + ' TO ' + @LogicalBackup)

    DECLARE  @LocalBackUPPath   nvarchar(255),
      @LocalBackUPDrive  nvarchar(128), 
      @TemplateFileName  nvarchar(255),
      @TemplateCharSeparator  nvarchar(128),
      @tmpSQL    varchar(8000),
      @tmpServer   varchar(8000),
      @PackerFileName   nvarchar(255),
      @PackFileName   nvarchar(255),
      @SetPasswordAutomatic  bit,
      @SetPasswordTo    nvarchar(64),
      @PackOptions   nvarchar(255),
      @FileExtention   nvarchar(32)

    SET @PackerFileName = '"C:\Program Files\WinRAR\rar.exe"'
    SET @PackOptions = 'a -df -ep -s -d4096 -rr -m5 -ri1'
    SET @LocalBackupDrive = 'D:'
    SET @LocalBackUPPath = 'Program Files\Microsoft SQL Server\MSSQL\BACKUP'
    SET @PackFileName=@LogicalBackup + '.BAK' --+ @FileExtention

    SET @tmpServer='master.dbo.xp_cmdshell'
    --SET @tmpSQL='"C:\Program Files\WinRAR\rar.exe"' + ' ' + 'a -df -ep -s -d4096 -rr -m5 -ri1'  + ' ' + 'D:' + '\' + 'D:\Program Files\Microsoft SQL Server\MSSQL\BACKUP' + '\' + @PackFileName + ' ' + @LocalBackupDrive + '\' + @LocalBackUPPath + '\' + @BAKFileName
    SET @tmpSQL=@PackerFileName + ' ' + @PackOptions + ' ' + @LocalBackupDrive + '\' + @LocalBackUPPath + '\' + @PackFileName -- + ' ' + @LocalBackupDrive + '\' + @LocalBackUPPath + '\' + @BAKFileName
    EXEC @tmpServer @tmpSQL

     

    set @param=1

    return @param

     

    GO

    si primesc cu debug in sql urmatoarea eroare....nu-mi dau seama de la ce poate fi....ce e gresit

     

    NULL
    RAR 3.00    Copyright (c) 1993-2002 Eugene Roshal    14 May 2002
    Shareware version         Type RAR -? for help
    NULL
    Evaluation copy. Please register.
    NULL
    Cannot open Files\Microsoft
    Cannot open SQL
    Cannot open Server\MSSQL\BACKUP\TEST_6062007_162215.BAK
    Updating solid archive D:\Program.rar
    NULL
    Repacking archived files:     1    2
    WARNING: No files
    NULL

     

    aveti vreo idee ?

    o sa ma gandesc si la varianta ta Diana....dar as vrea sa rezolv asa totusi ...daca nu reusesc ;)

View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems