SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of...
Transcript of SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of...
![Page 1: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/1.jpg)
SQL ServerBackup & RecoveryBasics2019 Tribal Data Workshop
![Page 2: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/2.jpg)
Transaction Log
Recovery Models
Backup Types
Recommendations
SSMS Demo
![Page 3: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/3.jpg)
SQL Server Database Files
• Data File (MDF)• Stores all the data
• Also stores database objects (tables, views, stored procedures, etc)
• Transaction Log File (LDF)• Stores a record of modifications to the database
• Examples: INSERT, UPDATE, DELETE, ALTER, DROP commands
• Video: SQL Server Transactions
![Page 4: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/4.jpg)
Transaction Log
INSERT INTO Table (Col1, Col2, Col3)VALUES (Val1, Val2, Val3)
DISK
MEMORY
T1
Data File (.MDF)
Val1Val2Val3
Transaction Log (.LDF)
![Page 5: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/5.jpg)
Transaction Log
DISK
MEMORY
T1
Transaction Log (.LDF) Data File (.MDF)
CP
Val1Val2Val3
T1
Checkpoint!
More Info: https://docs.microsoft.com/en-us/sql/relational-databases/logs/database-checkpoints-sql-server?view=sql-server-2017
T2 T3
Val1Val2Val3
T2Val1Val2Val3
T3
DataDataData
DataDataData
T1 T2 T3DataDataData
![Page 6: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/6.jpg)
Transaction Log
T1 CP1
CP2 T7 T8 T9
Written To Disk Active Portion of LogNot Written To Disk
T2 T3 T4 T5
t
![Page 7: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/7.jpg)
Database Recovery Models
• Full Recovery Model• All transactions logged and saved• Allows Point-in-time recovery • Recommended for production databases
• Simple Recovery Model• Transactions are deleted after each checkpoint• Point-in-time recovery not possible• Recommended for development databases
• Bulk-Logged Recovery Model• Certain types of transaction are not fully logged
![Page 8: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/8.jpg)
Configuring Database Recovery Model
1. Right click database and select Properties
2. Select Options3. Select Full
![Page 9: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/9.jpg)
SQL Server Backup Types
• Full Backup• Differential Backup • Transaction Log Backup• Tail-log Backup• Copy-Only • Partial Backup• File Backup
![Page 10: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/10.jpg)
Full Backup
• The simplest type of backup
• A complete copy of the database
• File size can be large
• Restores database to a fixed point in time
• Prerequisite for differential or transaction log backups
![Page 11: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/11.jpg)
Full Backup
9 pm error
![Page 12: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/12.jpg)
Differential Backup
• Contains data that has changed since last full backup
• Based on the last full backup
• File size depends on the amount of data that has changed
• Restores database to a fixed point in time
![Page 13: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/13.jpg)
Differential Backup
9 pm error
![Page 14: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/14.jpg)
Transaction Log Backup
• Contains all log records since last full or t-log backup
• File size depends on transactions since last backup
• Incremental
• Restores to any point in time within the backup
![Page 15: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/15.jpg)
Transaction Log Backup
13:29
![Page 16: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/16.jpg)
Tail Log Backup
• Created during the recovery process before restoring a full backup
• SQL Server will prompt to back up the current transaction log
• The last backup to perform before starting the recovery process
![Page 17: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/17.jpg)
Copy-Only Backup
• Just like a full backup
• A complete copy of the database
• BUT not a based for differential or transaction log backups
• Useful when copying a database from on server to another
![Page 18: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/18.jpg)
Recommendations
• CRITFC Backup Routine• Full backup weekly (Friday 10pm)• Differential backup daily (10pm) • Transaction log backup hourly (9am-6pm)
• Verify backups weekly (Monday)• Confirm backup files were created• Restore backup files in test environment
![Page 19: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/19.jpg)
Recommendations
• Use SSMS to automate database backups
• Use the CHECKSUM and VERIFY options
• Keep differential and t-log backups 3 weeks (minimum)
• Keep full backups for longer (12-24 months)
• Document backup & recovery procedures
• Secure backup files (3-2-1 rule)
![Page 20: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/20.jpg)
3-2-1 Backup Rule
• Keep 3 copies of each database backup
• Keep 2 copies on different devices
• Keep 1 copy offsite
![Page 21: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/21.jpg)
Links
• https://sqlbak.com/academy/• https://www.sqlbackuprestore.com/trxlogrestoresequence.htm• https://www.mssqltips.com/sqlservertip/3076/how-to-read-the-sql-
server-database-transaction-log/• https://www.sqlskills.com/help/accidental-dba/
![Page 22: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/22.jpg)
SSMS Demo:Database Backups
![Page 23: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/23.jpg)
Manual Back UpRight click database and select Tasks>Back Up…
![Page 24: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/24.jpg)
Manual Back Up Select backup type
Select this option to create a backup that will not be part of a backup chain
Click Add to enter a path for the new backup file
![Page 25: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/25.jpg)
Manual Back Up
2. Navigate to destination folder
1. Click here
3. Enter file name with extension
![Page 26: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/26.jpg)
Manual Back Up
2. Select both the Verify backup when finished AND Checksum options
1. Select Media Options tab
3. Click OK to perform the database back up
![Page 27: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/27.jpg)
SSMS Demo:Restoring Databases
![Page 28: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/28.jpg)
Restoring Databases
1. Take tail-log backup to save the active portion of log
2. Restore full backup
3. Restore most recent differential backup (if available)
4. Restore all transaction log backups + tail-log backup
5. Use WITH RECOVERY option to bring database back online
![Page 29: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/29.jpg)
Restoring Databases
![Page 30: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/30.jpg)
Restoring Databases
Backups available for this database
Scroll right for details
![Page 31: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/31.jpg)
Restoring Databases
Full backup Log Sequence Number (LSN) The LSN of the full backup
upon which the Differential and Transaction Log backups are based
Differential and Transaction log backup full LSNs must match the Full backup First LSN
![Page 32: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/32.jpg)
Restoring Databases
Click here to set a specific recovery point in time. Otherwise, database will restore to point in time displayed here
![Page 33: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/33.jpg)
Restoring DatabasesSelect specific date time radio button and set Date and Time values. This allows a database restore to a point in time just before an error
Click OK to accept this values and return to the main restore screen. This will not run the restore process
![Page 34: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/34.jpg)
Restoring Databases
Options tab
Select this option to back up the transaction log before restoring the database from backups Tail-log backup destination
Select this option overwrite existing MDF and LDF files when database is restored from backup
![Page 35: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/35.jpg)
Restoring DatabasesRestores the database from backups and leaves database in an active “online” state ready for use
Leaves database in an “restoring” state ready for additional backup files to be restored. Db is unavailable for use until final backup is restored with recovery
![Page 36: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/36.jpg)
Restoring Databases
Backups available for this database
Click here to test backup files
Click OK to restore database from backups
![Page 37: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/37.jpg)
SSMS Demo:Maintenance Plan(Automated Back up)
![Page 38: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/38.jpg)
Automating Backups
Right click and select Create New Maintenance Plan to begin
We recommend practicing these steps in development environment before implementing on production server
![Page 39: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/39.jpg)
Automating Backups
Click the unpin icon to hide the Object Explorer and enlarge the Maintenance Plan workspace
![Page 40: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/40.jpg)
Automating Backups
1. Double click Subplan_1 to open Subplan Properties Window.
2. Enter an appropriate name (like Full Backups) and then click here to open the schedule window
![Page 41: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/41.jpg)
Automating Backups
1. Select days of week this backup job will run
2. Set time of day backup job will run
3. Click OK
![Page 42: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/42.jpg)
Automating Backups
Drag and drop Back Up Database Task from the Tool Bar into the workspace
![Page 43: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/43.jpg)
Automating Backups
1. Double click to open properties
2. Select Backup type
3. Select database(s) to backup
![Page 44: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/44.jpg)
Automating Backups1. Select Destination Tab
2. Set destination path
3. Enter backup file extension
![Page 45: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/45.jpg)
Automating Backups1. Select Options Tab
2. Select Perform Checksum and Verify backup integrity options
3. Click OK
![Page 46: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/46.jpg)
Automating Backups
1. Drag and drop Maintenance Clean Up task from the Tool Bar into the workspace
2. Drag the green arrow from Back Up task to Clean Up task to set task execution order
![Page 47: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/47.jpg)
Automating Backups1. Double click to open properties
2. Select folder to search
4. Set as needed. CRITFC saves database backups on the server for 21 days. Old backup files are automatically deleted.
3. Set file type
![Page 48: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/48.jpg)
Automating Backups
1. Save maintenance plan
2. Click the X to close maintenance plan tab after saving
Note: an asterisk indicates unsaved changes. This will disappear after saving.
![Page 49: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/49.jpg)
Automating Backups
Click this tab to expand the Object Explorer
Or select Object Explorer from the View Menu
![Page 50: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/50.jpg)
Automating Backups
Verify new maintenance plan has been saved
Each subplan should appear as a separate Job
![Page 51: SQL Server Backup & Recovery - CRITFC€¦ · 1. Take tail-log backup to save the active portion of log 2. Restore full backup 3. Restore most recent differential backup (if available)](https://reader033.fdocuments.net/reader033/viewer/2022052721/5f0b61177e708231d4303a9f/html5/thumbnails/51.jpg)
Automating Backups
View History provides helpful info when job execution fails
Test each job:
Right click and select Start Job at Step to manually trigger