Servizio writer SQL
Si applica a: SQL Server - Solo Windows
Il servizio writer SQL offre funzionalità aggiuntive per il backup e il ripristino di SQL Server tramite l'infrastruttura del Servizio Copia Shadow del volume.
Il servizio SQL Writer viene installato automaticamente. Il servizio deve essere in esecuzione quando l'applicazione del servizio Copia Shadow del volume (VSS) richiede un backup o un ripristino. Per configurare il servizio, utilizzare l'applet Servizi Microsoft Windows. Il servizio writer SQL viene installato in tutti i sistemi operativi.
Il motore di database blocca e dispone dell'accesso esclusivo ai file di database. Quando il servizio writer SQL non è in esecuzione, i programmi di backup in esecuzione in Windows non dispongono di accesso ai file di dati e per creare backup è necessario utilizzare il backup nativo di SQL Server. Utilizzare il servizio writer SQL per consentire ai programmi di backup di Windows di copiare i file di database di SQL Server durante l'esecuzione di SQL Server e mantenere blocchi esclusivi su quei file.
Il Servizio Copia Shadow del volume (VSS) è costituito da un set di API COM che implementa un'infrastruttura per consentire l'esecuzione di backup dei volumi mentre le applicazion continuano a scrivere in quei volumi. Il servizio VSS aiuta la coordinazione tra le applicazioni utente per l'aggiornamento di dati sul disco, ovvero i writer, e quelle per il backup delle applicazioni, ovvero i richiedenti.
Il Servizio Copia Shadow del volume acquisisce e copia immagini stabili per il backup nei sistemi in esecuzione, in particolare nei server, senza ridurre inutilmente le prestazioni e la stabilità dei servizi offerti. Per ulteriori informazioni, vedere la documentazione del Servizio Copia Shadow del volume.
Nota
Quando si usa VSS per eseguire il backup di una macchina virtuale che ospita un gruppo di disponibilità di base, se la macchina virtuale attualmente ospita database in stato di secondario, a partire da SQL Server 2016 (13.x) SP2 CU2 e SQL Server 2017 (14.x) CU9 tali database non vengono inclusi nel backup con la macchina virtuale. Questo avviene perché i gruppi di disponibilità di base non supportano il backup dei database nella replica secondaria. Prima di queste versioni di SQL Server, il backup ha esito negativo e viene generato un errore.
SQL Server è disponibile un'API denominata Virtual Backup Device Interface (VDI) che consente ai fornitori di software indipendenti di integrare SQL Server nei propri prodotti di backup e di ripristino. Queste API sono state progettate per offrire affidabilità e prestazioni ottimali e per supportare la gamma completa di funzionalità di backup e di ripristino di SQL Server, incluse tutte le capacità di backup a caldo e di snapshot. Se un'applicazione di un fornitore terzo richiede un backup di snapshot (servizio Copia Shadow del volume), il servizio writer SQL chiama le funzioni dell'API VDI per eseguire i backup effettivi. L'API VDI è indipendente dal servizio Copia Shadow del volume e viene spesso usata nelle soluzioni software che non impiegano API di tale servizio.
Il servizio writer SQL deve essere eseguito utilizzando l'account di sistema locale . Per la connessione a SQL Server, il servizio writer SQL usa l'account di accesso NT Service\SQLWriter. Con l'account di accesso NT Service\SQLWriter il processo del servizio writer SQL può essere eseguito con un livello di privilegi più basso in un account designato come senza account di accesso. In questo modo viene limitata la vulnerabilità. Se il servizio writer SQL è disabilitato, qualsiasi utilità che si basa su snapshot del Servizio Copia Shadow del volume può interrompersi e rischiare di eseguire backup di database non coerenti. Tra gli esempio, citiamo System Center Data Protection Manager e altri prodotti di terze parti.
Se SQL Server, il sistema in cui viene eseguito e il sistema host (nel caso di una macchina virtuale) non necessitano di altri elementi oltre al backup di Transact-SQL, il servizio writer SQL può essere disabilitato in modo sicuro e l'account di accesso può essere rimosso. Il servizio writer SQL può essere richiamato da un backup a livello di sistema o di volume, se il backup è basato direttamente o meno su snapshot. Alcuni prodotti per il backup del sistema usano VSS per evitare il blocco causato da file aperti o bloccati. Il servizio writer SQL necessita di autorizzazioni sysadmin in SQL Server perché nel corso delle proprie attività deve bloccare brevemente tutte le operazioni di I/O per l'istanza di SQL Server.
Il servizio writer SQL supporta:
- Backup e ripristino completo del database, inclusi i cataloghi full-text
- Backup e ripristino differenziale
- Ripristino con spostamento
- Ridenominazione del database
- Backup di sola copia
- Recupero automatico dello snapshot del database
Il servizio writer SQL non supporta:
- Backup del log
- Backup di file e filegroup
- Ripristino di pagine
Il servizio writer SQL è un servizio separato dal motore di database si SQL Server e viene condiviso tra versioni diverse di SQL Server e tra istanze diverse di SQL Server nello stesso server. Il file del servizio writer SQL viene fornito come parte del pacchetto di installazione di SQL Server ed è contrassegnato con lo stesso numero di versione del motore di SQL Server con cui viene fornito.
Quando viene installata una nuova istanza di SQL Server in un server o viene aggiornata un'istanza esistente, se il numero di versione dell'istanza installata o aggiornata è maggiore del numero di versione del servizio writer SQL attualmente nel server, tale file viene sostituito con quello dal pacchetto di installazione.
Il servizio writer SQL viene aggiornato da un Service Pack o un aggiornamento cumulativo e si installa una versione più recente di SQL Server, è possibile sostituire una versione più recente del servizio writer SQL con una versione precedente, a condizione che l'installazione abbia un numero di versione principale più alto. Ad esempio, si supponga che il servizio writer SQL venga aggiornato in SQL Server 2016 (13.x) SP2 CU2. Se tale istanza viene aggiornata a SQL Server 2017 (14.x) RTM, il servizio writer SQL aggiornato viene sostituito con una versione precedente. In questo caso, sarebbe necessario applicare l'aggiornamento cumulativo più recente alla nuova istanza per ottenere la versione più recente del servizio writer SQL.