Why create your databases manually if you don’t have to? If there is one thing that I hate to do it is extra work when it’s not needed. With the magic of PowerShell and Azure PowerShell modules you can easily automate the creation of your Azure Database. You can download the scripts I put together from here and below is a little walk through on the scripts.
There are three files contained in the zip folder that will be needed.
- AzureConfig.xml (Contains the username and encrypted password to login to Azure)
- PasswordEncrypt.ps1 (utility to set the encrypted password for the AzureConfig.xml)
- CreateAzureDBv12.ps1 (Script to create your Azure Database)
So why did I create my automation this way? Well like I said before I hate doing extra work and that includes having to manually login, but I am also security conscious so I wanted to create a way to have a configuration file that would have my username and password and also store that password as an encrypted value.
To use this all you have to do is enter your username into the username tag in the AzureConfig.xml and then launch the PasswordEncrypt.ps1 and enter the password to encrypt when prompted and it will update the AzureConfig.xml file. There is a default key being used in the PasswordEncrypt.ps1 that you can feel free to change but if you do you must change it in the PasswordEncrypt.ps1 on line 2 and CreateAzureDBv12.ps1 on line 36.
And yes as I am writing this I realized I should of put the key into the config file as well but I will save that for the next update.
Now you are ready to use the CreateAzureDBv12 script which has the following parameters.
- SQLDatabaseName (The name for your database)
- Location (The Azure location you wish to create your database in)
- SQLServerName (The name of your SQL Server. This can be an existing or new server.)
- StartIPAddress (the start IP Address to create the Azure Firewall rule for your server to allow connections)
- EndIPAddress (The End IP Address to create the Azure Firewall rule for your server to allow connections)
There is also a default rule that is created to allow Azure IP addresses. You can comment this out if you don’t want to create this rule. Myself I do this because almost all the databases I create are being used by an Azure Web Application or Power BI.
Hope you enjoy these and love to hear feedback.