Create a Non-Master User Account for Amazon RDS SQL Database Backups

If you don't want to use the master account to back up the Amazon RDS for SQL Server instance, create a non-master user account that has the required permissions.

Procedure

  1. In SQL Server Management Studio, connect to the RDS instance.

  2. On the master database, to create the new account, run the following script:

    USE master;
    GO

    CREATE LOGIN [NewLoginName] WITH PASSWORD = N'newpassword', DEFAULT_DATABASE=master, CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF; GO

    where NewLoginName and newpassword are the user name and password for the new account.

  3. To grant permissions to the new login account, run the following script:

    GRANT CREATE ANY DATABASE TO [NewLoginName] WITH GRANT OPTION; GRANT VIEW ANY DATABASE TO [NewLoginName] WITH GRANT OPTION; GO

  4. To create a new user on all the existing databases and assign the db_owner role, run the following script:

    EXEC sp_MSforeachdb ' DECLARE @name VARCHAR(500) SET @name=''?'' IF DB_ID(@name) > 5 BEGIN USE [?] CREATE USER NewUserName FOR LOGIN NewLoginName; EXEC sp_addrolemember ''db_owner'',''NewUserName'' END'

    where NewUserName is the new user name that you want to create on the databases.

  5. To assign the required permissions to the new user on the msdb system database, run the following script:

    USE msdb GO CREATE USER NewUserName FROM LOGIN NewLoginName GO GRANT EXECUTE ON msdb.dbo.rds_backup_database TO NewUserName GO GRANT EXECUTE ON msdb.dbo.rds_restore_database TO NewUserName GO GRANT EXECUTE ON msdb.dbo.rds_task_status TO NewUserName GO GRANT EXECUTE ON msdb.dbo.rds_cancel_task TO NewUserName GO

Loading...