-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSqlServer.ps1
70 lines (61 loc) · 3.08 KB
/
SqlServer.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Write-Host "Please run first one time BaseInfrastructure.ps1! Otherwise you will encounter errors."
pause
$SolutionPrefix = "ttvdtrn"
$AzureSubscriptionName = "Microsoft Azure"
$ResourceGroupLocation = "westeurope"
$VirtualMachineSize = "Standard_DS12_v2"
$adminPasswordSec = Read-host "Admin and SQL password?" -AsSecureString
$adminPasswordBSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($adminPasswordSec)
$adminPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($adminPasswordBSTR)
$ResourceGroupName = ($SolutionPrefix + "resg001")
$TemplateParameters = @{
destResourceGroupName = $ResourceGroupName
adminPassword = $adminPassword
sqlAuthenticationPassword = $adminPassword
location = $ResourceGroupLocation
virtualMachineName = $SolutionPrefix + "vser001"
adminUsername = $SolutionPrefix + "admin"
virtualNetworkName = $SolutionPrefix + "vnet001"
networkInterfaceName = $SolutionPrefix + "vser001nic"
storageAccountName = $SolutionPrefix + "stac001"
diagnosticsStorageAccountName = $SolutionPrefix + "stac002"
subnetName = $SolutionPrefix + "snet001managementServices"
publicIpAddressName = $SolutionPrefix + "vser001pip"
sqlAuthenticationLogin = $SolutionPrefix + "admin"
virtualMachineSize = $VirtualMachineSize
storageAccountType = "Premium_LRS"
diagnosticsStorageAccountType = "Standard_LRS"
diagnosticsStorageAccountId = "Microsoft.Storage/storageAccounts/" + $SolutionPrefix + "stac002"
publicIpAddressType = "Dynamic"
sqlConnectivityType = "Private"
sqlPortNumber = 1433
sqlStorageDisksCount = 1
sqlStorageWorkloadType = "GENERAL"
sqlStorageDisksConfigurationType = "NEW"
sqlStorageStartingDeviceId = 2
sqlStorageDeploymentToken = 16335
sqlAutopatchingDayOfWeek = "Sunday"
sqlAutopatchingStartHour = "2"
sqlAutopatchingWindowDuration = "60"
rServicesEnabled = "true"
}
$TemplateFileUri = "https://raw.githubusercontent.com/TVDKoni/ARM-Base-Templates/master/SqlServer/sqlServerDeployment.json"
Write-Host "Login to azure account"
Login-AzureRmAccount
Write-Host "Selecting subscription '$($AzureSubscriptionName)'"
$subscription = Get-AzureRmSubscription –SubscriptionName $AzureSubscriptionName #add -TenantId if subscription name is not unique
Select-AzureRmSubscription -SubscriptionId $subscription.SubscriptionId | Out-String | Write-Verbose
Write-Host "Getting resource group '$($ResourceGroupName)'"
if (-not (Get-AzureRmResourceGroup -Name $ResourceGroupName -Location $ResourceGroupLocation -ErrorAction SilentlyContinue)) {
Write-Host "Resource group does not exists. Creating it."
New-AzureRmResourceGroup -Name $ResourceGroupName -Location $ResourceGroupLocation | Out-String | Write-Verbose
}
Write-Host "Deploying template"
$deployment = New-AzureRmResourceGroupDeployment -ResourceGroupName $ResourceGroupName -TemplateUri $TemplateFileUri -TemplateParameterObject $TemplateParameters -Verbose
Write-Host "Template outputs:"
foreach($key in $deployment.Outputs.Keys)
{
Write-Host (" " + $key + ": " + $deployment.Outputs[$key].Value)
}
Write-Host "Done"
pause