Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Le procedure descritte in questo articolo illustrano il processo di configurazione manuale di Internet Information Services (IIS) versione 7 e successive per l'uso con la sincronizzazione Web per la replica di tipo merge.
La configurazione di IIS 7 o versioni successive è il primo di tre passaggi necessari per abilitare la sincronizzazione Web.
Per una panoramica del processo di configurazione, vedere Configurare la sincronizzazione Web.
Assicurarsi che l'applicazione usi solo .NET Framework 2.0 o versioni successive e che le versioni precedenti di .NET Framework non siano installate nel server IIS. Le versioni precedenti di .NET Framework possono causare errori, ad esempio:
The format of a message during Web synchronization was invalid. Ensure that replication components are properly configured at the Web server.
Per utilizzare la sincronizzazione Web, è necessario configurare IIS eseguendo la procedura seguente. Ogni passaggio è descritto in dettaglio in questo articolo.
Installare e configurare il listener di replica di SQL Server nel computer che esegue IIS.
Configurare il protocollo TLS (Transport Layer Security), noto in precedenza come SSL (Secure Sockets Layer). TLS è obbligatorio per la comunicazione tra IIS e tutti i sottoscrittori.
Configurare l'autenticazione IIS.
Configurare un account e impostare le autorizzazioni per il Listener di Replicazione di SQL Server.
Installare il listener di replica di SQL Server
La sincronizzazione Web è supportata in IIS a partire dalla versione 5.0. La Configurazione guidata sincronizzazione Web di IIS versione 5 e 6 non è disponibile con IIS versione 7.0 e successive.
Nota
Per usare il componente di sincronizzazione Web nel server IIS in SQL Server 2012 (11.x) e versioni successive, è necessario installare SQL Server con la replica. Ciò include l'edizione gratuita di SQL Server Express.
Installare e configurare il listener di replica di SQL Server
Installare la replica di SQL Server nel computer IIS.
Creare una nuova directory di file per replisapi.dll nel computer che esegue IIS. Sebbene sia possibile creare la cartella in un percorso qualsiasi, è consigliabile crearla nella cartella del disco <unità>:\Inetpub. Ad esempio, creare la directory <drive>:\Inetpub\SQLReplication.
Copiare replisapi.dll dalla directory dell'unità <drive>:\Programmi\Microsoft SQL Server\nnn\COM\ nella directory di file che hai creato nel passaggio 1.
Registrare replisapi.dll:
Selezionare Start e quindi Esegui. Nella casella Apri immettere cmd e quindi selezionare OK.
Nella directory creata nel passaggio 1 eseguire il comando riportato di seguito:
regsvr32 replisapi.dll
Creare un nuovo sito Web per la replica oppure utilizzare un sito esistente. I componenti di replica accederanno al sito Web durante la sincronizzazione. Le procedure descritte in questo articolo presuppongono il sito Web predefinito. Per ulteriori informazioni sulla creazione di siti Web, vedere la documentazione di IIS.
Creare una directory virtuale in IIS. È consigliabile creare la directory virtuale nel sito Web creato nel passaggio 4 ed eseguirne il mapping alla directory creata nel passaggio 1. È consigliabile applicare le massime restrizioni nell'assegnazione delle autorizzazioni per questa directory. È necessario selezionare almeno autorizzazioni Lettura ed Esecuzione .
In Gestione Internet Information Services (IIS), nel riquadro Connessioni fare clic con il pulsante destro del mouse su Sito Web predefinito, quindi selezionare Aggiungi directory virtuale.
Per Alias immettere
SQLReplication
.Per Percorso fisico immettere <unità>:\Inetpub\SQLReplication\, quindi selezionare OK.
Configurare IIS in modo da consentire l'esecuzione di replisapi.dll.
In Gestione Internet Information Services (IIS) selezionare Sito Web predefinito.
Nel riquadro centrale, selezionare Mappature del gestore.
Nel riquadro Azioni selezionare Aggiungi mapping moduli.
In Percorso richiesta immettere replisapi.dll.
Nell'elenco a discesa Moduloselezionare IsapiModule.
Per Eseguibile immettere
<drive>:\Inetpub\SQLReplication\replisapi.dll
.In Nomeimmettere Replisapi.
Selezionare il pulsante Richiedi restrizioni , selezionare la scheda Accesso e quindi selezionare Esegui.
Selezionare OK per chiudere la finestra di dialogo Restrizioni richieste e quindi selezionare di nuovo OK per chiudere la finestra di dialogo Aggiungi mapping moduli . Quando viene richiesto di consentire l'estensione ISAPI, selezionare Sì per aggiungere l'estensione.
Verificare che Replisapi.dll sia elencato sotto i mapping dei gestori contrassegnati come Abilitato . Se si trova nell'elenco Disabilitato , fare clic con il pulsante destro del mouse sulla voce Replisapi e quindi scegliere Modifica autorizzazioni funzionalità. Selezionare la casella Esegui e quindi selezionare OK.
Configurare l'autenticazione IIS
Quando i computer Sottoscrittori si connettono a IIS, è necessario che vengano autenticati da IIS per poter accedere a risorse e processi. L'autenticazione può essere applicata all'intero sito Web oppure alla directory virtuale creata.
È consigliabile usare l'autenticazione di base con TLS. TLS è necessario indipendentemente dal tipo di autenticazione usato.
Configurazione dell'autenticazione IIS
- In Gestione Internet Information Services (IIS) selezionare Sito Web predefinito.
- Nel riquadro centrale fare doppio clic su Autenticazione.
- Fare clic con il pulsante destro del mouse su Autenticazione anonima, quindi scegliere Disabilita.
- Fare clic con il pulsante destro del mouse su Autenticazione di base, quindi scegliere Abilita.
Configurare Secure Sockets Layer
Per configurare TLS, specificare un certificato che verrà usato dal computer che esegue IIS. La sincronizzazione Web per la replica di tipo merge supporta l'utilizzo di certificati server, ma non di certificati client. Per configurare IIS per la distribuzione, è innanzitutto necessario ottenere un certificato da un'autorità di certificazione. Per ulteriori informazioni sui certificati, vedere la documentazione di IIS.
Dopo l'installazione del certificato, è necessario associare il certificato al sito Web utilizzato nella sincronizzazione Web. Per lo sviluppo e i test, è possibile specificare un certificato autofirmato. Con IIS 7 è possibile creare un certificato e registrarlo nel computer.
La differenza tra la distribuzione per la produzione e le procedure indicate in questo articolo è che nei test di produzione e preproduzione si userebbe un certificato emesso da una CA anziché da un certificato autofirmato.
Importante
Un certificato autofirmato non è consigliato per un'installazione di produzione. I certificati autofirmati non sono sicuri. Utilizzare tali certificati solo ai fini di sviluppo e test.
Per configurare TLS, seguire questa procedura:
- Configurare il sito Web per richiedere TLS e ignorare i certificati client.
- Ottenere un certificato da una CA o creare un certificato autofirmato.
- Associare il certificato al sito Web per la replica.
Richiedi sicurezza SSL per un sito Web
In Gestione Internet Information Services (IIS) espandere il nodo del server locale e quindi selezionare il sito Web predefinito (o il sito di sincronizzazione Web se è diverso dal sito Web predefinito).
Nel riquadro centrale fare doppio clic su Impostazioni SSL.
Selezionare l'opzione Richiedi SSL . In Certificati clientverificare che il pulsante Ignora sia selezionato.
Creare un certificato autofirmato per il test
In Gestione Internet Information Services (IIS) selezionare il nodo del server locale, quindi nel riquadro centrale fare doppio clic su Certificati server.
Nel riquadro Azioni selezionare Crea Self-Signed certificato.
Nella finestra di dialogo Crea Self-Signed certificato immettere un nome per il certificato e quindi selezionare OK.
Associare un certificato a un sito Web
Nel riquadro Connessioni selezionare il sito Web predefinito (o il sito di sincronizzazione Web, se è diverso dal sito Web predefinito).
Nel riquadro Azioni selezionare Associazioni e quindi selezionare Aggiungi. Viene visualizzata la finestra di dialogo Aggiungi associazione sito.
Nell'elenco a discesa Tipo selezionare https. Mantenere le impostazioni predefinite per Indirizzo IP e Porta.
Nell'elenco a discesa Certificato SSL selezionare il certificato creato in "Per creare un certificato autofirmato per il test", selezionare OK e quindi selezionare Chiudi.
Testare il certificato
In Gestione Internet Information Services (IIS) selezionare Sito Web predefinito.
Nel riquadro Azioni selezionare Sfoglia *:443(https).
Internet Explorer si apre e visualizza un messaggio che indica che si è verificato un problema con il certificato di sicurezza del sito Web. Questo avviso indica che il certificato associato non è rilasciato da una CA riconosciuta e potrebbe non essere attendibile. Si tratta di un avviso previsto, quindi selezionare Continua in questo sito Web (scelta non consigliata).
Se viene richiesto di connettersi a localhost, immettere un nome utente e una password per continuare. Dovrebbe venire visualizzata la pagina predefinita del sito Web.
Impostare le autorizzazioni per il listener di replica di SQL Server
Quando un computer sottoscrittore si connette al computer che esegue IIS, viene autenticato mediante il tipo di autenticazione specificato durante la configurazione di IIS. Dopo l'autenticazione dell’abbonato, in IIS viene controllato se l’abbonato è autorizzato a richiamare la replica di SQL Server. Per controllare gli utenti autorizzati a richiamare le replica di SQL Server, è necessario impostare le autorizzazioni per replisapi.dll. La corretta configurazione delle autorizzazioni è fondamentale per impedire l'accesso non autorizzato alla replica di SQL Server.
Per configurare le autorizzazioni minime per l'account sotto il quale viene eseguito il Listener della replica di SQL Server, completare la procedura seguente. I passaggi della procedura seguente si applicano a Windows Server 2008 che esegue IIS 7.0.
Oltre a eseguire i seguenti passaggi, assicurarsi che gli account necessari siano inclusi nell'elenco di accesso alla pubblicazione. Per ulteriori informazioni sul PAL, vedere Proteggi il Publisher.
Importante
L'account creato in questa sezione è l'account che si connette al server di pubblicazione e al server di distribuzione durante la sincronizzazione. È necessario aggiungere questo account come account di accesso SQL nel server di distribuzione e di pubblicazione.
L'account usato per il listener di replica di SQL Server deve disporre delle autorizzazioni come descritto nella sezione "Connettersi al server di pubblicazione o al server di distribuzione" nell'articolo Sicurezza dell'agente di merge .
In breve è necessario che l'account:
- Sii un membro dell'elenco di accesso alla pubblicazione (PAL).
- sia mappato su un login associato a un utente nel database di pubblicazione.
- sia mappato su un login associato a un utente nel database di distribuzione.
- disponga delle autorizzazioni di lettura per la condivisione snapshot.
Configurare l'account e le autorizzazioni
Creare un account locale nel computer che esegue IIS:
Aprire Gestione server. Dal menu Start fare clic con il pulsante destro del mouse su Computer e quindi scegliere Gestisci.
In Gestione serverespandere Configurazione, quindi Utenti e gruppi locali.
Fare clic con il pulsante destro del mouse su Utenti e scegliere Nuovo utente.
Immettere un nome utente e una password complessa. Cancella Obbligo per l'utente di cambiare la password al prossimo accesso.
Selezionare Crea e quindi Chiudi.
Aggiungere l'account al gruppo IIS_IUSRS:
In Server Manager espandere Configurazione, espandere Utenti e gruppi locali e quindi selezionare Gruppi.
Fare clic con il pulsante destro del mouse su IIS_IUSRS e quindi scegliere Aggiungi al gruppo.
Nella finestra di dialogo Proprietà IIS_IUSRS selezionare Aggiungi.
Nella finestra di dialogo Seleziona Utenti, Computer o Gruppi, aggiungi l'account creato nel passaggio 1.
Assicurarsi che nel campo Da questo percorso sia visualizzato il nome del computer locale (non di un dominio). Se questo campo non visualizza il nome del computer locale, selezionare Percorsi. Nella finestra di dialogo Percorsi selezionare il computer locale e quindi selezionare OK.
Nella finestra di dialogo Seleziona utenti e nella finestra di dialogo Proprietà IIS_IUSRS selezionare OK.
Concedere all'account le autorizzazioni minime per la cartella contenente replisapi.dll:
In Esplora risorse, fai clic con il pulsante destro del mouse sulla cartella che hai creato per replisapi.dlle poi seleziona Proprietà.
Nella scheda Sicurezza selezionare Modifica.
Nella finestra di dialogo Autorizzazioni per <nomecartella> selezionare Aggiungi per aggiungere l'account creato nel passaggio 1.
Assicurarsi che nel campo Da questo percorso sia visualizzato il nome del computer locale (non di un dominio). Se questo campo non visualizza il nome del computer locale, selezionare Percorsi. Nella finestra di dialogo Percorsi selezionare il computer locale e quindi selezionare OK.
Verificare che all'account siano concesse soltanto le autorizzazioni Lettura, Lettura ed esecuzione e Visualizzazione contenuto cartella.
Selezionare tutti gli utenti o i gruppi che non richiedono l'accesso alla directory, selezionare Rimuovi e quindi selezionare OK.
Creare un pool di applicazioni in Gestione Internet Information Services (IIS):
In Gestione Internet Information Services (IIS), nel riquadro Connessioni espandere il nodo del server locale.
Fare clic con il pulsante destro del mouse su Pool di applicazioni e quindi scegliere Aggiungi pool di applicazioni.
Immettere un nome per il pool di applicazioni, lasciare i valori predefiniti per i campi rimanenti e quindi selezionare OK.
Se si prevede di utilizzare più di due client di sincronizzazione simultanei, è necessario creare un Web garden. Per altre informazioni, vedere Creazione di un web garden.
Associare l'account al pool di applicazioni:
In Gestione Internet Information Services (IIS) espandere il nodo del server locale e quindi selezionare Pool di applicazioni.
Fare clic con il pulsante destro del mouse sul pool di applicazioni creato e quindi scegliere Imposta valori predefiniti del pool di applicazioni.
Nella finestra di dialogo Impostazioni predefinite pool di applicazioni scorrere verso il basso fino alla sezione Modello di processo e quindi selezionare il campo Identità .
Selezionare il pulsante con i puntini di sospensione a destra della riga Identity.
Fare clic su Account personalizzato e quindi su Imposta.
Nei campi Nome utente e Password immettere l'account e la password creati nel passaggio 1 e quindi selezionare OK.
Selezionare OK per chiudere la finestra di dialogo Identità del pool di applicazioni e quindi selezionare di nuovo OK per chiudere la finestra di dialogo Impostazioni predefinite del pool di applicazioni.
Associare il pool di applicazioni al sito Web di replica:
In Gestione Internet Information Services (IIS) espandere il nodo del server locale e quindi selezionare il sito Web predefinito (o il sito di sincronizzazione Web se è diverso dal sito Web predefinito).
Nel riquadro Azioni , in Gestisci sito Web, selezionare Impostazioni avanzate.
Nella finestra di dialogo Impostazioni avanzate selezionare il pulsante con i puntini di sospensione a destra del pool di applicazioni.
Nell'elenco a discesa Pool di applicazioni selezionare il pool di applicazioni creato nel passaggio 4 e quindi selezionare OK.
Selezionare di nuovo OK per chiudere Impostazioni avanzate.
Testare la connessione a replisapi.dll
Eseguire la sincronizzazione Web in modalità diagnostica per testare la connessione al computer che esegue IIS e verificare la corretta installazione del certificato TLS/SSL. Per eseguire la sincronizzazione Web in modalità diagnostica, è necessario disporre dei privilegi di amministratore sul computer che esegue IIS.
Assicurarsi che le impostazioni per la rete LAN (Local Area Network) nel Sottoscrittore siano corrette:
In Internet Explorer scegliere Opzioni Internet dal menu Strumenti.
Nella scheda Connessioni selezionare IMPOSTAZIONI LAN.
Se un server proxy non viene usato nella LAN, deselezionare Rileva automaticamente le impostazioni e Usa un server proxy per la LAN.
Se viene usato un server proxy, selezionare Usa un server proxy per la RETE LAN e Ignora server proxy per gli indirizzi locali e quindi selezionare OK.
Su Sottoscrittore, in Internet Explorer, connettiti al server in modalità diagnostica apponendo
?diag
all'indirizzo di replisapi.dll. Ad esempio:https://<server.domain.com>/directory/replisapi.dll?diag
.Nell'esempio precedente,
<server.domain.com>
deve essere sostituito con il nome emesso esatto elencato nella sezione Certificati server in Gestione IIS.Se il certificato specificato per IIS non viene riconosciuto dal sistema operativo Windows, verrà visualizzata la finestra di dialogo Avviso di sicurezza . Questo avviso può verificarsi perché il certificato è un certificato di test o il certificato è stato emesso da un'autorità di certificazione (CA) che Windows non riconosce.
Se questa finestra di dialogo non viene visualizzata, assicurarsi che il certificato per il server a cui si accede sia stato aggiunto all'archivio certificati nel Sottoscrittore come certificato attendibile. Per ulteriori informazioni sull'esportazione dei certificati, vedere la documentazione di IIS.
Nella finestra di dialogo Avviso di sicurezza selezionare Visualizza certificato.
Nella scheda Generale della finestra di dialogo Certificato selezionare Installa certificato.
Completare la Guida all'Importazione Certificato, accettando le impostazioni predefinite.
Nella finestra di dialogo Avviso di sicurezza selezionare Sì.
Nella finestra di dialogo di conferma dell'Importazione guidata certificati selezionare OK.
Chiudere la finestra di dialogo Certificato .
Nella finestra di dialogo Avviso di sicurezza selezionare Sì.
I certificati vengono installati per gli utenti. Questo processo deve pertanto essere eseguito per ogni utente che eseguirà la sincronizzazione con IIS.
Nella finestra di dialogo Connetti a <NomeServer>, specifica l'accesso e la password che il Merge Agent userà per connettersi a IIS. Queste credenziali verranno inoltre specificate nella Creazione guidata per la nuova sottoscrizione.
Nella finestra di Internet Explorer denominata informazioni di diagnostica SQL Websync verificare che il valore in ogni colonna Stato della pagina sia
SUCCESS
.Assicurarsi che il certificato sia installato correttamente nel Sottoscrittore:
Chiudere e riaprire Internet Explorer.
Connettersi al server in modalità diagnostica. Se il certificato è installato correttamente, la finestra di dialogo Avviso di sicurezza non viene visualizzata. Se viene visualizzata la finestra di dialogo, l'agente di merge non riesce quando tenta di connettersi al computer che esegue IIS. È necessario assicurarsi che il certificato per il server a cui si accede sia stato aggiunto all'archivio certificati nel Sottoscrittore come certificato attendibile. Per ulteriori informazioni sull'esportazione dei certificati, vedere la documentazione di IIS.