Я использовал ниже сценарий для восстановления баз данных, где я дал имя файла .bak вручную. Мне нужно сделать процесс автоматизации для восстановления данных. поэтому я попытался использовать хранимую процедуру с помощью xp_DirTree, чтобы получить имя файла .bak из папки удаленного сервера. но выполнение хранимой процедуры без каких-либо результатов. когда я пробовал локальный путь, я могу видеть файлы .bak в папке. Сначала я думал, что это проблема с разрешением, но разрешения прав. может ли кто-нибудь предложить мне, что вызывает ошибка?Как получить .bak имя файла автоматически из каталога для восстановления?
скрипт используется для восстановления базы данных:
CREATE TABLE #CustomerrestoreFiles(
backupfile VARCHAR(100))
--Drop Table #CustomerrestoreFiles (backupfile)
VALUES
('Customer_backup_2016_09_15_203001_9888161'),
('Customer_backup_2016_10_10_203001_7101588'),
('Customer_backup_2016_10_14_203001_6621303'),
('Customer_backup_2016_10_15_203001_5397847'),
('Customer_backup_2016_10_16_203002_0291343'),
('Customer_backup_2016_10_17_203002_2861353')
DECLARE @CustomerDBfileToRestore VARCHAR(100), @backupLocation varchar(500), @mdfLocation varchar(500), @ldfLocation varchar(500)
DECLARE restorecursor CURSOR FOR
SELECT backupfile FROM #CustomerrestoreFiles
OPEN restorecursor
FETCH NEXT FROM restorecursor
INTO @CustomerDBfileToRestore
WHILE @@FETCH_STATUS = 0
BEGIN
SET @backupLocation = 'F:\Customer bak files' + '\' + @CustomerDBfileToRestore + '\' + @CustomerDBfileToRestore +'.bak'
SET @mdfLocation = 'F:\Files\Customer_Restore_Files\' + @CustomerDBfileToRestore + '.mdf'
SET @ldfLocation = 'F:\Files\Customer_Restore_Files\' + @CustomerDBfileToRestore + '.ldf'
RESTORE DATABASE @CustomerDBfileToRestore
FROM DISK = @backupLocation
WITH FILE = 1,
MOVE 'Customer_Data' TO @mdfLocation,
MOVE 'Customer_Log' TO @ldfLocation,
NOUNLOAD, REPLACE, STATS = 1
FETCH NEXT FROM restorecursor
INTO @CustomerDBfileToRestore
END
CLOSE restorecursor
DEALLOCATE restorecursor
Спасибо. Я также пробовал путь UNC. но все еще получаю пустые результаты. – Amelia