First I would like to say thanks for this awesome tool! This has made a lot of our development and baselining easier for us, so thanks again!
I did have a question about the SQL Server in RDS capabilities. So far, the installation doesn’t seem to work with RDS instances. I guess I am just curious if RDS is not supported or is it something of a feature request? Or am I just doing the installations all wrong?
Hi, Thank you for the kind words.
I have not tried RDS yet. If you want to share what errors you’re getting we may be able to figure something out. It may not be compatible though so we will have to see.
This is the error that I am getting.
Install-DbaSqlWatch -SqlInstance $rds -SqlCredential $cred -Database SQLWatch
WARNING: [09:29:56][Install-DbaSqlWatch] DACPAC failed to publish to SQLWatch on
“rds-endpoint”. | DacInstance with the specified instance_id does not
From what I have seen around the interwebs, it looks like a permission issue but I am not sure.
The credentials I am using are the rds master account credentials, and I have tested other dbatools commands using the same credentials.
what if you create the database manually, give yourself db_owner and then deploy dacpac into the empty db?
I am guessing that you’re running into the Amazon’s implementation of the MSSQL security model:
you normally need sysadmin and dbcreator to deploy dacpac to create db.
There’s another topic that may help:
another option is to deploy from Visual Studio but instead of deploying, click generate script. VS will create a single sql script with everything that you can run on RDS.
If all fails. create a VM with matching @@SERVERNAME i.e. same as the RDS instance, deploy there, take a backup and restore backup on RDS
Ok so I just tried that. I created the database, then created a new login/user and granted permissions.
The database ownership cannot be granted though. This maybe some RDS limitations. But I was able to put the login as a db_owner member.
But when I attempt to run the installation, I still get the same error.
I was thinking about it, is it possible to load just the ddl as a create database statement along with all objects and jobs? Or restore a blank database? I know there are some configuration items in the tables that pertain to the local sql install and server, but I didn’t know if there was a process for filling that data with current server settings.
Did you see my entire response? One of the suggestions is to restore the entire database. Just make sure the target server you’re deploying to to make backup, has the same @@servername as the RDS
Ah sorry, yeah I totally missed that part. Let me give that a shot today.