SELECT
'RESTORE DATABASE [' + DB_NAME() + ']' + CHAR(13) +
'FROM' + CHAR(13) +
' DISK = N''E:\BACKUP\' + DB_NAME() + '_1.bak'',' + CHAR(13) +
' DISK = N''F:\BACKUP\' + DB_NAME() + '_2.bak''' + CHAR(13) +
'WITH' + CHAR(13) +
STRING_AGG(
' MOVE N''' + name + '''' +
' TO N''' +
CASE
WHEN type_desc = 'ROWS' THEN 'G:\SQLData\'
WHEN type_desc = 'LOG' THEN 'J:\SQLLogs\'
END +
RIGHT(physical_name, CHARINDEX('\', REVERSE(physical_name)) - 1) +
'''',
',' + CHAR(13)
) +
',' + CHAR(13) +
' RECOVERY,' + CHAR(13) +
' STATS = 10;'
FROM sys.database_files;
----
SELECT
'RESTORE DATABASE [' + DB_NAME() + ']' + CHAR(13) +
'FROM' + CHAR(13) +
' DISK = N''E:\BACKUP\' + DB_NAME() + '_1.bak'',' + CHAR(13) +
' DISK = N''F:\BACKUP\' + DB_NAME() + '_2.bak''' + CHAR(13) +
'WITH' + CHAR(13) +
STRING_AGG(
' MOVE N''' + name + '''' +
' TO N''' +
CASE
WHEN type_desc = 'ROWS' THEN 'G:\SQLData\'
WHEN type_desc = 'LOG' THEN 'J:\SQLLogs\'
END +
RIGHT(physical_name, CHARINDEX('\', REVERSE(physical_name)) - 1) +
''' -- ' +
CAST(CAST(size * 8.0 / 1024 / 1024 AS DECIMAL(18,2)) AS VARCHAR(30)) +
' GB',
',' + CHAR(13)
) +
',' + CHAR(13) +
' RECOVERY,' + CHAR(13) +
' STATS = 10;'
FROM sys.database_files;