Problema
- Si riceve un errore "Si è verificato un errore durante il caricamento dei file di database dai database di Microsoft SQL Server. Verificare se l'account 'NT AUTHORITY\SYSTEM' dispone di autorizzazioni sufficienti per leggere i dati dalle viste di sistema dei database master" nel prodotto ESET Windows server
- Viene visualizzato un errore durante l'ottenimento della posizione personalizzata dei dati del database
- Abilitare il servizio ESET per ottenere la posizione personalizzata dei dati del database
- Istanze multiple di Microsoft SQL Server su un singolo server
Soluzione
Viene visualizzato un errore quando si ottiene la posizione personalizzata dei dati del database
Le esclusioni automatiche per Microsoft SQL Server consistono principalmente nelle posizioni predefinite dei file di database. Tuttavia, sono costituite anche da percorsi in cui i file di database sono memorizzati in posizioni personalizzate. In questo caso, l'account NT AUTHORITY\SYSTEM deve disporre dei diritti appropriati per estrarre queste informazioni dal database master.
In Microsoft SQL Server 2016 e versioni successive, Microsoft ha rimosso il ruolo di server sysadmin per l'account NT AUTHORITY\SYSTEM, causando la perdita dell'accesso da parte dei prodotti per server Windows di ESET ai dati del database master, che contiene le posizioni dei dati del database dell'istanza di Microsoft SQL Server.
I prodotti server ESET Windows informano di questo problema tramite il messaggio di errore. Fare clic su File di registro, selezionare Eventi dal menu a discesa e visualizzare il messaggio di errore:
"Si è verificato un errore durante il caricamento dei file di database dai database di Microsoft SQL Server. Verificare se l'account 'NT AUTHORITY\SYSTEM' dispone di autorizzazioni sufficienti per leggere i dati dalle viste di sistema dei database master"
Fare clic sull'immagine per ingrandirla in una nuova finestra
Abilitare il servizio ESET per ottenere la posizione personalizzata dei dati del database
Per abilitare il servizio a ottenere la posizione personalizzata dei dati del database, seguire una delle tre procedure seguenti utilizzando Microsoft SQL Server Management Studio:
- Concedere le autorizzazioni "Visualizza qualsiasi definizione" all'account NT AUTHORITY\SYSTEM (consigliato)
- Assegnare il ruolo di server 'sysadmin' all'account NT AUTHORITY\SYSTEM
- Assegnare il ruolo di database 'db_owner' al database 'master' nell'account NT AUTHORITY\SYSTEM
A. Concedere i permessi "Visualizza qualsiasi definizione" all'account NT AUTHORITY\SYSTEM (consigliato)
-
Accedere a Microsoft SQL Server Management Studio e collegarsi all'istanza di Microsoft SQL Server scelta.
-
Fare clic su Securables. Nella colonna Concessione, selezionate la casella di controllo accanto a Visualizza qualsiasi definizione. Fare clic su OK.
Figura 2-1
B. Concessione del ruolo server 'sysadmin' all'account NT AUTHORITY\SYSTEM
-
Passate a Microsoft SQL Server Management Studio e collegatevi all'istanza di Microsoft SQL Server scelta.
-
Fate clic su Ruoli server, selezionate la casella di controllo accanto a sysadmin e fate clic su OK.
Figura 2-2
C. Assegnare il ruolo di database 'db_owner' al database 'master' nell'account NT AUTHORITY\SYSTEM
-
Passate a Microsoft SQL Server Management Studio e collegatevi all'istanza di Microsoft SQL Server scelta.
-
Fare clic su Mappatura utenti. Nella sezione Utenti mappati a questo accesso, selezionare la casella di controllo accanto a master. Nella sezione Membri del ruolo del database per, selezionare la casella di controllo accanto a db_owner. Fare clic su OK.
Figura 2-3
Istanze multiple di Microsoft SQL Server su un unico server
È possibile connettersi a un'istanza specifica di Microsoft SQL Server utilizzando la finestra di dialogo di connessione visualizzata all'avvio di Microsoft SQL Server Management Studio:
-
Navigare in Microsoft SQL Server Management Studio e connettersi al server scelto.
- Digitare l'istanza nel campo Nome server nel formato seguente e fare clic su Connetti.
<nome_server>\<nome_istanza>
Figura 3-1
Ottenere l'elenco delle istanze di Microsoft SQL Server
Esistono diversi modi per ottenere l'elenco delle istanze di Microsoft SQL Server installate sul server:
-
Quando si installa una nuova istanza di Microsoft SQL Server, nel passaggio in cui si digita il nome della nuova istanza, l'Installazione guidata visualizza un elenco delle istanze attualmente installate.
-
L'elenco delle istanze installate si trova nel seguente percorso del registro di Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Nomi istanzePer ottenere l'elenco, utilizzate il seguente comando PowerShell:
Get-Item "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Nomi di istanze\SQL" | % {$_.Proprietà} -
Ogni istanza di Microsoft SQL Server installa il servizio corrispondente nel sistema. Il nome di questo servizio ha il seguente formato:
SQL Server (<nome_istanza>)È possibile filtrare questi servizi nel sistema per ottenere un elenco delle istanze Microsoft Server SQL installate utilizzando il seguente comando PowerShell:Get-Service | ?{ $_.DisplayName -like "SQL Server (*" }