Creare un endpoint del mirroring del database per l'autenticazione Windows (Transact-SQL)

In questo argomento si illustra come creare un endpoint del mirroring del database in cui si utilizza l'autenticazione di Windows in SQL Server 2012 tramite Transact-SQL. Per supportare il mirroring del database o Gruppi di disponibilità AlwaysOn, per ogni istanza di SQL Server è necessario un endpoint del mirroring del database. In un'istanza del server può essere incluso uno solo di questo tipo di endpoint, che a sua volta dispone di una sola porta. Un endpoint del mirroring del database può utilizzare qualsiasi porta disponibile nel sistema locale al momento della creazione dell'endpoint. Tutte le sessioni di mirroring del database in un'istanza del server sono in attesa su quella porta, che viene utilizzata anche per tutte le connessioni in ingresso per il mirroring del database.

Nota importanteImportante

Se un endpoint del mirroring del database è presente e già in uso, è consigliabile utilizzare quello. L'eliminazione di un endpoint in uso determina la chiusura delle sessioni esistenti.

Contenuto dell'argomento

  • Prima di iniziare:  Sicurezza

  • Per creare un endpoint del mirroring del database utilizzando:  Transact-SQL

Prima di iniziare

Sicurezza

I metodi di autenticazione e crittografia dell'istanza del server sono stabiliti dall'amministratore di sistema.

Nota sulla sicurezzaNota sulla sicurezza

L'algoritmo RC4 è deprecato. Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Non utilizzare questa funzionalità in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata. È consigliabile utilizzare AES.

Autorizzazioni

