|
1 | 1 | class sqlserveralwayson::alwaysonconfig inherits sqlserveralwayson {
|
2 |
| - |
| 2 | + |
3 | 3 | #Enable AlwaysOn on MSSQL service
|
4 |
| - dsc_xsqlserveralwaysonservice{'EnableAlwaysOn': |
| 4 | + dsc_sqlalwaysonservice{'EnableAlwaysOn': |
5 | 5 | dsc_ensure => 'Present',
|
6 |
| - dsc_sqlserver => $hostname, |
7 |
| - dsc_sqlinstancename => 'MSSQLSERVER', |
| 6 | + dsc_servername => $hostname, |
| 7 | + dsc_instancename => 'MSSQLSERVER', |
8 | 8 | dsc_restarttimeout => 15,
|
9 | 9 | dsc_psdscrunascredential => {'user' => $setup_svc_username, 'password' => $setup_svc_password}
|
10 | 10 | }->
|
11 |
| - |
| 11 | + |
12 | 12 | # Adding the required service account to allow the cluster to log into SQL
|
13 |
| - dsc_xsqlserverlogin{'AddNTServiceClusSvc': |
| 13 | + dsc_sqlserverlogin{'AddNTServiceClusSvc': |
14 | 14 | dsc_ensure => 'Present',
|
15 | 15 | dsc_name => 'NT SERVICE\ClusSvc',
|
16 | 16 | dsc_logintype => 'WindowsUser',
|
17 |
| - dsc_sqlserver => $hostname, |
18 |
| - dsc_sqlinstancename => 'MSSQLSERVER', |
| 17 | + dsc_servername => $hostname, |
| 18 | + dsc_instancename => 'MSSQLSERVER', |
19 | 19 | dsc_psdscrunascredential => {'user' => $setup_svc_username, 'password' => $setup_svc_password}
|
20 | 20 | }->
|
21 | 21 |
|
22 | 22 | # Add the required permissions to the cluster service login
|
23 |
| - dsc_xsqlserverpermission{'AddNTServiceClusSvcPermissions': |
| 23 | + dsc_sqlserverpermission{'AddNTServiceClusSvcPermissions': |
24 | 24 | dsc_ensure => 'Present',
|
25 |
| - dsc_nodename => $hostname, |
| 25 | + dsc_servername => $hostname, |
26 | 26 | dsc_instancename => 'MSSQLSERVER',
|
27 | 27 | dsc_principal => 'NT SERVICE\ClusSvc',
|
28 | 28 | dsc_permission => ['AlterAnyAvailabilityGroup', 'ViewServerState'],
|
29 | 29 | dsc_psdscrunascredential => {'user' => $setup_svc_username, 'password' => $setup_svc_password}
|
30 | 30 | }->
|
31 | 31 |
|
32 |
| - dsc_xsqlserverendpoint{'SQLServerEndpoint': |
| 32 | + dsc_sqlserverendpoint{'SQLServerEndpoint': |
33 | 33 | dsc_endpointname => 'HADR',
|
34 | 34 | dsc_ensure => 'Present',
|
35 | 35 | dsc_port => '5022',
|
36 |
| - dsc_sqlserver => $fqdn, |
37 |
| - dsc_sqlinstancename => 'MSSQLSERVER', |
| 36 | + dsc_servername => $fqdn, |
| 37 | + dsc_instancename => 'MSSQLSERVER', |
38 | 38 | dsc_psdscrunascredential => {'user' => $setup_svc_username, 'password' => $setup_svc_password}
|
39 |
| - } |
40 |
| - |
41 |
| - dsc_xsqlserverendpointpermission{'SQLConfigureEndpointPermission': |
| 39 | + }-> |
| 40 | + |
| 41 | + dsc_sqlserverendpointpermission{'SQLConfigureEndpointPermission': |
42 | 42 | dsc_ensure => 'Present',
|
43 |
| - dsc_nodename => $hostname, |
| 43 | + dsc_servername => $hostname, |
44 | 44 | dsc_instancename => 'MSSQLSERVER',
|
45 | 45 | dsc_name => 'HADR',
|
46 |
| - dsc_principal => $sqlservicecredential_username, |
| 46 | + dsc_principal => "${domainnetbiosname}\\$sqlservicecredential_username", |
47 | 47 | dsc_permission => 'CONNECT',
|
48 | 48 | dsc_psdscrunascredential => {'user' => $setup_svc_username, 'password' => $setup_svc_password}
|
49 | 49 | }
|
50 |
| - |
| 50 | + |
51 | 51 | if ( $role == 'primary' ) {
|
52 | 52 | # Create the availability group on the instance tagged as the primary replica
|
53 |
| - dsc_xsqlserveralwaysonavailabilitygroup{'CreateSQLAvailabilityGroup': |
| 53 | + dsc_sqlag{'CreateSQLAvailabilityGroup': |
54 | 54 | dsc_ensure => 'Present',
|
55 | 55 | dsc_name => $clusterName,
|
56 |
| - dsc_sqlserver => $hostname, |
57 |
| - dsc_sqlinstancename => 'MSSQLSERVER', |
| 56 | + dsc_servername => $hostname, |
| 57 | + dsc_instancename => 'MSSQLSERVER', |
| 58 | + dsc_availabilitymode => 'SynchronousCommit', |
58 | 59 | dsc_psdscrunascredential => {'user' => $setup_svc_username, 'password' => $setup_svc_password},
|
59 |
| - require => [ Dsc_xsqlserveralwaysonservice['EnableAlwaysOn'] , Dsc_xsqlserverendpoint['SQLServerEndpoint'] ] |
| 60 | + require => [ Dsc_sqlalwaysonservice['EnableAlwaysOn'] , Dsc_sqlserverendpoint['SQLServerEndpoint'] ] |
60 | 61 | }
|
61 |
| - |
62 |
| - dsc_xsqlserveravailabilitygrouplistener{'AvailabilityGroupListener': |
| 62 | + |
| 63 | + dsc_sqlaglistener{'AvailabilityGroupListener': |
63 | 64 | dsc_ensure => 'Present',
|
64 |
| - dsc_nodename => $fqdn, |
| 65 | + dsc_servername => $fqdn, |
65 | 66 | dsc_instancename => 'MSSQLSERVER',
|
66 | 67 | dsc_availabilitygroup => $clusterName,
|
67 | 68 | dsc_name => "${clusterName}LI",
|
68 | 69 | dsc_ipaddress => $listenerIP,
|
69 | 70 | dsc_port => 1433,
|
70 | 71 | dsc_psdscrunascredential => {'user' => $setup_svc_username, 'password' => $setup_svc_password},
|
71 |
| - require => [ Dsc_xsqlserveralwaysonavailabilitygroup['CreateSQLAvailabilityGroup'] ] |
| 72 | + require => [ Dsc_sqlag['CreateSQLAvailabilityGroup'] ] |
72 | 73 | }
|
73 |
| - |
| 74 | + |
74 | 75 | }
|
75 | 76 | else {
|
76 |
| - |
77 |
| - dsc_xsqlserveralwaysonavailabilitygroupreplica{'SQLAvailabilityGroupAddReplica': |
| 77 | + |
| 78 | + dsc_sqlagreplica{'SQLAvailabilityGroupAddReplica': |
78 | 79 | dsc_ensure => 'Present',
|
79 | 80 | dsc_name => $hostname,
|
80 | 81 | dsc_availabilitygroupname => $clusterName,
|
81 |
| - dsc_sqlserver => $hostname, |
82 |
| - dsc_sqlinstancename => 'MSSQLSERVER', |
83 |
| - dsc_primaryreplicasqlserver => $clusterName, |
84 |
| - dsc_primaryreplicasqlinstancename => 'MSSQLSERVER', |
| 82 | + dsc_servername => $hostname, |
| 83 | + dsc_instancename => 'MSSQLSERVER', |
| 84 | + dsc_primaryreplicaservername => $clusterName, |
| 85 | + dsc_primaryreplicainstancename => 'MSSQLSERVER', |
85 | 86 | dsc_endpointhostname => $hostname,
|
86 | 87 | dsc_psdscrunascredential => {'user' => $setup_svc_username, 'password' => $setup_svc_password},
|
87 |
| - require => [ Dsc_xsqlserveralwaysonservice['EnableAlwaysOn'] , Dsc_xsqlserverendpoint['SQLServerEndpoint'] ] |
| 88 | + require => [ Dsc_sqlalwaysonservice['EnableAlwaysOn'] , Dsc_sqlserverendpoint['SQLServerEndpoint'] ] |
88 | 89 | }
|
89 | 90 | }
|
90 | 91 | }
|
0 commit comments