0
我試圖腳本恢復我們的數據庫之一,我需要知道正確的語法使用與文件,並與移動命令SQL腳本還原使用隨動 - 隨着文件和隨着
到目前爲止,我有:
RESTORE DATABASE Test
FROM DISK = 'E:\Test_db_BASELINE.BAK'
WITH FILE = 1
WITH MOVE 'Test_dat' TO 'C:\MSSQL\v2_Data\Test_Data.MDF',
MOVE 'Test_log' TO 'C:\MSSQL\v2_Data\Test_Log.LDF', REPLACE
我得到的語法錯誤任何想法?
投入方面我想執行以下自動恢復,其中BAK文件有一個時間戳的命名約定:
--==CHECK IF DB EXISTS IF IT DOES DROP IT
USE [master]
IF EXISTS(SELECT * FROM sys.databases where name='SlotLookup')
DROP DATABASE [SlotLookup]
--==START THE RESTORE PROCESS
DECLARE @FileName varchar(255), @PathToBackup varchar(255), @RestoreFilePath varchar(1000)
DECLARE @Files TABLE (subdirectory varchar(255), depth int, [file] int)
SET NOCOUNT ON
--==SET THE FILEPATH
SET @PathToBackup = 'path'
--insert into our memory table using dirtree and a single file level
INSERT INTO @Files
EXEC master.dbo.xp_DirTree @PathToBackup,1,1
SELECT TOP 1
@FileName = [subdirectory]
FROM
@Files
WHERE
-- get where it is a file
[file] = 1
AND
--==FIND THE LOGICAL NAME OF THE BAK FILE FROM THE CHRONILOGICALLY ORDERED LIST
subdirectory LIKE '%.bak'
ORDER BY
-- order descending so newest file will be first by naming convention
subdirectory DESC
IF LEFT(REVERSE(@PathToBackup), 1) != '\'
BEGIN
SET @PathToBackup = @PathToBackup + '\'
END
SET @RestoreFilePath = @PathToBackup + @FileName
SELECT @RestoreFilePath
--===BEGIN THE RESTORE TO THE DESIGNATED SERVER
RESTORE DATABASE [SlotLookup]
FROM DISK = @RestoreFilePath
FILE = 1
WITH MOVE 'SlotLookup' TO 'path\SlotLookup.mdf',
MOVE 'SlotLookup_log' TO 'path\SlotLookup_log.ldf'
獲取語法錯誤 消息156,級別15,狀態1,行48 關鍵字'FILE'附近的語法錯誤。 消息319,15級,狀態1,49
什麼是錯誤信息? –
錯誤消息是:獲取語法錯誤消息156,級別15,狀態1,行48關鍵字'文件'附近的語法不正確。 Msg 319,Level 15,State 1,Line 49 – jimmy8ball