當它來與確保備份越來越任務到位,我還是有點擔心,因爲我們使用的是SQL Express和發現,是不是真的有一種無需參與腳本管理的方法。一般來說,我對腳本沒問題,但是對於SQL語法,我有點不太流行......這是我的腳本。腳本錯誤:SQLCMD:「與」關鍵字附近有語法錯誤
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".
和錯誤把我帶回到我最初的想法是個Ë問題是與我的聲明變量..
屬於上http://dba.stackexchange.com – 2013-04-26 12:08:35
謝謝,我張貼有作爲。當我找到答案時,我會在下面列出它以保持一致。 – 2013-04-26 12:45:54
其實,你不應該創建重複的帖子。只要等到你的問題關閉,並且轉移到適當的網站之一。謝謝。 – 2013-04-26 12:47:56