Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Configurer l'accès en lecture seule sur un réplica de disponibilité (SQL Server)

État de la rubrique : certaines informations de cette rubrique constituent une documentation préliminaire et peuvent faire l'objet de modifications dans les versions à venir. Ces informations préliminaires décrivent les nouvelles fonctionnalités ou les modifications apportées à des fonctionnalités existantes de Microsoft SQL Server 2014.

Par défaut l'accès en lecture/écriture et l'intention de lecture sont autorisés sur le réplica principal et aucune connexion directe n'est autorisée sur les réplicas secondaires d'un groupe de disponibilité AlwaysOn. Cette rubrique explique comment configurer l'accès à la connexion sur un réplica de disponibilité d'un groupe de disponibilité AlwaysOn dans SQL Server 2014 à l'aide de SQL Server Management Studio, Transact-SQL ou PowerShell.

Pour plus d'informations sur les conséquences de l'activation de l'accès en lecture seule pour un réplica secondaire et une présentation de l'accès à la connexion, consultez À propos de l'accès de la connexion client aux réplicas de disponibilité (SQL Server) et Secondaires actifs : réplicas secondaires lisibles (groupes de disponibilité d'AlwaysOn).

Conditions préalables requises et restrictions

  • Pour configurer un autre accès à la connexion, vous devez être connecté à l'instance de serveur qui héberge le réplica principal.

Sécurité

Autorisations

Tâche

Autorisations

Pour configurer des réplicas lors de la création d'un groupe de disponibilité

Requiert l'appartenance au rôle de serveur fixe sysadmin et l'autorisation de serveur CREATE AVAILABILITY GROUP, l'autorisation ALTER ANY AVAILABILITY GROUP ou l'autorisation CONTROL SERVER.

Pour modifier un réplica de disponibilité :

Requiert l'autorisation ALTER AVAILABILITY GROUP sur le groupe de disponibilité, l'autorisation CONTROL AVAILABILITY GROUP, l'autorisation ALTER ANY AVAILABILITY GROUP ou l'autorisation CONTROL SERVER.

Icône de flèche utilisée avec le lien Retour en haut [Haut de la page]

Pour configurer l'accès sur un réplica de disponibilité

  1. Dans l'Explorateur d'objets, connectez-vous à l'instance de serveur qui héberge le réplica principal et développez l'arborescence du serveur.

  2. Développez le nœud Haute disponibilité AlwaysOn et le nœud Groupes de disponibilité.

  3. Cliquez sur le groupe de disponibilité dont vous souhaitez modifier le réplica.

  4. Cliquez avec le bouton droit sur le réplica de disponibilité, puis cliquez sur Propriétés.

  5. Dans la boîte de dialogue Propriétés du réplica de disponibilité, vous pouvez modifier l'accès à la connexion pour le rôle principal et le rôle secondaire, comme suit :

    • Pour le rôle secondaire, sélectionnez une nouvelle valeur dans la liste déroulante Rôle secondaire accessible en lecture, comme suit :

      Non

      Aucune connexion utilisateur n'est autorisée aux bases de données secondaires de ce réplica. Elles ne sont pas disponibles pour l'accès en lecture. Il s'agit du paramètre par défaut.

      Intention de lecture uniquement

      Seules les connexions en lecture seule sont autorisées aux bases de données secondaires de ce réplica. La ou les bases de données secondaires sont toutes disponibles pour l'accès en lecture.

      Oui

      Toutes les connexions sont autorisées aux bases de données secondaires de ce réplica, mais uniquement pour l'accès en lecture. La ou les bases de données secondaires sont toutes disponibles pour l'accès en lecture.

    • Pour le rôle principal, sélectionnez une nouvelle valeur dans la liste déroulante Connexions en rôle principal, comme suit :

      Autoriser toutes les connexions

      Toutes les connexions aux bases de données sont autorisées dans le réplica principal. Il s'agit du paramètre par défaut.

      Autoriser les connexions en lecture/écriture

      Lorsque la propriété d'intention de l'application a la valeur ReadWrite ou si cette propriété n'est pas définie, la connexion est autorisée. Les connexions où la propriété de connexion d'intention de l'application a la valeur ReadOnly ne sont pas autorisées. Cela peut permettre d'éviter aux clients de se connecter à une charge de travail de tentative de lecture au réplica primaire par erreur. Pour plus d'informations sur la propriété de connexion d'intention de l'application, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.

Icône de flèche utilisée avec le lien Retour en haut [Haut de la page]

Pour configurer l'accès sur un réplica de disponibilité

Remarque Remarque

Pour obtenir un exemple de cette procédure, consultez Exemple (Transact-SQL), plus loin dans cette section.

  1. Connectez-vous à l'instance de serveur qui héberge le réplica principal.

  2. Si vous spécifiez un réplica pour un nouveau groupe de disponibilité, utilisez l'instruction CREATE AVAILABILITY GROUP Transact-SQL. Si vous ajoutez ou modifiez un réplica d'un groupe de disponibilité existant, utilisez l'instruction ALTER AVAILABILITY GROUP Transact-SQL.

    • Pour configurer l'accès à la connexion pour le rôle secondaire, dans la clause ADD REPLICA ou MODIFY REPLICA WITH, spécifiez l'option SECONDARY_ROLE, comme suit :

      SECONDARY_ROLE ( ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } )

      où :

      NO

      Aucune connexion directe n'est autorisée aux bases de données secondaires de ce réplica. Elles ne sont pas disponibles pour l'accès en lecture. Il s'agit du paramètre par défaut.

      READ_ONLY

      Seules les connexions en lecture seule sont autorisées aux bases de données secondaires de ce réplica. La ou les bases de données secondaires sont toutes disponibles pour l'accès en lecture.

      ALL

      Toutes les connexions sont autorisées aux bases de données secondaires de ce réplica, mais uniquement pour l'accès en lecture. La ou les bases de données secondaires sont toutes disponibles pour l'accès en lecture.

  3. Pour configurer l'accès à la connexion pour le rôle principal, dans la clause ADD REPLICA ou MODIFY REPLICA WITH, spécifiez l'option PRIMARY_ROLE, comme suit :

    PRIMARY_ROLE ( ALLOW_CONNECTIONS = { READ_WRITE | ALL } )

    où :

    READ_WRITE

    Les connexions où la propriété de connexion d'intention de l'application a la valeur ReadOnly ne sont pas autorisées. Lorsque la propriété d'intention de l'application a la valeur ReadWrite ou si cette propriété n'est pas définie, la connexion est autorisée. Pour plus d'informations sur la propriété de connexion d'intention de l'application, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.

    ALL

    Toutes les connexions aux bases de données sont autorisées dans le réplica principal. Il s'agit du paramètre par défaut.

