MSSQL: Восстановите DB в последний файл в наборе резервных копий

Вы могли использовать Попытку, блок Выгоды как следующее.

try
{
   New-ADUser "FAKEACCOUNT"
}
catch [Microsoft.ActiveDirectory.Management.ADIdentityAlreadyExistsException]
{
   #forget about it....
}
catch
{
   #PANIC!
}

Примечание: Я не положителен, что Новый-QADUser cmdlet выдает то же исключение, но вышеупомянутые работы кода для Нового-ADUser cmdlet.

Эта ссылка может помочь Вам дешифровать специфические особенности своей ситуации: http://blogs.msdn.com/b/adpowershell/archive/2009/03/25/error-reporting-in-active-directory-powershell.aspx

4
задан 6 February 2014 в 03:49
1 ответ

Что-то вроде этого может помочь. Я просто быстро изменил то, что использую для немного другой цели.

declare @dbname varchar(80),
        @lastfull datetime,
        @fullback varchar(1024),
        @position int,
        @SQL nvarchar(max)

set @dbname = 'YourDB'


select @lastfull = MAX(backup_finish_date) 
FROM master.sys.databases d
LEFT OUTER JOIN msdb.dbo.backupset b ON d.name = b.database_name AND b.type = 'D'
WHERE d.database_id NOT IN (2, 3) and d.name=@dbname


SELECT    @fullback = m.physical_device_name, @position = b.position
FROM         msdb.dbo.backupmediafamily AS m INNER JOIN
                      msdb.dbo.backupset AS b ON m.media_set_id = b.media_set_id 
                      and b.type='D' and b.database_name=@dbname
                      AND b.backup_finish_date=@lastfull


set @SQL =  'RESTORE DATABASE [' + @DBname + '] FROM  DISK = N''' + @fullback +  ''' WITH  FILE = ' + convert(nvarchar,@position) + ',  RECOVERY,  NOUNLOAD,  STATS = 10'
EXEC SP_EXECUTESQL @SQL

Он извлекает дату последней резервной копии для данной базы данных и заполняет путь и позицию для вас.

6
ответ дан 3 December 2019 в 03:06

Теги

Похожие вопросы