Esercitazione: Preparare SQL Server per la replica: server di pubblicazione, server di distribuzione, sottoscrittore

Si applica a:SQL Server

È importante pianificare la sicurezza prima di configurare la topologia di replica. In questa esercitazione viene illustrato come proteggere in modo più sicuro una topologia di replica. Viene anche illustrato come configurare la distribuzione, il primo passaggio della replica dei dati. È necessario completare questa esercitazione prima delle altre esercitazioni sulla replica.

Nota

Per eseguire la replica dei dati tra server in modo protetto, è consigliabile seguire tutte le indicazioni riportate in Procedure consigliate per la sicurezza della replica.

Contenuto dell'esercitazione

Questa esercitazione illustra come preparare un server in modo che la replica possa essere eseguita in modo protetto con privilegi minimi.

La presente esercitazione include informazioni su come:

  • Creare account di Windows per la replica.
  • Preparare la cartella per lo snapshot.
  • Configurare la distribuzione.

Prerequisiti

Questa esercitazione è destinata agli utenti che hanno familiarità con le operazioni fondamentali relative ai database ma con un'esperienza limitata delle operazioni di replica.

Per completare questa esercitazione, sono necessari SQL Server, SQL Server Management Studio (SSMS) e un database AdventureWorks:

  • Nel server di pubblicazione (origine) installare:

    • Una qualsiasi edizione di SQL Server, ad eccezione di SQL Server Express e SQL Server Compact. Questa edizioni non possono fungere da server di pubblicazione per la replica.
    • Database di esempio AdventureWorks2022 . Per una maggiore sicurezza, i database di esempio non vengono installati per impostazione predefinita.
  • Nel server sottoscrittore (destinazione) installare qualsiasi edizione di SQL Server, ad eccezione di SQL Server Compact. SQL Server Compact non può essere un sottoscrittore nella replica transazionale.

  • Installare SQL Server Management Studio.

  • Installare SQL Server 2017 Developer Edition.

  • Scaricare il database di esempio AdventureWorks. Per istruzioni sul ripristino di un database in SSMS, vedere Ripristino di un database.

Nota

  • La replica non è supportata nelle istanze di SQL Server con versioni la cui distanza sia maggiore di 2. Per altre informazioni, vedere Supported SQL Server Versions in Replication Topology (Versioni di SQL Server supportate nella topologia di replica).
  • In SQL Server Management Studio, devi connetterti al server di pubblicazione e al Sottoscrittore usando un account di accesso che sia membro del ruolo predefinito del server sysadmin. Per altre informazioni su questo ruolo, vedere Ruoli a livello di server.

Tempo stimato per il completamento dell'esercitazione: 30 minuti

Creare account di Windows per la replica

In questa sezione vengono creati gli account di Windows per l'esecuzione degli agenti di replica. Verrà creato un account di Windows separato nel server locale per gli agenti seguenti:

Agente Ufficio Account name
Agente snapshot Publisher <nome_computer>\repl_snapshot
Agente di lettura log Publisher <nome_computer>\repl_logreader
Agente di distribuzione Server di pubblicazione e sottoscrittore <nome_computer>\repl_distribution
Agente di merge Server di pubblicazione e sottoscrittore <nome_computer>\repl_merge

Nota

Nelle esercitazioni sulla replica il server di pubblicazione e il server di distribuzione condividono la stessa istanza (NODE1\SQL2016) di SQL Server. L'istanza del sottoscrittore (NODE2\SQL2016) è remota. Il server di pubblicazione e il sottoscrittore possono usare la stessa istanza di SQL Server, ma questo non è un requisito. Se il server di pubblicazione e il sottoscrittore condividono la stessa istanza, i passaggi seguiti per creare gli account nel sottoscrittore non sono obbligatori.

Creare account di Windows locali per gli agenti di replica nel server di pubblicazione

  1. Nel server di pubblicazione fare clic su Gestione computer in Strumenti di amministrazione nel Pannello di controllo.

  2. In Utilità di sistemaespandere Utenti e gruppi locali.

  3. Fare clic con il pulsante destro del mouse su Utentie quindi selezionare Nuovo utente.

  4. Immettere repl_snapshot nella casella Nome utente, specificare la password e altre informazioni pertinenti e quindi selezionare Crea per creare l'account repl_snapshot:

  5. Ripetere il passaggio precedente per creare gli account repl_logreader, repl_distribution e repl_merge:

    List of replication users

  6. Selezionare Chiudi.

