[KB8406] Ajouter des autorisations pour obtenir l'emplacement des données de la base de données afin de générer des exclusions automatiques pour Microsoft SQL Server dans les produits ESET pour serveurs Windows

NOTE:

Cette page a été traduite par un ordinateur. Cliquez sur English sous Languages sur cette page pour afficher le texte original. Si vous estimez que quelque chose n'est pas clair, veuillez contacter votre support local.

Problème

Solution : une erreur apparaît lors de l'obtention de l'emplacement personnalisé des données de la base de données

Une erreur apparaît lors de l'obtention de l'emplacement personnalisé des données de la base de données

Les exclusions automatiques pour Microsoft SQL Server consistent principalement en des emplacements par défaut de fichiers de base de données. Toutefois, elles comprennent également des chemins d'accès où les fichiers de base de données sont stockés dans des emplacements personnalisés. Dans ce cas, le compte NT AUTHORITY\SYSTEM doit disposer des droits appropriés pour extraire ces informations de la base de données principale.

Dans Microsoft SQL Server 2016 et les versions ultérieures, Microsoft a supprimé le rôle de serveur sysadmin pour le compte NT AUTHORITY\SYSTEM, ce qui fait que les produits serveurs ESET Windows perdent l'accès aux données de la base de données principale, qui contient les emplacements des données de la base de données de l'instance Microsoft SQL Server.

Les produits ESET pour serveurs Windows sont informés de ce problème par le biais d'un message d'erreur. Cliquez sur Fichiers journaux, sélectionnez Événements dans le menu déroulant et affichez le message d'erreur :

"Une erreur s'est produite lors du chargement des fichiers des bases de données de Microsoft SQL Server. Vérifiez si le compte 'NT AUTHORITY\SYSTEM' dispose d'autorisations suffisantes pour lire les données des vues système des bases de données principales."

Figure 1-1
Cliquez sur l'image pour l'agrandir dans une nouvelle fenêtre
Si vous ne pouvez pas effectuer de modifications pour des raisons de sécurité
  • Si vous ne pouvez pas apporter de modifications, les exclusions automatiques ne porteront que sur les emplacements par défaut.
  • Si certains fichiers de la base de données se trouvent dans un ou plusieurs emplacements spécifiques (pas dans le chemin d'accès par défaut), ajoutez ce ou ces chemins d'accès manuellement ou aux exclusions.
  • Si tous les fichiers de base de données se trouvent uniquement dans les emplacements par défaut, ignorez cette erreur.


Activer le service ESET pour obtenir l'emplacement personnalisé des données de la base de données

Pour permettre à notre service d'obtenir l'emplacement personnalisé des données de la base de données, suivez l'une des trois procédures ci-dessous à l'aide de Microsoft SQL Server Management Studio :

  1. Accorder les permissions 'View any definition' au compte NT AUTHORITY\SYSTEM (recommandé)
  2. Attribuer le rôle de serveur 'sysadmin' au compte NT AUTHORITY\SYSTEM
  3. Attribuer le rôle de base de données "db_owner" à la base de données "master" du compte NT AUTHORITY\SYSTEM
A. Accorder les permissions "View any definition" au compte NT AUTHORITY\SYSTEM (recommandé)
Procédure recommandée

Cette procédure n'accorde que des droits de lecture, de sorte que l'impact sur la sécurité du système est minime.

  1. Naviguez vers Microsoft SQL Server Management Studio et connectez-vous à l'instance Microsoft SQL Server choisie.

  2. Cliquez sur Securables. Dans la colonne Octroi, cochez la case située à côté de Afficher n'importe quelle définition. Cliquez sur OK.

    Figure 2-1
B. Attribution du rôle de serveur "sysadmin" au compte NT AUTHORITY\SYSTEM
  1. Naviguez vers Microsoft SQL Server Management Studio et connectez-vous à l'instance Microsoft SQL Server choisie.

  2. Cliquez sur Server Roles, cochez la case en regard de sysadmin et cliquez sur OK.

    Figure 2-2
C. Attribuer le rôle de base de données "db_owner" à la base de données "master" dans le compte NT AUTHORITY\SYSTEM
  1. Naviguez vers Microsoft SQL Server Management Studio et connectez-vous à l'instance Microsoft SQL Server choisie.

  2. Cliquez sur User Mapping. Dans la section Users mapped to this login, cochez la case située à côté de master. Dans la section Appartenance au rôle de la base de données, cochez la case en regard de db_owner. Cliquez sur OK.

    Figure 2-3
Procédures à exécuter pour chaque instance de Microsoft SQL Server

La procédure choisie doit être exécutée pour chaque instance de Microsoft SQL Server installée sur le serveur.

Obtenez la liste des instances Microsoft SQL Server installées sur votre serveur.

Si vous utilisez plusieurs instances de Microsoft SQL Server sur un même serveur, connectez-vous à une instance spécifique de Microsoft SQL Server.


Plusieurs instances de MS SQL Server sur un même serveur

Vous pouvez vous connecter à une instance spécifique de Microsoft SQL Server en utilisant la boîte de dialogue de connexion qui s'affiche lorsque vous démarrez Microsoft SQL Server Management Studio :

  1. Naviguez vers Microsoft SQL Server Management Studio et connectez-vous au serveur choisi.

  2. Saisissez l'instance dans le champ Nom du serveur dans le format ci-dessous et cliquez sur Connecter.

    <nom_du_serveur>\<nom_de_l'instance>

    Figure 3-1
Microsoft SQL Server Express

Certains environnements complexes ou installations de services proposent une édition gratuite de Microsoft SQL Server appelée Microsoft SQL Server Express.

Cette édition du serveur SQL est disponible gratuitement. Elle est limitée en termes de taille et de performances et convient mieux aux petites entreprises.

Par exemple, si vous ne fournissez pas votre propre serveur Microsoft SQL lors de l'installation d'ESET PROTECT On-Prem, Microsoft SQL Server Express est installé par défaut.

Définir les autorisations sur chaque instance avec Microsoft SQL Server Express

Si le message d'erreur persiste, vérifiez qu'aucune instance de Microsoft SQL Server Express n'est installée. Si c'est le cas, mettez à jour les autorisations décrites dans la première section.

Obtenir la liste des instances de Microsoft SQL Server

Il existe plusieurs façons d'obtenir la liste des instances de Microsoft SQL Server installées sur le serveur :

  • Lors de l'installation d'une nouvelle instance de Microsoft SQL Server, à l'étape où vous saisissez le nom de la nouvelle instance, l'assistant d'installation affiche une liste des instances actuellement installées.

  • La liste des instances installées se trouve dans le chemin d'accès au registre Windows suivant :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Nom des instances

    Pour obtenir la liste, utilisez la commande PowerShell suivante :

    Get-Item "HKLM:\NSOFTWARE\NMicrosoft\NMicrosoft SQL Server\NNNoms d'instances\NSQL" | % {$_.Property}
  • Chaque instance de Microsoft SQL Server installe le service correspondant dans le système. Le nom de ce service a le format suivant :

    SQL Server (<nom_de_l'instance>)

    Vous pouvez filtrer ces services dans le système pour obtenir une liste des instances Microsoft Server SQL installées à l'aide de la commande PowerShell suivante :

    Get-Service | ?{ $_.DisplayName -like "SQL Server (*" }