Discussão antiga, eu sei, mas eu passei por isso enquanto pesquisava um problema diferente com o JungleDisk.
O problema que o OP tinha era que cada diferencial que era tomado era o mesmo nome do último, e o JungleDisk substitui o antigo backup baseado em nuvem pelo novo arquivo. Não é um problema, a menos que o último backup para a nuvem falhou ... o que aconteceu no caso dele.
Mas a resposta à pergunta do OP é sim, em seu plano de manutenção, renomeie cada backup diferencial com um carimbo de data e hora. Por exemplo, aqui está o plano que cria um nome de arquivo como:
MyDatabaseName_Diff_2012-08-20T01-35-01.BAK
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
DECLARE @fileNameNoExt VARCHAR(256) -- Used to name the backup from the NAME parameter
DECLARE @subDir VARCHAR(256) -- Used to create the subdirectory for the backup
DECLARE @backupSetId as int
DECLARE @noBackupErrorMessage VARCHAR(256)
SET @path = 'C:\Path\To\Your\Backups\'
SELECT @fileDate = REPLACE(REPLACE(CONVERT(VARCHAR(20),GETDATE(),126), ':', '-'), '.', '')
-- Exclude the system databases, as well as any others you don't want to back up.
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '\' + @name + '_Diff_' + @fileDate + '.BAK'
SET @fileNameNoExt = @name + '\' + @name + '_Diff_' + @fileDate
SET @subDir = @path + @name
EXECUTE master.dbo.xp_create_subdir @subdir
BACKUP DATABASE @name TO DISK = @fileName WITH DIFFERENTIAL, NOFORMAT, NOINIT, NAME = @fileNameNoExt, SKIP, NOREWIND, NOUNLOAD, STATS = 10
-- Now verify the backup
SET @noBackupErrorMessage = N'Verify failed. Backup information for database ' + @name + ' not found.'
select @backupSetId = position from msdb..backupset where database_name=@name and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=@name )
if @backupSetId is null begin raiserror(@noBackupErrorMessage, 16, 1) end
RESTORE VERIFYONLY FROM DISK = @fileName WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
MAS, se você estiver usando o JungleDisk, poderá descobrir que a cadeia de backup está quebrada e não pode fazer backups diferenciais!