DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @filename VARCHAR(256) -- name of backup file
DECLARE @shellcmd VARCHAR (256) -- shell command script
DECLARE @files TABLE (ID int IDENTITY, FileName varchar(100))
DECLARE @file VARCHAR(256) -- file with full path
DECLARE @dbname VARCHAR(256) -- name of the database
Β
-- set path where backup files are located.
-- make sure to end the value with a backslash
SET @path = 'E:\db-backup\2019w07.2019-02-11.Operation\1.Before\'
-- shell command script
SET @shellcmd = 'dir ' + @path + '*.bak /b'
Β
INSERT INTO @files EXECUTE xp_cmdshell @shellcmd
Β
DECLARE db_cursor CURSOR FOR Β
SELECT FileName
FROM @files
WHERE FileName IS NOT NULL
Β
OPEN db_cursor Β
FETCH NEXT FROM db_cursor INTO @filename
Β
WHILE @@FETCH_STATUS = 0 Β
BEGIN
Β Β SET @file = @path + @filename
Β Β SET @dbname = LEFT(@filename, CHARINDEX('_', @filename) - 1)
Β
Β Β RESTORE DATABASE @dbname
Β Β FROM DISK = @file
Β Β WITH Β FILE = 1, Β UNLOAD, Β REPLACE, Β STATS = 10
Β
Β Β FETCH NEXT FROM db_cursor INTO @filename
END
Β
CLOSE db_cursor Β
DEALLOCATE db_cursor
Comments
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π
0 B
|π
/π