Home

Backup and restore rights

Prev Page Next Page
Introduction
Recovery models
Main backup types
Backing up the database files by copying
The transaction log
Transaction log restore sequence
Log sequence numbers
Truncating and shrinking the transaction log
Backing up the tail
Inside the transaction log
So, what's in a backup file?
Test: A full backup does not contain deleted data
Verifying backup files
Verifying backup files on a budget
Cumulative backups
Recovering individual tables
Backup and restore history details
Backup reads and writes
Speeding up backups
Backup speed details
Speeding up restores
Restore state affects speed too
Backup and restore rights
Log shipping
Log shipping in SQL Server 2000
Setting up log shipping using Enterprise Manager
Checking the set up
Failover
Log shipping in SQL Server 2005
Setting up log shipping using Management Studio
Checking the set up
Log shipping status report
Failover
Log shipping in SQL Backup
Using the CopyTool utility
Failover
3rd party backup applications
VDI
VDI versions
VDI errors
SQL Backup - beyond compression
Restoring a chain of transaction log backups
Restoring to the latest possible state
Backing up multiple databases
Backup retention
Making a copy of the backup file
Backup file naming conventions
Restoring the latest backup set
Network resilience
Encryption
Integrated database verification
Database file relocation
Improved backup retention
RESTORE HELP
High-availability group support
Common SQL Backup issues
Installation checklist
Setting up rights
Configuring service rights
Backup data
Hanging issues
Common backup and restore errors
Error 3201 - when performing a backup to a network share
Full database backup file is larger than database size
Error 3205 - Too many backup devices specified for backup or restore
Error 4305 - an earlier transaction log backup is required
Bringing a database that is in recovery or read-only mode online
Using bulk-logged recovery model but transaction log backup is still large
Error 14274 - unable to delete SQL Server Agent job
Error messages when restoring from different versions of SQL Server.
Pending
vdi error codes
Restore speed details
Help, my transaction log file is huge!
Mirror or log ship





Backup rights

If you are a member of the SQL Server sysadmin fixed server role, you can back up any databases on your SQL Server instance.  You can also back up the databases for which you are the owner of.  If you do not have backup rights to a specific database, the following error message is displayed when you attempt a backup:

Server: Msg 262, Level 14, State 1, Line 1
BACKUP DATABASE permission denied in database 'AdventureWorks'.
Server: Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE is terminating abnormally.  

The backup failure is also recorded in the SQL Server log and the Windows Event Log.  However, the user that initiated the backup is not identified.

The sysadmin will need to grant BACKUP rights to the user.  You can do this using the following script, when connected to the database you want to grant the backup rights to:

GRANT BACKUP DATABASE TO [YOHZ_LABS01\YEOH6406]

You can see who has been granted or denied backup rights by running the following script when connected to the database concerned:

SELECT b.name, CASE a.protecttype WHEN 204 THEN 'GRANT_W_GRANT' WHEN 205 THEN 'GRANT' ELSE 'DENY' END AS rights
FROM sysprotects a
INNER JOIN sysusers b ON a.uid = b.uid
WHERE a.action = 228
ORDER BY b.name

Another way to grant backup rights is by making the user a member of the db_backupoperator role e.g.

sp_addrolemember 'db_backupoperator', YOHZ_LABS01\YEOH6406'

or using SQL Server Management Studio e.g.

rights01

Users with the db_backupoperator role are also granted rights to run the CHECKPOINT and the DBCC commands.


Restore rights

Again, a SQL Server sysadmin has rights to restore a database from any backup sets.  For other users, the situation depends on whether the database already exists.  The following message is displayed when you have inadequate rights to perform the restore:

Server: Msg 3110, Level 14, State 1, Line 1
User does not have permission to RESTORE database 'backuptest'.
Server: Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

If the database does not exist, you need to have the CREATE DATABASE rights to restore a new database.  The sysadmin can grant those rights by running the following script:

GRANT CREATE DATABASE TO [YOHZ_LABS01\YEOH6406]

If the database already exists, the user can perform the restore if he is a member of the dbcreator fixed server role, or is the database owner.




Document history
7/22/2008    Initial release.    
 
Copyright 2008 - 2021 Yohz Ventures Sdn Bhd. All rights reserved.
All product and company names are trademarks or registered trademarks of their respective owners.