Skip to content

Commit 1200fd1

Browse files
authored
Merge pull request #102155 from MashaMSFT/20190122_sqlvmfixes
misc SQL VM fixes based on Git Issues
2 parents f896d0e + 37d9571 commit 1200fd1

File tree

8 files changed

+44
-19
lines changed

8 files changed

+44
-19
lines changed
Loading
Loading
Loading
Loading
Loading
Loading

articles/virtual-machines/windows/sql/virtual-machines-windows-portal-sql-availability-group-dr.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,26 +92,33 @@ To create a replica in a remote data center, do the following steps:
9292

9393
1. [Add the new SQL Server to the Windows Server Failover Cluster](virtual-machines-windows-portal-sql-availability-group-tutorial.md#addNode).
9494

95-
1. Create an IP address resource on the cluster.
95+
1. Add an IP address resource to the cluster.
9696

97-
You can create the IP address resource in Failover Cluster Manager. Right-click the availability group role, click **Add Resource**, **More Resources**, and click **IP Address**.
97+
You can create the IP address resource in Failover Cluster Manager. Select the name of the cluster, then right-click the cluster name under **Cluster Core Resources** and select **Properties**:
9898

99-
![Create IP Address](./media/virtual-machines-windows-portal-sql-availability-group-dr/20-add-ip-resource.png)
99+
![Cluster properties](./media/virtual-machines-windows-portal-sql-availability-group-dr/cluster-name-properties.png)
100100

101-
Configure this IP address as follows:
101+
On the **Properties** dialog box, select **Add** under **IP Address**, and then add the IP address of the cluster name from the remote network region. Select **OK** on the **IP Address** dialog box, and then select **OK** again on the **Cluster Properties** dialog box to save the new IP address..
102102

103-
- Use the network from the remote data center.
104-
- Assign the IP address from the new Azure load balancer.
103+
![Add cluster IP](./media/virtual-machines-windows-portal-sql-availability-group-dr/add-cluster-ip-address.png)
105104

106-
1. On the new SQL Server in SQL Server Configuration Manager, [enable Always On Availability Groups](https://msdn.microsoft.com/library/ff878259.aspx).
107105

108-
1. [Open firewall ports on the new SQL Server](virtual-machines-windows-portal-sql-availability-group-prereq.md#endpoint-firewall).
106+
1. Add the IP address as a dependency for the core cluster name.
109107

110-
The port numbers you need to open depend on your environment. Open ports for the mirroring endpoint and Azure load balancer health probe.
108+
Open the cluster properties once more, and select the **Dependencies** tab. Configure an OR dependency for the two IP addresses:
111109

112-
1. [Add a replica to the availability group on the new SQL Server](https://msdn.microsoft.com/library/hh213239.aspx).
110+
![Cluster properties](./media/virtual-machines-windows-portal-sql-availability-group-dr/cluster-ip-dependencies.png)
113111

114-
For a replica in a remote Azure region, set it for asynchronous replication with manual failover.
112+
1. Add an IP address resource to the availability group role in the cluster.
113+
114+
Right-click the availability group role in Failover Cluster Manager, select **Add Resource**, **More Resources**, and select **IP Address**.
115+
116+
![Create IP Address](./media/virtual-machines-windows-portal-sql-availability-group-dr/20-add-ip-resource.png)
117+
118+
Configure this IP address as follows:
119+
120+
- Use the network from the remote data center.
121+
- Assign the IP address from the new Azure load balancer.
115122

116123
1. Add the IP address resource as a dependency for the listener client access point (network name) cluster.
117124

@@ -137,6 +144,17 @@ Run the PowerShell script with the cluster network name, IP address, and probe p
137144
Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
138145
```
139146

147+
1. On the new SQL Server in SQL Server Configuration Manager, [enable Always On Availability Groups](/sql/database-engine/availability-groups/windows/enable-and-disable-always-on-availability-groups-sql-server).
148+
149+
1. [Open firewall ports on the new SQL Server](virtual-machines-windows-portal-sql-availability-group-prereq.md#endpoint-firewall).
150+
151+
The port numbers you need to open depend on your environment. Open ports for the mirroring endpoint and Azure load balancer health probe.
152+
153+
154+
1. [Add a replica to the availability group on the new SQL Server](/sql/database-engine/availability-groups/windows/use-the-add-replica-to-availability-group-wizard-sql-server-management-studio).
155+
156+
For a replica in a remote Azure region, set it for asynchronous replication with manual failover.
157+
140158
## Set connection for multiple subnets
141159

142160
The replica in the remote data center is part of the availability group but it is in a different subnet. If this replica becomes the primary replica, application connection time-outs may occur. This behavior is the same as an on-premises availability group in a multi-subnet deployment. To allow connections from client applications, either update the client connection or configure name resolution caching on the cluster network name resource.

articles/virtual-machines/windows/sql/virtual-machines-windows-portal-sql-create-failover-cluster-premium-file-share.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,15 @@ Before you complete the steps in this article, you should already have:
7272

7373
- A Microsoft Azure subscription.
7474
- A Windows domain on Azure virtual machines.
75-
- An account that has permissions to create objects on both Azure virtual machines and in Active Directory.
75+
- A domain user account that has permissions to create objects on both Azure virtual machines and in Active Directory.
76+
- A domain user account to run the SQL Server service and that you can log into the virtual machine with when mounting the file share.
7677
- An Azure virtual network and subnet with enough IP address space for these components:
7778
- Two virtual machines.
7879
- The failover cluster IP address.
7980
- An IP address for each FCI.
8081
- DNS configured on the Azure network, pointing to the domain controllers.
81-
- A [premium file share](../../../storage/files/storage-how-to-create-premium-fileshare.md) based on the storage quota of your database for your data files.
82+
- A [premium file share](../../../storage/files/storage-how-to-create-premium-fileshare.md) to be used as the clustered drive, based on the storage quota of your database for your data files.
83+
- If you're on Windows Server 2012 R2 and older, you will need another file share to use as the file share witness, since cloud witnesses are supported for Windows 2016 and newer. You can use another Azure file share, or you can use a file share on a separate virtual machine. If you're going to use another Azure file share, you can mount it with the same process as for the premium file share used for your clustered drive.
8284

8385
With these prerequisites in place, you can start building your failover cluster. The first step is to create the virtual machines.
8486

@@ -175,7 +177,8 @@ After you create and configure the virtual machines, you can configure the premi
175177
1. Repeat these steps on each SQL Server VM that will participate in the cluster.
176178

177179
> [!IMPORTANT]
178-
> Consider using a separate file share for backup files to save the IOPS and space capacity of this share for Data and Log files. You can use either a premium or standard file share for backup files.
180+
> - Consider using a separate file share for backup files to save the IOPS and space capacity of this share for Data and Log files. You can use either a premium or standard file share for backup files.
181+
> - If you're on Windows 2012 R2 and older, follow these same steps to mount your file share that you are going to use as the file share witness.
179182
180183
## Step 3: Configure the failover cluster with the file share
181184

@@ -184,7 +187,7 @@ The next step is to configure the failover cluster. In this step, you'll complet
184187
1. Add the Windows Server Failover Clustering feature.
185188
1. Validate the cluster.
186189
1. Create the failover cluster.
187-
1. Create the cloud witness.
190+
1. Create the cloud witness (for Windows Server 2016 and newer) or the file share witness (for Windows Server 2012 R2 and older).
188191

189192

190193
### Add Windows Server Failover Clustering
@@ -258,17 +261,21 @@ New-Cluster -Name <FailoverCluster-Name> -Node ("<node1>","<node2>") –StaticAd
258261
```
259262

260263

261-
### Create a cloud witness
264+
### Create a cloud witness (Win 2016 +)
262265

263-
Cloud Witness is a new type of cluster quorum witness that's stored in an Azure storage blob. This removes the need for a separate VM that hosts a witness share.
266+
If you're on Windows Server 2016 and greater, you'll need to create a Cloud Witness. Cloud Witness is a new type of cluster quorum witness that's stored in an Azure storage blob. This removes the need for a separate VM that hosts a witness share, or using a separate file share.
264267

265268
1. [Create a cloud witness for the failover cluster](https://technet.microsoft.com/windows-server-docs/failover-clustering/deploy-cloud-witness).
266269

267270
1. Create a blob container.
268271

269272
1. Save the access keys and the container URL.
270273

271-
1. Configure the failover cluster quorum witness. See [Configure the quorum witness in the user interface](https://technet.microsoft.com/windows-server-docs/failover-clustering/deploy-cloud-witness#to-configure-cloud-witness-as-a-quorum-witness).
274+
### Configure quorum
275+
276+
For Windows Server 2016 and greater, configure the cluster to use the cloud witness you just created. Follow all of the steps [Configure the quorum witness in the user interface](https://technet.microsoft.com/windows-server-docs/failover-clustering/deploy-cloud-witness#to-configure-cloud-witness-as-a-quorum-witness).
277+
278+
For Windows Server 2012 R2 and older, follow the same steps in [Configure the quorum witness in the user interface](https://technet.microsoft.com/windows-server-docs/failover-clustering/deploy-cloud-witness#to-configure-cloud-witness-as-a-quorum-witness) but on the **Select Quorum Witness** page, select the **Configure a file share witness** option. Specify the file share you allocated to be the file share witness, whether it's one you configured on a separate virtual machine, or mounted from Azure.
272279

273280

274281
## Step 4: Test cluster failover
@@ -291,7 +298,7 @@ After you've configured the failover cluster, you can create the SQL Server FCI.
291298

292299
1. Select **New SQL Server failover cluster installation**. Follow the instructions in the wizard to install the SQL Server FCI.
293300

294-
The FCI data directories need to be on the premium file share. Enter the full path of the share, in this form: `\\storageaccountname.file.core.windows.net\filesharename\foldername`. A warning will appear, telling you that you've specified a file server as the data directory. This warning is expected. Ensure that the account you persisted the file share with is the same account that the SQL Server service uses to avoid possible failures.
301+
The FCI data directories need to be on the premium file share. Enter the full path of the share, in this form: `\\storageaccountname.file.core.windows.net\filesharename\foldername`. A warning will appear, telling you that you've specified a file server as the data directory. This warning is expected. Ensure that the user account you RDP'd into the VM with when you persisted the file share is the same account that the SQL Server service uses to avoid possible failures.
295302

296303
:::image type="content" source="media/virtual-machines-windows-portal-sql-create-failover-cluster-premium-file-share/use-file-share-as-data-directories.png" alt-text="Use file share as SQL data directories":::
297304

0 commit comments

Comments
 (0)