I think you need to do 10 before 9 don't you? (otherwise there is a gap between Full Backup and TLogs)I did something similar recently, and the steps I noted were:1) Preparation1a) Old Server: Generate script to disable jobsSELECT CASE WHEN enabled = 1 THEN 'EXEC msdb..sp_update_jobschedule @job_id = ''' + CONVERT(varchar(50), sjv.job_id) + ''', @enabled = 0' ELSE '' END, '--', dbname = SUBSTRING(sjst.database_name, 1, 20), enabled, [name], [description]FROM msdb.dbo.sysjobs_view sjv LEFT OUTER JOIN msdb.dbo.sysjobsteps sjst ON sjv.job_id = sjst.job_id AND sjst.step_id = 1WHERE dbname in ('MyDB1', 'MyDB2')ORDER BY dbname, enabled, sjv.name
1b) Script setting the old databases to DBO/ReadOnlySELECT 'PRINT ''' + name + '''', CHAR(13)+CHAR(10) + 'ALTER DATABASE ' + name + ' SET SINGLE_USER,' + ' READ_ONLY WITH ROLLBACK IMMEDIATE' + CHAR(13)+CHAR(10)+'GO', CHAR(13)+CHAR(10)+'exec sp_dboption ''' + name + ''', ''dbo use only'', ''true''', CHAR(13)+CHAR(10)+'exec sp_dboption ''' + name + ''', ''read only'', ''true''', CHAR(13)+CHAR(10)+'---------------------------------------------'FROM master.dbo.sysdatabases DWHERE name in ('MyDB1', 'MyDB2')ORDER BY name
1c) Restore an "old" copy of databases onto the New Server and test. Check restoration of Logins - script the process of reinstating the logins.1d) Web server: Prepare a Holding Page for the web site2) New Server: check that the Login being used for the transfer work does NOT use any database being restored as the default (oetherwise you won't be able to connect to the server whilst the database is partially restored)3) Old Server: FULL (or DIFF if recent full backup available) backup of databas(es) to xfer(You can also do a DIFF backup and Transaction Log backup/restore to go live but a FULL now and a DIFF to activate the New Server is easier)4) Old Server: MOVE backup files to shared folder [on Old machine]5) New Server: COPY backup files from OldMachine-Share to New machine6) Old Server: MOVE backups back to original folder (so backup history complete)7) New Server: Mark scheduled jobs as DISABLED. Keep a note of which ones were changed to reinstate later8) New Server: Restore FULL Backup file (+ DIFFs if any) WITHOUT using RECOVERY8a) USE MASTER (don't sit in actual DB whilst restoring!)8b) ALTER DATABASE MyDB1 SET SINGLE_USER WITH ROLLBACK IMMEDIATE8c) Script the RESTORE - this will make it easier to adapt for the restore of the final TLOG later on9) Web Server: Open notepad to edit connection-string INCLUDE file; Make the change to the use the new server. Do NOT save yet10) Web Server: Activate the Holding Page on the web site(s)10a) Open a browser on the site, login / put items in shopping cart / etc.10b) Mount holding page10c) Click on link in browser and check holding page displays11) Old Server: Disable all scheduled tasks (using script from step (1))12) Old Server: Set databases to DBO/ReadOnly (using script from step (1))13) Old Server: Make final backup (DIFF if a FULL was done before, otherwise TLog)14) Old Server: MOVE Final backup to Shared Folder15) New Server: Copy from oldServer share to New Server16) New Server: Restore final backup file - using RECOVERY17) New Server: Set databases to "available"17a) ALTER DATABASE MyDB1 SET MULTI_USER, READ_WRITE WITH ROLLBACK IMMEDIATE17b) Reinstate users / roles etc.18) Web Server: Save the Connection String (using open Notepad session from Step 9)19) Browser - If possible open a new browser and test the site (i.e. outside the scope of the holding page)20) Web Server: Remove the holding pageSite is now live again21) Check if the browser (from Step 10c ) can continue using the site without loss of session etc.22) New Server: Make transaction log backup23) New Server: Make FULL backup (the initiation of Backups + TLogs)24) New Server: Reenable jobs25) Old Server: MOVE Final backup from Shared Folder back to Backup folder (to maintain complete backup history)Kristen