You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
A reliable backup strategy and sound administration practices are essential for any SQL Server environment. This lesson covers backup types, restore operations, SQL Server Agent, Dynamic Management Views (DMVs), and routine maintenance.
SQL Server provides several backup types to protect your data:
| Backup Type | What It Captures | Restoration |
|---|---|---|
| Full | Entire database | Standalone restore point |
| Differential | Changes since the last full backup | Requires the last full backup |
| Transaction Log | Log records since the last log backup | Requires full + chain of log backups |
| Copy-Only | Full or log backup that does not affect the backup chain | Standalone (does not break the chain) |
| Filegroup | Specific filegroups only | Partial database restore |
-- Full backup
BACKUP DATABASE BookStore
TO DISK = 'C:\Backups\BookStore_Full.bak'
WITH COMPRESSION, CHECKSUM;
-- Differential backup
BACKUP DATABASE BookStore
TO DISK = 'C:\Backups\BookStore_Diff.bak'
WITH DIFFERENTIAL, COMPRESSION;
-- Transaction log backup
BACKUP LOG BookStore
TO DISK = 'C:\Backups\BookStore_Log.trn'
WITH COMPRESSION;
-- Copy-only backup (does not affect the backup chain)
BACKUP DATABASE BookStore
TO DISK = 'C:\Backups\BookStore_CopyOnly.bak'
WITH COPY_ONLY, COMPRESSION;
-- Restore from a full backup
RESTORE DATABASE BookStore
FROM DISK = 'C:\Backups\BookStore_Full.bak'
WITH RECOVERY;
-- Restore full backup (with NORECOVERY to allow further restores)
RESTORE DATABASE BookStore
FROM DISK = 'C:\Backups\BookStore_Full.bak'
WITH NORECOVERY;
-- Restore differential
RESTORE DATABASE BookStore
FROM DISK = 'C:\Backups\BookStore_Diff.bak'
WITH RECOVERY;
-- Full backup (NORECOVERY)
RESTORE DATABASE BookStore
FROM DISK = 'C:\Backups\BookStore_Full.bak'
WITH NORECOVERY;
-- Log backup chain (NORECOVERY for all but the last)
RESTORE LOG BookStore
FROM DISK = 'C:\Backups\BookStore_Log1.trn'
WITH NORECOVERY;
-- Restore to a specific point in time
RESTORE LOG BookStore
FROM DISK = 'C:\Backups\BookStore_Log2.trn'
WITH STOPAT = '2024-06-15T14:30:00', RECOVERY;
| Option | Database State | When to Use |
|---|---|---|
| RECOVERY | Online — ready to use | Last restore in the sequence |
| NORECOVERY | Restoring — not accessible | More restores to follow |
| STANDBY | Read-only — allows further restores | For reporting during restore |
SQL Server Agent is the built-in job scheduler:
A job consists of one or more steps executed in order:
-- Create a job using system stored procedures
EXEC msdb.dbo.sp_add_job
@job_name = 'Daily Backup',
@enabled = 1;
EXEC msdb.dbo.sp_add_jobstep
@job_name = 'Daily Backup',
@step_name = 'Full Backup',
@subsystem = 'TSQL',
@command = 'BACKUP DATABASE BookStore TO DISK = ''C:\Backups\BookStore_Full.bak'' WITH COMPRESSION';
EXEC msdb.dbo.sp_add_schedule
@schedule_name = 'Daily at 2 AM',
@freq_type = 4, -- daily
@active_start_time = 020000;
EXEC msdb.dbo.sp_attach_schedule
@job_name = 'Daily Backup',
@schedule_name = 'Daily at 2 AM';
EXEC msdb.dbo.sp_add_jobserver
@job_name = 'Daily Backup';
Alerts notify you when specific events occur:
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.