È richiesta l'autorizzazione CREATE ENDPOINT o l'appartenenza al ruolo predefinito del server sysadmin. Per ulteriori informazioni, vedere GRANT - autorizzazioni per endpoint (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Utilizzo di Transact-SQL

Per creare un endpoint del mirroring del database in cui viene utilizzata l'autenticazione di Windows

  1. Connettersi all'istanza di SQL Server in cui si desidera creare un endpoint del mirroring del database.

  2. Dalla barra Standard fare clic su Nuova query.

  3. Per determinare se esiste già un endpoint del mirroring del database, utilizzare l'istruzione seguente:

    SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints 
    
    Nota importanteImportante

    Se per l'istanza del server esiste già un endpoint del mirroring, utilizzarlo per tutte le altre sessioni stabilite nell'istanza del server.

  4. Per creare un endpoint utilizzabile con l'autenticazione di Windows, eseguire un'istruzione Transact-SQL CREATE ENDPOINT, Il formato generale dell'istruzione è il seguente:

    CREATE ENDPOINT <endpointName>

        STATE=STARTED

        AS TCP ( LISTENER_PORT = <listenerPortList> )

        FOR DATABASE_MIRRORING

        (

            [ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

            ]

            [ [,] ENCRYPTION = REQUIRED

                    [ ALGORITHM { <algorithm> } ]

            ]

            [,] ROLE = <role>

        )

    dove

    • <endpointName> è un nome univoco per l'endpoint del mirroring del database dell'istanza del server.

    • STARTED indica che l'endpoint deve essere avviato e deve rimanere in attesa delle connessioni. Lo stato di un endpoint del mirroring del database creato è in genere STARTED. In alternativa, è possibile avviare una sessione nello stato STOPPED (impostazione predefinita) o DISABLED.

    • <listenerPortList> è un solo numero di porta (nnnn) su cui si desidera che il server riceva i messaggi di mirroring del database. È consentito solo il protocollo TCP. Tutti gli altri protocolli restituiranno un errore.

      È possibile utilizzare un numero di porta una sola volta per ciascun computer. Un endpoint del mirroring del database può utilizzare qualsiasi porta disponibile nel sistema locale al momento della creazione dell'endpoint. Per identificare le porte attualmente utilizzate dagli endpoint TCP nel sistema, utilizzare l'istruzione Transact-SQL seguente:

      SELECT name, port FROM sys.tcp_endpoints
      
      Nota importanteImportante

      In ogni istanza del server è necessaria un'unica porta di attesa univoca.

    • Per l'autenticazione di Windows, l'opzione AUTHENTICATION è facoltativa, a meno che non si desideri che l'endpoint utilizzi solo NTLM o Kerberos per autenticare connessioni. Attraverso <authorizationMethod> viene specificato il metodo utilizzato per autenticare connessioni come uno del seguente: NTLM, Kerberos o Negozia. Con il metodo predefinito NEGOTIATE l'endpoint utilizzerà il protocollo di negoziazione di Windows per scegliere tra NTLM e Kerberos. La negoziazione consente di utilizzare le connessioni con o senza autenticazione, a seconda del livello di autenticazione dell'endpoint opposto.

    • Per impostazione predefinita, ENCRYPTION è impostato su REQUIRED, pertanto verrà utilizzata la crittografia per tutte le connessioni a questo endpoint. È tuttavia possibile disabilitare la crittografia o renderla facoltativa in un endpoint. Sono disponibili le alternative seguenti:

      Valore

      Definizione

      DISABLED

      Specifica che i dati inviati tramite una connessione non sono crittografati.

      SUPPORTED

      Specifica che i dati vengono crittografati solo se per l'endpoint opposto è stato specificata l'opzione SUPPORTED o REQUIRED.

      REQUIRED

      Specifica che i dati inviati tramite una connessione devono essere crittografati.

      Se è necessaria la crittografia per un endpoint, ENCRYPTION deve essere impostato su SUPPORTED o REQUIRED nell'altro endpoint.

    • Attraverso <algorithm> è possibile specificare gli standard di crittografia per l'endpoint. Il valore di <algorithm> può essere uno degli algoritmi o delle combinazioni di algoritmi seguenti: RC4, AES, AES RC4 o RC4 AES.

      AES RC4 indica che questo endpoint negozierà l'algoritmo di crittografia, dando la preferenza a quello AES. RC4 AES indica che questo endpoint negozierà l'algoritmo di crittografia, dando la preferenza all'algoritmo RC4. Se in entrambi gli endpoint sono specificati entrambi gli algoritmi, ma con un ordine diverso, l'algoritmo verrà definito dall'endpoint da cui viene accettata la connessione.

      [!NOTA]

      L'algoritmo RC4 è deprecato. Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Non utilizzare questa funzionalità in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata. È consigliabile utilizzare AES.

    • Attraverso <role> è possibile definire i ruoli eseguibili tramite il server. Il valore di ROLE deve essere specificato. Tuttavia, il ruolo dell'endpoint è rilevante solo per il mirroring del database. Per Gruppi di disponibilità AlwaysOn, viene ignorato il ruolo dell'endpoint.

      Per consentire a un'istanza del server di utilizzare un ruolo per una sessione di mirroring del database e un altro ruolo per un'altra sessione, specificare ROLE=ALL. Per limitare un'istanza del server in modo che funga da partner o da server di controllo del mirroring, specificare rispettivamente ROLE=PARTNER o ROLE=WITNESS.

      [!NOTA]

      Per ulteriori informazioni sulle opzioni del mirroring del database per le diverse edizioni di SQL Server, vedere Funzionalità supportate dalle edizioni di SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

    Per una descrizione completa della sintassi di CREATE ENDPOINT, vedere CREATE ENDPOINT (Transact-SQL).

    [!NOTA]

    Per modificare un endpoint esistente, utilizzare ALTER ENDPOINT (Transact-SQL).

Esempio: Creazione di endpoint per supportare il mirroring del database (Transact-SQL)

Nell'esempio seguente si creano endpoint del mirroring del database per le istanze del server predefinite in tre sistemi di computer distinti:

Ruolo dell'istanza del server

Nome del computer host

Partner (inizialmente nel ruolo principale)

SQLHOST01\.

Partner (inizialmente nel ruolo mirror)

SQLHOST02\.

Server di controllo

SQLHOST03\.

Nell'esempio tutti e tre gli endpoint utilizzano la porta numero 7022, anche se qualunque numero di porta disponibile sarebbe utilizzabile. L'opzione AUTHENTICATION non è necessaria, in quanto gli endpoint utilizzano il tipo predefinito, autenticazione di Windows. L'opzione ENCRYPTION è anch'essa superflua, in quanto gli endpoint sono tutti progettati per negoziare il metodo di autenticazione per una connessione, che rappresenta il comportamento predefinito per autenticazione di Windows. Inoltre, tutti gli endpoint richiedono la crittografia, che rappresenta il comportamento predefinito.

Ogni istanza del server è limitata a fungere da partner o da server di controllo e l'endpoint di ogni server specifica espressamente il ruolo (ROLE=PARTNER o ROLE=WITNESS).

Nota importanteImportante

Ogni istanza del server può includere un solo endpoint. Pertanto, se si desidera che un'istanza del server sia partner in alcune sessioni e server di controllo in altre, specificare ROLE=ALL.

--Endpoint for initial principal server instance, which
--is the only server instance running on SQLHOST01.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for initial mirror server instance, which
--is the only server instance running on SQLHOST02.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for witness server instance, which
--is the only server instance running on SQLHOST03.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=WITNESS);
GO

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Attività correlate

Per configurare un endpoint del mirroring del database

Per visualizzare informazioni sull'endpoint del mirroring del database

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Vedere anche

Riferimento

ALTER ENDPOINT (Transact-SQL)

CREATE ENDPOINT (Transact-SQL)

Concetti

Scelta di un algoritmo di crittografia

Specificare un indirizzo di rete del server (Mirroring del database)

Esempio: Impostazione del mirroring del database tramite l'autenticazione di Windows (Transact-SQL)

Endpoint del mirroring del database (SQL Server)