Creare account di Windows locali per gli agenti di replica nel sottoscrittore

  1. Nel sottoscrittore aprire Gestione computer in Strumenti di amministrazione nel Pannello di controllo.

  2. In Utilità di sistemaespandere Utenti e gruppi locali.

  3. Fare clic con il pulsante destro del mouse su Utentie quindi selezionare Nuovo utente.

  4. Immettere repl_distribution nella casella Nome utente, specificare la password e altre informazioni pertinenti e quindi selezionare Crea per creare l'account repl_distribution.

  5. Ripetere il passaggio precedente per creare l'account repl_merge.

  6. Selezionare Chiudi.

Per altre informazioni, vedere Panoramica degli agenti di replica.

Preparare la cartella per lo snapshot

In questa sezione viene configurata la cartella usata per la creazione e l'archiviazione dello snapshot di pubblicazione.

Creare una condivisione per la cartella per lo snapshot e assegnare le autorizzazioni

  1. In Esplora file, individua la cartella di dati di SQL Server. Il percorso predefinito è C:\Programmi\Microsoft SQL Server\MSSQL.X\MSSQL\Data.

  2. Creare una nuova cartella denominata repldata.

  3. Fare clic con il pulsante destro del mouse su questa cartella e selezionare Proprietà.

    a. Nella scheda Condivisione della finestra di dialogo Proprietà di repldata selezionare Condivisione avanzata.

    b. Nella finestra di dialogo Condivisione avanzata selezionare Condividi cartella e quindi selezionare Autorizzazioni.

    Selections for sharing the repldata folder

  4. Nella finestra di dialogo Autorizzazioni per repldata selezionare Aggiungi. Nella casella Select User, Computers, Service Account, or Groups (Seleziona utenti, computer, account del servizio o gruppi) digita il nome dell'account dell'agente di snapshot creato in precedenza nel formato <Nome_server_pubblicazione>\repl_snapshot. Selezionare Verifica nomi e quindi selezionare OK.

    Selections to add sharing permissions

  5. Ripeti il passaggio 6 per aggiungere gli altri due account creati in precedenza: <Nome_server_pubblicazione>\repl_merge e <Nome_server_pubblicazione>\repl_distribution.

  6. Dopo aver aggiunto i tre account, assegnare le autorizzazioni seguenti:

    • repl_distribution: Lettura
    • repl_merge: Lettura
    • repl_snapshot: Controllo completo

    Shared permissions for each account

  7. Dopo aver configurato correttamente le autorizzazioni di condivisione, selezionare OK per chiudere la finestra di dialogo Autorizzazioni per repldata. Selezionare OK per chiudere la finestra di dialogo Condivisione avanzata.

  8. Nella finestra di dialogo Proprietà repldata selezionare la scheda Sicurezza e selezionare Modifica:

  9. Nella finestra di dialogo Autorizzazioni per repldata selezionare Aggiungi. Nella casella Select Users, Computers, Service Accounts, or Groups (Seleziona utenti, computer, account del servizio o gruppi) digita il nome dell'account dell'agente di snapshot creato in precedenza nel formato <Nome_server_pubblicazione>\repl_snapshot. Selezionare Verifica nomi e quindi selezionare OK.

    Selections to add security permissions

  10. Ripeti il passaggio precedente per aggiungere le autorizzazioni per l'agente di distribuzione nel formato <Nome_server_pubblicazione>\repl_distribution e per l'agente di merge nel formato <Nome_server_pubblicazione>\repl_merge.

  11. Verificare che siano state concesse le autorizzazioni seguenti:

    • repl_distribution: Lettura
    • repl_merge: Lettura
    • repl_snapshot: Controllo completo

    User permissions for replication data

  12. Selezionare di nuovo la scheda Condivisione e prendere nota del percorso di rete per la condivisione. Questo percorso sarà necessario in seguito, al momento di configurare la cartella per lo snapshot.

    Network path on the

  13. Selezionare OK per chiudere la finestra di dialogo Proprietà di repldata.

Per altre informazioni, vedere Proteggere la cartella snapshot.

Configurare la distribuzione

In questa sezione viene configurata la distribuzione nel server di pubblicazione e vengono impostate le autorizzazioni necessarie per i database di pubblicazione e di distribuzione. Se il server di distribuzione è già stato configurato, è necessario disabilitare la pubblicazione e la distribuzione prima di iniziare questa sezione. Non eseguire questa operazione se è necessario mantenere la topologia di replica esistente, soprattutto in un ambiente di produzione.

