Когда дело дошло до того, что вам было поручено обеспечить резервное копирование, я был немного обеспокоен, потому что мы используем SQL Express и выяснили, что на самом деле нет способ управлять этим без участия скриптов. Я в порядке со сценарием в целом, но я немного несовместим с синтаксисом SQL ... Вот мой сценарий.Ошибка скрипта: SQLCMD: Неверный синтаксис рядом с ключевым словом 'with'
declare @currentDate datetime
set @currentDate = GetDate()
declare @fileName varchar(255)
set @fileName = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\AlphaDB_PRD_Trans_'
+ cast(Year(@currentDate) as varchar(4))
+ Replicate('0', 2 - Len(cast(Month(@currentDate) as varchar(2))))
+ cast(Month(@currentDate) as varchar(2))
+ Replicate('0', 2 - Len(cast(Day(@currentDate) as varchar(2))))
+ cast(Day(@currentDate) as varchar(2))
+ '_' +
+ Replicate('0', 2 - Len(cast(DatePart(hour, @currentDate) as varchar(2))))
+ cast(DatePart(hour, @currentDate) as varchar(2))
+ Replicate('0', 2 - Len(cast(DatePart(minute, @currentDate) as varchar(2))))
+ cast(DatePart(minute, @currentDate) as varchar(2)) + '.TRN';
BACKUP LOG [AlphaDB_PRD] TO DISK = @fileName with DESCRIPTION = N'AlphaDB_PRD-Transaction Log Backup', NOFORMAT, INIT, NAME = N'AlphaDB_PRD-Transaction Log Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N'AlphaDB_PRD' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'AlphaDB_PRD')
if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database ''AlphaDB_PRD'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM DISK = @fileName WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
Я думал, что моя первая проблема была, как я был объявить переменную для filename
, но фактический файл НЕ спасутся: AlphaDB_PRD_Trans_20130426_0738.TRN
Я видел эту ссылку: Incorrect syntax near the keyword 'with'. , но я получаю другую ошибку, когда Я включаю ;
непосредственно перед ключевым словом WITH
:
Msg 102, Level 15, State 1, Server ALPHASRVPRD, Line 17
Incorrect syntax near '='.
Msg 137, Level 15, State 2, Server ALPHASRVPRD, Line 4
Must declare the scalar variable "@fileName".
и эта ошибка возвращает меня к моей первоначальной мысли, что й e вопрос заключается в объявлении моей переменной.
Принадлежит http://dba.stackexchange.com –
Спасибо, я также разместил его там. когда я найду ответ, я буду включать его ниже для согласованности. –
На самом деле, вы не должны создавать дубликаты сообщений. Подождите, пока ваш вопрос будет закрыт как не по теме и перенесен на один из соответствующих сайтов. Спасибо. –