yasutakaito

Restore Database from Folder Location

Feb 11th, 2019
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.07 KB | None | 0 0
  1. DECLARE @path VARCHAR(256) -- path for backup files
  2. DECLARE @filename VARCHAR(256) -- name of backup file
  3. DECLARE @shellcmd VARCHAR (256) -- shell command script
  4. DECLARE @files TABLE (ID int IDENTITY, FileName varchar(100))
  5. DECLARE @file VARCHAR(256) -- file with full path
  6. DECLARE @dbname VARCHAR(256) -- name of the database
  7.  
  8. -- set path where backup files are located.
  9. -- make sure to end the value with a backslash
  10. SET @path = 'E:\db-backup\2019w07.2019-02-11.Operation\1.Before\'
  11. -- shell command script
  12. SET @shellcmd = 'dir ' + @path + '*.bak /b'
  13.  
  14. INSERT INTO @files EXECUTE xp_cmdshell @shellcmd
  15.  
  16. DECLARE db_cursor CURSOR FOR  
  17. SELECT FileName
  18. FROM @files
  19. WHERE FileName IS NOT NULL
  20.  
  21. OPEN db_cursor  
  22. FETCH NEXT FROM db_cursor INTO @filename
  23.  
  24. WHILE @@FETCH_STATUS = 0  
  25. BEGIN
  26.     SET @file = @path + @filename
  27.     SET @dbname = LEFT(@filename, CHARINDEX('_', @filename) - 1)
  28.  
  29.     RESTORE DATABASE @dbname
  30.     FROM DISK = @file
  31.     WITH  FILE = 1,  UNLOAD,  REPLACE,  STATS = 10
  32.  
  33.     FETCH NEXT FROM db_cursor INTO @filename
  34. END
  35.  
  36. CLOSE db_cursor  
  37. DEALLOCATE db_cursor
Advertisement