{"id":939,"date":"2017-03-04T01:35:12","date_gmt":"2017-03-03T20:05:12","guid":{"rendered":"http:\/\/pramodsingla.com\/?p=939"},"modified":"2017-03-04T01:35:12","modified_gmt":"2017-03-03T20:05:12","slug":"mssql-server-automatically-restore-dbs-from-backup-files","status":"publish","type":"post","link":"https:\/\/pramodsingla.com\/?p=939","title":{"rendered":"MSSQL Server : Automatically Restore DBs from backup files"},"content":{"rendered":"<p><strong>Problem Statement:<\/strong>Many a times we need to restore multiple dbs from the backfiles on disk. We must write scripts to restore each DB. Rather use the shared script to do the automatic restore.<br \/>\n<strong>Solution:\u00a0<\/strong><\/p>\n<p><strong>Note<\/strong>:Change the DB name,data file path,log file path and backup file path before using this scirpt.<\/p>\n<blockquote><p><code><br \/>\n<span style=\"color:blue;\">BEGIN<\/span>\u00a0<span style=\"color:maroon;\">try<\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:maroon;\">curDBNames<\/span>\u00a0<span style=\"color:blue;\">CURSOR<\/span>\u00a0<span style=\"color:blue;\">FOR<\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:green;\"><i>--Change\u00a0DB1\u00a0and\u00a0Db2\u00a0with\u00a0actual\u00a0db\u00a0names\u00a0and\u00a0more\u00a0dbs\u00a0as\u00a0per\u00a0you\u00a0requirement<\/i><\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:red;\">'DB1'<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><br \/>\n<span style=\"color:blue;\">UNION<\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:red;\">'DB2'<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">dbname<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:maroon;\">a<\/span><br \/>\n<span style=\"color:blue;\">LEFT<\/span>\u00a0<span style=\"color:blue;\">JOIN<\/span>\u00a0<span style=\"color:maroon;\">sys<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">databases<\/span>\u00a0<span style=\"color:maroon;\">d<\/span><br \/>\n<span style=\"color:blue;\">ON<\/span>\u00a0<span style=\"color:maroon;\">a<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">dbname<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">d<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:blue;\">NAME<\/span><br \/>\n<span style=\"color:blue;\">WHERE<\/span>\u00a0\u00a0<span style=\"color:maroon;\">d<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:blue;\">NAME<\/span>\u00a0<span style=\"color:blue;\">IS<\/span>\u00a0<span style=\"color:blue;\">NULL<\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@ErrorMessage<\/span>\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">4000<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">;<\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@ErrorSeverity<\/span>\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><span style=\"color:silver;\">;<\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@ErrorState<\/span>\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><span style=\"color:silver;\">;<\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@v_DBName<\/span>\u00a0<span style=\"color:black;\"><i>SYSNAME<\/i><\/span><\/code><\/p>\n<p><span style=\"color:blue;\">OPEN<\/span>\u00a0<span style=\"color:maroon;\">curDBNames<\/span><\/p>\n<p><span style=\"color:blue;\">FETCH<\/span>\u00a0<span style=\"color:maroon;\">NEXT<\/span>\u00a0<span style=\"color:blue;\">FROM<\/span>\u00a0<span style=\"color:maroon;\">curDBNames<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@v_DBName<\/span><\/p>\n<p><span style=\"color:blue;\">WHILE<\/span>\u00a0<span style=\"color:#8000ff;\">@@Fetch_Status<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:black;\">0<\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span>\u00a0<span style=\"color:maroon;\">try<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:maroon;\">nocount<\/span>\u00a0<span style=\"color:blue;\">ON<\/span><\/p>\n<p><span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strDBNameFrom<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>SYSNAME<\/i><\/span>\u00a0<span style=\"color:silver;\">=<\/span><span style=\"color:#8000ff;\">@v_DBName<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@p_strDBNameTo<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>SYSNAME<\/i><\/span>\u00a0<span style=\"color:silver;\">=<\/span><span style=\"color:#8000ff;\">@v_DBName<\/span><span style=\"color:silver;\">,<\/span><\/p>\n<p><i>&#8211;Change\u00a0the data file,log file and backup file locations<\/i><br \/>\n<span style=\"color:#8000ff;\">@p_strDataFileMoveToFolder<\/span>\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">255<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">=<\/span><span style=\"color:red;\">&#8216;H:\\MSSQL\\DATA&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@p_strLogFileMoveToFolder<\/span>\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">255<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">=<\/span><span style=\"color:red;\">&#8216;O:\\MSSQL\\log&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@p_strFQNBackupFileNames<\/span>\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">max<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">=<\/span><br \/>\n<span style=\"color:red;\">&#8216;E:\\backupFileLocation\\&#8217;<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@v_DBName<\/span>\u00a0<span style=\"color:silver;\">+<\/span><br \/>\n<span style=\"color:red;\">&#8216;.bak&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strDBFilename<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">100<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strDBLogFilename<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">100<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strDBDataFile<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">100<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strDBLogFile<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">100<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">1000<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strKillConSQL<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">1000<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strExecSQL1<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">1000<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strMoveSQL<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">4000<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strREPLACE<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">50<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strTEMP<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">1000<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strListSQL<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">4000<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strServerVersion<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">20<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>NVARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">max<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strREPLACE<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:red;\">&#8221;<\/span><\/p>\n<p><span style=\"color:blue;\">IF<\/span>\u00a0<span style=\"color:blue;\">EXISTS<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:blue;\">NAME<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">sys<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">databases<\/span><br \/>\n<span style=\"color:blue;\">WHERE<\/span>\u00a0\u00a0<span style=\"color:blue;\">NAME<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strDBNameTo<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strREPLACE<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:red;\">&#8216;,\u00a0REPLACE&#8217;<\/span><\/p>\n<p><span style=\"color:blue;\">IF<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Object_id<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:red;\">&#8216;tempdb..#Backupfiles&#8217;<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:blue;\">IS<\/span>\u00a0<span style=\"color:blue;\">NOT<\/span>\u00a0<span style=\"color:blue;\">NULL<\/span><br \/>\n<span style=\"color:blue;\">DROP<\/span>\u00a0<span style=\"color:blue;\">TABLE<\/span>\u00a0<span style=\"color:maroon;\">#Backupfiles<\/span><\/p>\n<p><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:silver;\">*<\/span><br \/>\n<span style=\"color:blue;\">INTO<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">#Backupfiles<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">dbo<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:#ff0080;\"><b>splitstring<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@p_strFQNBackupFileNames<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">IF<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Object_id<\/i><\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:red;\">&#8216;tempdb..#FILE_LIST&#8217;<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:blue;\">IS<\/span>\u00a0<span style=\"color:blue;\">NOT<\/span>\u00a0<span style=\"color:blue;\">NULL<\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span><br \/>\n<span style=\"color:blue;\">DROP<\/span>\u00a0<span style=\"color:blue;\">TABLE<\/span>\u00a0<span style=\"color:maroon;\">#FILE_LIST<\/span><br \/>\n<span style=\"color:blue;\">END<\/span><\/p>\n<p><span style=\"color:blue;\">CREATE<\/span>\u00a0<span style=\"color:blue;\">TABLE<\/span>\u00a0<span style=\"color:maroon;\">#FILE_LIST<\/span><br \/>\n<span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:maroon;\">LogicalName<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">64<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">PhysicalName<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">130<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">[Type]<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">1<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">FileGroupName<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">64<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">Size<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">20<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">MaxSize<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">FileID<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>BIGINT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">CreateLSN<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">DropLSN<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">UniqueID<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>UNIQUEIDENTIFIER<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">ReadOnlyLSN<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">ReadWriteLSN<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">BackupSizeInBytes<\/span>\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">SourceBlockSize<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">filegroupid<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>INT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">loggroupguid<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>UNIQUEIDENTIFIER<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">differentialbaseLSN<\/span>\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">25<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">0<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">differentialbaseGUID<\/span>\u00a0<span style=\"color:black;\"><i>UNIQUEIDENTIFIER<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">isreadonly<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>BIT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">ispresent<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>BIT<\/i><\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">TDEThumbpr<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:black;\"><i>DECIMAL<\/i><\/span><br \/>\n<span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:green;\"><i>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;create\u00a0from\u00a0disk\u00a0query\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/i><\/span><br \/>\n<span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:maroon;\">curFileLIst<\/span>\u00a0<span style=\"color:blue;\">CURSOR<\/span>\u00a0<span style=\"color:blue;\">FOR<\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:blue;\">NAME<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">#Backupfiles<\/span>\u00a0<span style=\"color:green;\"><i>&#8211;where\u00a0[Type]=&#8217;D&#8217;<\/i><\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:red;\">&#8221;<\/span><\/p>\n<p><span style=\"color:blue;\">OPEN<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span><\/p>\n<p><span style=\"color:blue;\">FETCH<\/span>\u00a0<span style=\"color:maroon;\">NEXT<\/span>\u00a0<span style=\"color:blue;\">FROM<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strTEMP<\/span><\/p>\n<p><span style=\"color:blue;\">WHILE<\/span>\u00a0<span style=\"color:#8000ff;\">@@Fetch_Status<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:black;\">0<\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;,Disk=&#8221;&#8217;<\/span>\u00a0<span style=\"color:silver;\">+<\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strTEMP<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8221;&#8221;<\/span><\/p>\n<p><span style=\"color:blue;\">FETCH<\/span>\u00a0<span style=\"color:maroon;\">NEXT<\/span>\u00a0<span style=\"color:blue;\">FROM<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strTEMP<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span><br \/>\n<span style=\"color:blue;\">END<\/span><\/p>\n<p><span style=\"color:blue;\">CLOSE<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span><\/p>\n<p><span style=\"color:blue;\">DEALLOCATE<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span><\/p>\n<p><span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span><span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Stuff<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">1<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:black;\">1<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:red;\">&#8221;<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:green;\"><i>&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;create\u00a0\u00a0with\u00a0move\u00a0query&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/i><\/span><br \/>\n<span style=\"color:blue;\">INSERT<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:maroon;\">#FILE_LIST<\/span><br \/>\n<span style=\"color:blue;\">EXEC<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:red;\">&#8216;RESTORE\u00a0FILELISTONLY\u00a0FROM\u00a0\u00a0&#8216;<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8221;<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">DECLARE<\/span>\u00a0<span style=\"color:maroon;\">curFileLIst<\/span>\u00a0<span style=\"color:blue;\">CURSOR<\/span>\u00a0<span style=\"color:blue;\">FOR<\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:red;\">&#8216;MOVE\u00a0N&#8221;&#8217;<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:maroon;\">LogicalName<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8221;&#8217;\u00a0TO\u00a0N&#8221;&#8217;<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#ff0080;\"><b>iif<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">type<\/span><span style=\"color:silver;\">=<\/span><span style=\"color:red;\">&#8216;L&#8217;<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strLogFileMoveToFolder<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@p_strDataFileMoveToFolder<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Replace<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:fuchsia;\"><i>RIGHT<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">PhysicalName<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Patindex<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:red;\">&#8216;%\\%&#8217;<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Reverse<\/i><\/span><span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:maroon;\">PhysicalName<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:maroon;\">)<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@p_strDBNameFrom<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strDBNameTo<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8221;&#8221;<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">#FILE_LIST<\/span>\u00a0<span style=\"color:green;\"><i>&#8211;where\u00a0[Type]=&#8217;D&#8217;<\/i><\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strMoveSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:red;\">&#8221;<\/span><\/p>\n<p><span style=\"color:blue;\">OPEN<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span><\/p>\n<p><span style=\"color:blue;\">FETCH<\/span>\u00a0<span style=\"color:maroon;\">NEXT<\/span>\u00a0<span style=\"color:blue;\">FROM<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strTEMP<\/span><\/p>\n<p><span style=\"color:blue;\">WHILE<\/span>\u00a0<span style=\"color:#8000ff;\">@@Fetch_Status<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:black;\">0<\/span><br \/>\n<span style=\"color:blue;\">BEGIN<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strMoveSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strMoveSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strTEMP<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;,\u00a0&#8216;<\/span><\/p>\n<p><span style=\"color:blue;\">FETCH<\/span>\u00a0<span style=\"color:maroon;\">NEXT<\/span>\u00a0<span style=\"color:blue;\">FROM<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strTEMP<\/span><br \/>\n<span style=\"color:blue;\">END<\/span><\/p>\n<p><span style=\"color:blue;\">CLOSE<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span><\/p>\n<p><span style=\"color:blue;\">DEALLOCATE<\/span>\u00a0<span style=\"color:maroon;\">curFileList<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span><br \/>\n<span style=\"color:red;\">&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8216;<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span>\u00a0<span style=\"color:red;\">&#8216;Restoration\u00a0Started\u00a0for&#8221;&#8216;<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strDBNameTo<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;&#8221;\u00a0database\u00a0from\u00a0&#8220;&#8216;<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strFQNBackupFileNames<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;\u00a0at\u00a0&#8216;<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Cast<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:fuchsia;\"><i>Getdate<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">30<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span><br \/>\n<span style=\"color:red;\">&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8216;<\/span><\/p>\n<p><span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:red;\">&#8216;RESTORE\u00a0DATABASE\u00a0[&#8216;<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strDBNameTo<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;]&#8217;<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;\u00a0FROM\u00a0\u00a0&#8216;<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strFromDiskSQL<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8221;<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;\u00a0WITH\u00a0FILE\u00a0=\u00a01,&#8217;<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strMoveSQL<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;\u00a0NOREWIND,\u00a0STATS=10,&#8217;<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;\u00a0NOUNLOAD\u00a0&#8216;<\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strREPLACE<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strExecSQL<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span>\u00a0<span style=\"color:red;\">&#8216;Killing\u00a0active\u00a0connections\u00a0to\u00a0the\u00a0&#8220;&#8216;<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strDBNameTo<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;&#8221;\u00a0database&#8217;<\/span><\/p>\n<p><span style=\"color:green;\"><i>&#8212;\u00a0Create\u00a0the\u00a0sql\u00a0to\u00a0kill\u00a0the\u00a0active\u00a0database\u00a0connections<\/i><\/span><br \/>\n<span style=\"color:blue;\">SET<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strKillConSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:red;\">&#8221;<\/span><\/p>\n<p><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strKillConSQL<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@v_strKillConSQL<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;kill\u00a0&#8216;<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:fuchsia;\"><i>CONVERT<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\"><i>CHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">10<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:maroon;\">spid<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;\u00a0&#8216;<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">master<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">dbo<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">sysprocesses<\/span><br \/>\n<span style=\"color:blue;\">WHERE<\/span>\u00a0\u00a0<span style=\"color:fuchsia;\"><i>Db_name<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">dbid<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strDBNameTo<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">DBID<\/span>\u00a0<span style=\"color:silver;\">&lt;&gt;<\/span>\u00a0<span style=\"color:black;\">0<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">spid<\/span>\u00a0<span style=\"color:silver;\">&lt;&gt;<\/span>\u00a0<span style=\"color:#8000ff;\">@@spid<\/span><\/p>\n<p><span style=\"color:blue;\">EXEC<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@v_strKillConSQL<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">EXEC<\/span>\u00a0<span style=\"color:#ff0080;\"><b>sp_executesql<\/b><\/span><br \/>\n<span style=\"color:#8000ff;\">@v_strExecSQL<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span><br \/>\n<span style=\"color:red;\">&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8216;<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span>\u00a0<span style=\"color:red;\">&#8216;Restoration\u00a0Completed\u00a0FOR\u00a0&#8220;&#8216;<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strDBNameTo<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;&#8221;\u00a0database\u00a0from\u00a0&#8220;&#8216;<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:#8000ff;\">@p_strFQNBackupFileNames<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:red;\">&#8216;\u00a0at\u00a0&#8216;<\/span><br \/>\n<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Cast<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:fuchsia;\"><i>Getdate<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:black;\"><i>VARCHAR<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:black;\">30<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:maroon;\">)<\/span><\/p>\n<p><span style=\"color:blue;\">PRINT<\/span><br \/>\n<span style=\"color:red;\">&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8216;<\/span><br \/>\n<span style=\"color:blue;\">END<\/span>\u00a0<span style=\"color:maroon;\">try<\/span><\/p>\n<p><span style=\"color:blue;\">BEGIN<\/span>\u00a0<span style=\"color:maroon;\">catch<\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:black;\">1<\/span><\/p>\n<p><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:#8000ff;\">@ErrorMessage<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#ff0080;\"><b>ERROR_MESSAGE<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@ErrorSeverity<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#ff0080;\"><b>ERROR_SEVERITY<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@ErrorState<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#ff0080;\"><b>ERROR_STATE<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">;<\/span><\/p>\n<p><span style=\"color:blue;\">RAISERROR<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@ErrorMessage<\/span><span style=\"color:silver;\">,<\/span><span style=\"color:green;\"><i>&#8212;\u00a0Message\u00a0text.\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:black;\">1<\/span><span style=\"color:silver;\">,<\/span><span style=\"color:#8000ff;\">@ErrorState<\/span>\u00a0<span style=\"color:green;\"><i>&#8212;\u00a0State.\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">;<\/span><\/p>\n<p><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:black;\">2<\/span><br \/>\n<span style=\"color:blue;\">END<\/span>\u00a0<span style=\"color:maroon;\">catch<\/span><\/p>\n<p><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:#8000ff;\">@v_DBName<\/span><\/p>\n<p><span style=\"color:blue;\">FETCH<\/span>\u00a0<span style=\"color:maroon;\">NEXT<\/span>\u00a0<span style=\"color:blue;\">FROM<\/span>\u00a0<span style=\"color:maroon;\">curDBNames<\/span>\u00a0<span style=\"color:blue;\">INTO<\/span>\u00a0<span style=\"color:#8000ff;\">@v_DBName<\/span><br \/>\n<span style=\"color:blue;\">END<\/span><br \/>\n<span style=\"color:blue;\">END<\/span>\u00a0<span style=\"color:maroon;\">try<\/span><\/p>\n<p><span style=\"color:blue;\">BEGIN<\/span>\u00a0<span style=\"color:maroon;\">catch<\/span><br \/>\n<span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:black;\">3<\/span><\/p>\n<p><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:#8000ff;\">@ErrorMessage<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#ff0080;\"><b>ERROR_MESSAGE<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@ErrorSeverity<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#ff0080;\"><b>ERROR_SEVERITY<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:#8000ff;\">@ErrorState<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:#ff0080;\"><b>ERROR_STATE<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">;<\/span><\/p>\n<p><span style=\"color:green;\"><i>&#8212;\u00a0Use\u00a0RAISERROR\u00a0inside\u00a0the\u00a0CATCH\u00a0block\u00a0to\u00a0return\u00a0error\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:green;\"><i>&#8212;\u00a0information\u00a0about\u00a0the\u00a0original\u00a0error\u00a0that\u00a0caused\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:green;\"><i>&#8212;\u00a0execution\u00a0to\u00a0jump\u00a0to\u00a0the\u00a0CATCH\u00a0block.\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:blue;\">RAISERROR<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:#8000ff;\">@ErrorMessage<\/span><span style=\"color:silver;\">,<\/span><span style=\"color:green;\"><i>&#8212;\u00a0Message\u00a0text.\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:black;\">1<\/span><span style=\"color:silver;\">,<\/span><span style=\"color:green;\"><i>&#8212;\u00a0Severity.\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:#8000ff;\">@ErrorState<\/span>\u00a0<span style=\"color:green;\"><i>&#8212;\u00a0State.\u00a0\u00a0<\/i><\/span><br \/>\n<span style=\"color:maroon;\">)<\/span><span style=\"color:silver;\">;<\/span><\/p>\n<p><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:black;\">4<\/span><br \/>\n<span style=\"color:blue;\">END<\/span>\u00a0<span style=\"color:maroon;\">catch<\/span><\/p>\n<p><span style=\"color:blue;\">CLOSE<\/span>\u00a0<span style=\"color:maroon;\">curDBNames<\/span><\/p>\n<p><span style=\"color:blue;\">DEALLOCATE<\/span>\u00a0<span style=\"color:maroon;\">curDBNames<\/span><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Problem Statement:Many a times we need to restore multiple dbs from the backfiles on disk. We must write scripts to[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[1],"tags":[68,142,165,180],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts\/939"}],"collection":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=939"}],"version-history":[{"count":0,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts\/939\/revisions"}],"wp:attachment":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}