Exemple (Transact-SQL)

L'exemple suivant ajoute un réplica secondaire à un groupe de disponibilité nommé AG2. Une instance de serveur autonome, COMPUTER03\HADR_INSTANCE, est spécifiée pour héberger le nouveau réplica de disponibilité. Ce réplica est configuré pour autoriser uniquement les connexions en lecture/écriture pour le rôle principal et pour autoriser uniquement les connexions de tentative de lecture pour le rôle secondaire.

ALTER AVAILABILITY GROUP AG2 
   ADD REPLICA ON 
      'COMPUTER03\HADR_INSTANCE' WITH 
         (
         ENDPOINT_URL = 'TCP://COMPUTER03:7022',
         PRIMARY_ROLE ( ALLOW_CONNECTIONS = READ_WRITE ),
         SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY )
         ); 
GO

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Pour configurer l'accès sur un réplica de disponibilité

Remarque Remarque

Pour obtenir un exemple de code, consultez Exemple (PowerShell), plus loin dans cette section.

  1. Accédez au répertoire (cd) de l'instance de serveur qui héberge le réplica principal.

  2. Lorsque vous ajoutez un réplica de disponibilité à un groupe de disponibilité, utilisez l'applet de commande New-SqlAvailabilityReplica. Lorsque vous modifiez un réplica de disponibilité existant, utilisez l'applet de commande Set-SqlAvailabilityReplica. Les paramètres pertinents sont les suivants :

    • Pour configurer l'accès à la connexion pour le rôle secondaire, spécifiez le paramètre ConnectionModeInSecondaryRolesecondary_role_keyword, où secondary_role_keyword correspond à l'une des valeurs suivantes :

      AllowNoConnections

      Aucune connexion directe n'est autorisée aux bases de données dans le réplica secondaire et les bases de données ne sont pas disponibles pour un accès en lecture. Il s'agit du paramètre par défaut.

      AllowReadIntentConnectionsOnly

      Seules sont autorisées les connexions aux bases de données dans le réplica secondaire où la propriété d'intention de l'application est définie sur ReadOnly. Pour plus d'informations sur cette propriété, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.

      AllowAllConnections

      Toutes les connexions sont autorisées aux bases de données dans le réplica secondaire pour un accès en lecture seule.

    • Pour configurer l'accès à la connexion pour le rôle principal, spécifiez le paramètre ConnectionModeInPrimaryRoleprimary_role_keyword, où primary_role_keyword correspond à l'une des valeurs suivantes :

      AllowReadWriteConnections

      Les connexions où la propriété de connexion d'intention de l'application a la valeur ReadOnly ne sont pas autorisées. Lorsque la propriété d'intention de l'application a la valeur ReadWrite ou si cette propriété n'est pas définie, la connexion est autorisée. Pour plus d'informations sur la propriété de connexion d'intention de l'application, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.

      AllowAllConnections

      Toutes les connexions aux bases de données sont autorisées dans le réplica principal. Il s'agit du paramètre par défaut.

    Remarque Remarque

    Pour afficher la syntaxe d'une applet de commande, utilisez l'applet de commande Get-Help dans l'environnement SQL Server 2014 PowerShell. Pour plus d'informations, consultez Obtenir de l'aide sur SQL Server PowerShell.

Pour configurer et utiliser le fournisseur SQL Server PowerShell

Exemple (PowerShell)

L'exemple suivant définit les paramètres ConnectionModeInSecondaryRole et ConnectionModeInPrimaryRole sur AllowAllConnections.

Set-Location SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MyAg
$primaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole "AllowAllConnections" ` 
-InputObject $primaryReplica
Set-SqlAvailabilityReplica -ConnectionModeInPrimaryRole "AllowAllConnections" ` 
-InputObject $primaryReplica

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Accès en lecture seule aux réplicas secondaires accessibles en lecture.

Facteurs qui peuvent affecter les déclencheurs et les travaux à la suite d'un basculement

Si vous avez des déclencheurs et des travaux qui vont échouer lors de l'exécution sur une base de données secondaire inaccessible en lecture ou sur une base de données secondaire accessible en lecture, vous devez générer un script pour les déclencheurs et travaux à vérifier sur un réplica donné afin de déterminer si la base de données est une base de données principale ou une base de données secondaire accessible en lecture. Pour obtenir ces informations, utilisez la fonction DATABASEPROPERTYEX pour retourner la propriété Updatability de la base de données. Pour identifier une base de données en lecture seule, spécifiez la valeur READ_ONLY, comme suit :

DATABASEPROPERTYEX([db name],’Updatability’) = N’READ_ONLY’

Pour identifier une base de données en lecture-écriture, spécifiez la valeur READ_WRITE.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft