You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Create the availability group endpoints and certificates
68
68
69
-
An availability group uses TCP endpoints for communication. Under Linux, endpoints for an AG are only supported if certificates are used for authentication. You must restore the certificate from one instance on all other instances that participate as replicas in the same AG. The certificate process is required even for a configuration-only replica.
69
+
An availability group uses TCP endpoints for communication. Under Linux, SQL Server supports endpoints for an AG only if you use certificates for authentication. You must restore the certificate from one instance on all other instances that participate as replicas in the same AG. You need the certificate process even for a configuration-only replica.
70
70
71
71
You can only create endpoints and restore certificates using Transact-SQL. You can also use non-[!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)]-generated certificates. You also need a process to manage and replace any certificates that expire.
72
72
73
73
> [!IMPORTANT]
74
74
> If you plan to use the [!INCLUDE [ssmanstudiofull-md](../includes/ssmanstudiofull-md.md)] wizard to create the AG, you still need to create and restore the certificates by using Transact-SQL on Linux.
75
75
76
-
For full syntax on the options available for the various commands (including security), consult:
76
+
For full syntax on the options available for the various commands (including security), see:
@@ -171,7 +171,7 @@ This example creates certificates for a three-node configuration. The instance n
171
171
GO
172
172
```
173
173
174
-
1. Using `scp` or another utility, copy the backups of the certificate to each node that will be part of the AG.
174
+
1. Using `scp` or another utility, copy the backups of the certificate to each node that you want to be part of the AG.
175
175
176
176
For this example:
177
177
@@ -319,19 +319,19 @@ This section shows how to create an AG with a cluster type of External using SSM
319
319
320
320
1. On the Introduction dialog, select **Next**.
321
321
322
-
1. In the **Specify Availability Group Options** dialog, enter a name for the AG, and select a cluster type of `EXTERNAL` or `NONE` in the dropdown list. Use `EXTERNAL` when you deploy Pacemaker. Use `NONE` for specialized scenarios, such as read scale-out. Selecting the option for database level health detection is optional. For more information on this option, see [Availability group database level health detection failover option](../database-engine/availability-groups/windows/sql-server-always-on-database-health-detection-failover-option.md). Select **Next**.
322
+
1. In the **Specify Availability Group Options** dialog, enter a name for the AG, and select a cluster type of `EXTERNAL` or `NONE` in the dropdown list. Use `EXTERNAL` when you deploy Pacemaker. Use `NONE` for specialized scenarios, such as read scale-out. Selecting the option for database level health detection is optional. For more information about this option, see [Availability group database level health detection failover option](../database-engine/availability-groups/windows/sql-server-always-on-database-health-detection-failover-option.md). Select **Next**.
323
323
324
324
:::image type="content" source="media/sql-server-linux-create-availability-group/image3.png" alt-text="Screenshot of Create Availability Group showing cluster type." lightbox="media/sql-server-linux-create-availability-group/image3.png":::
325
325
326
-
1. In the Select Databases dialog, select the databases that will participate in the AG. Each database must have a full backup before you can add it to an AG. Select **Next**.
326
+
1. In the Select Databases dialog, select the databases that you want to participate in the AG. Each database must have a full backup before you can add it to an AG. Select **Next**.
327
327
328
328
1. In the Specify Replicas dialog, select **Add Replica**.
329
329
330
330
1. In the Connect to Server dialog, enter the name of the Linux instance of [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] that will be the secondary replica, and the credentials to connect. Select **Connect**.
331
331
332
332
1. Repeat the previous two steps for the instance that will contain a configuration-only replica or another secondary replica.
333
333
334
-
1. All three instances appear on the Specify Replicas dialog. If you use a cluster type of External, for the secondary replica that will be a true secondary, make sure the Availability Mode matches that of the primary replica and failover mode is set to External. For the configuration-only replica, select an availability mode of Configuration only.
334
+
1. All three instances appear on the Specify Replicas dialog. If you use a cluster type of External, for the secondary replica that is a true secondary, make sure the Availability Mode matches that of the primary replica and failover mode is set to External. For the configuration-only replica, select an availability mode of Configuration only.
335
335
336
336
The following example shows an AG with two replicas, a cluster type of External, and a configuration-only replica.
337
337
@@ -341,7 +341,7 @@ This section shows how to create an AG with a cluster type of External using SSM
341
341
342
342
:::image type="content" source="media/sql-server-linux-create-availability-group/image5.png" alt-text="Screenshot of Create Availability Group showing the Replicas page." lightbox="media/sql-server-linux-create-availability-group/image5.png":::
343
343
344
-
1. If you want to alter the backup preferences, select the Backup Preferences tab. For more information on backup preferences with AGs, see [Configure backups on secondary replicas of an Always On availability group](../database-engine/availability-groups/windows/configure-backup-on-availability-replicas-sql-server.md).
344
+
1. If you want to change the backup preferences, select the Backup Preferences tab. For more information about backup preferences with AGs, see [Configure backups on secondary replicas of an Always On availability group](../database-engine/availability-groups/windows/configure-backup-on-availability-replicas-sql-server.md).
345
345
346
346
1. If you use readable secondaries or create an AG with a cluster type of None for read-scale, you can create a listener by selecting the **Listener** tab. You can also add a listener later. To create a listener, choose the **Create an availability group listener** option and enter a name, a TCP/IP port, and whether to use a static or automatically assigned DHCP IP address. For an AG with a cluster type of None, the IP should be static and set to the primary's IP address.
347
347
@@ -353,13 +353,13 @@ This section shows how to create an AG with a cluster type of External using SSM
353
353
354
354
1. Enter the URLs for the read-only replicas. These URLs are similar to the endpoints, except they use the port of the instance, not the endpoint.
355
355
356
-
1. Select each URL and from the bottom, select the readable replicas. To multi-select, hold down SHIFT or select-drag.
356
+
1. Select each URL and from the bottom, select the readable replicas. To select multiple, hold down **Shift** or select-drag.
357
357
358
358
1. Select **Next**.
359
359
360
-
1. Choose how the secondary replicas are initialized. The default is to use [automatic seeding](../database-engine/availability-groups/windows/automatically-initialize-always-on-availability-group.md), which requires the same path on all servers participating in the AG. You can also have the wizard do a backup, copy, and restore (the second option); have it join if you have manually backed up, copied, and restored the database on the replicas (third option); or add the database later (last option). As with certificates, if you're manually making backups and copying them, set permissions on the backup files on the other replicas. Select **Next**.
360
+
1. Choose how to initialize the secondary replicas. The default is to use [automatic seeding](../database-engine/availability-groups/windows/automatically-initialize-always-on-availability-group.md), which requires the same path on all servers participating in the AG. You can also have the wizard do a backup, copy, and restore (the second option); have it join if you manually backed up, copied, and restored the database on the replicas (third option); or add the database later (last option). As with certificates, if you're manually making backups and copying them, set permissions on the backup files on the other replicas. Select **Next**.
361
361
362
-
1. On the Validation dialog, if everything doesn't come back as Success, investigate. Some warnings are acceptable and not fatal, such as if you don't create a listener. Select **Next**.
362
+
1. On the Validation dialog, if the wizard doesn't return **Success** for all checks, investigate further. Some warnings are acceptable and not fatal, such as if you don't create a listener. Select **Next**.
363
363
364
364
1. On the Summary dialog, select **Finish**. The process to create the AG now begins.
365
365
@@ -378,7 +378,7 @@ This section shows examples of creating an AG using Transact-SQL. You can config
378
378
379
379
This example shows how to create a two-replica AG that uses a configuration-only replica.
380
380
381
-
1. Execute the following statement on the node that will act as the primary replica, and contains the fully read/write copy of the databases. This example uses automatic seeding.
381
+
1. Execute the following statement on the node that acts as the primary replica, and contains the fully read/write copy of the databases. This example uses automatic seeding.
382
382
383
383
```sql
384
384
CREATE AVAILABILITY GROUP [<AGName>]
@@ -427,7 +427,7 @@ This example shows how to create a two-replica AG that uses a configuration-only
427
427
428
428
This example shows three full replicas and how you can configure read-only routing as part of the initial AG creation.
429
429
430
-
1. Execute the following statement on the node that will act as the primary replica, and contains the fully read/write copy of the databases. This example uses automatic seeding.
430
+
1. Execute the following statement on the node that acts as the primary replica, and contains the fully read/write copy of the databases. This example uses automatic seeding.
431
431
432
432
```sql
433
433
CREATE AVAILABILITY GROUP [<AGName>] WITH (CLUSTER_TYPE = EXTERNAL)
@@ -500,9 +500,9 @@ This example shows three full replicas and how you can configure read-only routi
500
500
501
501
#### Example C: Two replicas with read-only routing (None cluster type)
502
502
503
-
This example shows the creation of a two-replica configuration using a cluster type of None. Use this configuration for the readscale scenario where no failover is expected. This step creates the listener that is actually the primary replica, and the read-only routing, using the round robin functionality.
503
+
This example shows the creation of a two-replica configuration using a cluster type of None. Use this configuration for the read-scale scenario where no failover is expected. This step creates the listener that is actually the primary replica, and the read-only routing, using the round robin functionality.
504
504
505
-
1. Execute the following statement on the node that will act as the primary replica, and contains the fully read/write copy of the databases. This example uses automatic seeding.
505
+
1. Execute the following statement on the node that acts as the primary replica, and contains the fully read/write copy of the databases. This example uses automatic seeding.
506
506
507
507
```sql
508
508
CREATE AVAILABILITY GROUP [<AGName>]
@@ -564,7 +564,7 @@ This example shows the creation of a two-replica configuration using a cluster t
564
564
565
565
## Create the SQL Server login and permissions for Pacemaker
566
566
567
-
A Pacemaker high availability cluster that uses [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] on Linux needs access to the [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] instance, and permissions on the AG itself. These steps create the login and the associated permissions, along with a file that tells Pacemaker how to log into[!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)].
567
+
A Pacemaker high availability cluster that uses [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] on Linux needs access to the [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] instance, and permissions on the AG itself. These steps create the login and the associated permissions, along with a file that tells Pacemaker how to authenticate to[!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)].
568
568
569
569
1. In a query window connected to the first replica, execute the following script:
570
570
@@ -611,7 +611,7 @@ A Pacemaker high availability cluster that uses [!INCLUDE [ssnoversion-md](../in
611
611
612
612
## Create the availability group resources in the Pacemaker cluster (External only)
613
613
614
-
After you create an AG in [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)], you must create the corresponding resources in Pacemaker when you specify a cluster type of External. Two resources are associated with an AG: the availability group resource, and an IP address resource. Configuring the IP address resource is optional if you aren't using a listener. However, it's recommended when listener functionality is required.
614
+
After you create an AG in [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)], you must create the corresponding resources in Pacemaker when you specify a cluster type of External. An AG needs two resources: the availability group resource, and an IP address resource. Configuring the IP address resource is optional if you aren't using a listener. However, it's recommended when you need listener features.
615
615
616
616
The AG resource you create is a type of resource called a *clone*. The AG resource has copies on each node, and one controlling resource called the *master*. The *master* is associated with the server hosting the primary replica. The other resources host secondary replicas (regular or configuration-only) and can be promoted to *master* in a failover.
617
617
@@ -621,8 +621,10 @@ In [!INCLUDE [sssql25-md](../includes/sssql25-md.md)] with Cumulative Update (CU
621
621
622
622
Pacemaker HA agent v2 introduces reliability and performance improvements over the previous agent, including:
623
623
624
-
- Significantly improved failover performance to reduce both planned and unplanned failover times.
625
-
- Support for flexible automatic failover policies, including configuration of health-check timeout and failure-condition level.
624
+
- Improved failover performance to reduce both planned and unplanned failover times.
625
+
626
+
- Support for flexible automatic failover policies, including configuration of [health-check timeout](../database-engine/availability-groups/windows/configure-flexible-automatic-failover-policy.md#HCtimeout) and [failure-condition level](../database-engine/availability-groups/windows/configure-flexible-automatic-failover-policy.md#failure-condition-level).
627
+
626
628
- Support for TLS 1.3 for communication between the Pacemaker cluster and SQL Server.
627
629
628
630
Pacemaker HA agent v2 is currently in preview. The existing Pacemaker HA agent (v1) remains fully supported for production deployments.
@@ -645,7 +647,7 @@ Pacemaker HA agent v2 is currently in preview. The existing Pacemaker HA agent (
645
647
646
648
New deployments on [!INCLUDE [sssql25-md](../includes/sssql25-md.md)] can evaluate Pacemaker HA agent v2. Existing production deployments should upgrade when appropriate.
647
649
648
-
When upgrading to or deploying pacemaker HA agent v2, create the new AG resource using the `agv2` agent instead of the previous ag agent. If an existing AG resource is already configured, remove it and create a new resource using `agv2`:
650
+
When upgrading to or deploying Pacemaker HA agent v2, create the new AG resource using the `agv2` agent instead of the previous `ag` agent. If you already configured an existing AG resource, remove it and create a new resource using `agv2`:
0 commit comments