In questa esercitazione non è prevista la configurazione del server di pubblicazione con un server di distribuzione remoto.

Configurare la distribuzione nel server di pubblicazione

  1. Connettiti al server di pubblicazione in SQL Server Management Studio e poi espandi il nodo server.

  2. Fare clic con il pulsante destro del mouse sulla cartella Replica e selezionare Configura distribuzione:

    Nota

    • Se è stata effettuata la connessione a SQL Server usando localhost anziché il nome effettivo del server, verrà visualizzato un avviso che indica l'impossibilità di stabilire una connessione tra SQL Server e localhost o indirizzo IP. Selezionare OK nella finestra di dialogo dell'avviso. Nella finestra di dialogo Connetti al server modificare Nome server sostituendo localhost o indirizzo IP con il nome del server. Selezionare Connetti.
    • Attualmente esiste un problema noto relativo a SQL Server Management Studio (SSMS) 18.0 (e versioni successive) per cui non viene visualizzato un messaggio di avviso quando ci si connette al server di distribuzione con l'indirizzo IP, ma questo non è ancora valido. Per la connessione al database di distribuzione deve essere usato il nome effettivo del server.

    Verrà avviata la Configurazione guidata distribuzione.

  3. Nella pagina Server di distribuzione, seleziona <'NomeServer'> che fungerà da database di distribuzione per sé stesso. Verranno creati un database di distribuzione e un log. Quindi seleziona Avanti.

    Option to make the server act as its own distributor

  4. Se SQL Server Agent non è in esecuzione, nella pagina Avvio di SQL Server Agent, seleziona Sì, configura il servizio SQL Server Agent per l'avvio automatico. Selezionare Avanti.

  5. Immetti il percorso \\<Nome_server_pubblicazione>\repldata nella casella di testo Cartella snapshot e poi seleziona Avanti. Questo percorso deve corrispondere a quanto visto in precedenza in Percorso di rete nella cartella delle proprietà di repldata dopo la configurazione delle proprietà della condivisione.

    Comparison of network paths in the

  6. Accettare i valori predefiniti nella pagine seguenti della procedura guidata.

    Last page of the wizard

  7. Selezionare Fine per abilitare la distribuzione.

Durante la configurazione del server di distribuzione può essere visualizzato l'errore seguente, che indica che l'account usato per avviare l'account di SQL Server Agent non è un account amministratore del sistema. È necessario avviare SQL Server Agent manualmente, concedere le autorizzazioni necessarie all'account esistente o cambiare l'account usato da SQL Server Agent.

Error message for configuring the SQL Server Agent

Se l'istanza di SQL Server Management Studio è in esecuzione con diritti amministrativi, è possibile avviare SQL Server Agent manualmente dall'interno di SSMS:

Selecting

Nota

Se SQL Server Agent non sembra avviarsi, fare clic con il pulsante destro del mouse su SQL Server Agent in SSMS e quindi scegliere Aggiorna. Se è ancora arrestato, avviarlo manualmente da Gestione configurazione SQL Server.

Impostare le autorizzazioni per il database

  1. In SQL Server Management Studio, espandi la cartella Sicurezza, fai clic con il pulsante destro del mouse su Account di accesso e poi seleziona Nuovo account di accesso.

  2. Nella pagina Generale selezionare Cerca. Immetti <Nome_server_pubblicazione>\repl_snapshot nella casella Immetti il nome dell'oggetto da selezionare, seleziona Controlla nomi e quindi seleziona OK.

    Selections for entering the object name

  3. Nell'elenco Utenti con mapping a questo account di accesso nella pagina Mapping utente selezionare sia il database di distribuzione che il database AdventureWorks2022.

    Nell'elenco delle appartenenze a ruoli del database selezionare il ruolo db_owner per l'accesso a entrambi i database.

    Selecting the databases and their role

  4. Selezionare OK per creare l'account di accesso.

  5. Ripetere i passaggi 1-4 per creare un account di accesso per gli altri account locali (repl_distribution, repl_logreader e repl_merge). È necessario eseguire il mapping di questi account anche agli utenti membri del ruolo predefinito del database db_owner nel database di distribuzione e nel database AdventureWorks.

    View of all four accounts in Object Explorer

Per altre informazioni, vedi:

Passaggi successivi

La preparazione del server per la replica è stata completata. Il prossimo articolo insegna come configurare la replica transazionale: