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 ;)