Creare un endpoint del mirroring del database per l'autenticazione Windows (Transact-SQL)Create a Database Mirroring Endpoint for Windows Authentication (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 2017SQL Server 2017 tramite Transact-SQLTransact-SQL.This topic describes how to create a database mirroring endpoint that uses Windows Authentication in SQL Server 2017SQL Server 2017 by using Transact-SQLTransact-SQL. Per supportare il mirroring del database o Gruppi di disponibilità Always OnAlways On availability groups , per ogni istanza di SQL ServerSQL Server è necessario un endpoint del mirroring del database.To support database mirroring or Gruppi di disponibilità Always OnAlways On availability groups each instance of SQL ServerSQL Server requires a database mirroring endpoint. In un'istanza del server può essere incluso uno solo di questo tipo di endpoint, che a sua volta dispone di una sola porta.A server instance can have only one database mirroring endpoint, which has a single port. Un endpoint del mirroring del database può utilizzare qualsiasi porta disponibile nel sistema locale al momento della creazione dell'endpoint.A database mirroring endpoint can use any port that is available on the local system when the endpoint is created. 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.All database mirroring sessions on a server instance listen on that port, and all incoming connections for database mirroring use that port.

Importante

Se un endpoint del mirroring del database è presente e già in uso, è consigliabile utilizzare quello.If a database mirroring endpoint exists and is already in use, we recommend that you use that endpoint. L'eliminazione di un endpoint in uso determina la chiusura delle sessioni esistenti.Dropping an in-use endpoint disrupts existing sessions.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Sicurezza Security

I metodi di autenticazione e crittografia dell'istanza del server sono stabiliti dall'amministratore di sistema.The authentication and encryption methods of the server instance are established by the system administrator.

Importante

L'algoritmo RC4 è deprecato.The RC4 algorithm is deprecated. Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Non usare questa funzionalità in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. È consigliabile utilizzare AES. We recommend that you use AES.

Autorizzazioni Permissions

È richiesta l'autorizzazione CREATE ENDPOINT o l'appartenenza al ruolo predefinito del server sysadmin.Requires CREATE ENDPOINT permission, or membership in the sysadmin fixed server role. Per altre informazioni, vedere GRANT - autorizzazioni per endpoint (Transact-SQL).For more information, see GRANT Endpoint Permissions (Transact-SQL).

Utilizzo di Transact-SQL Using Transact-SQL

Per creare un endpoint del mirroring del database in cui viene utilizzata l'autenticazione di WindowsTo Create a Database Mirroring Endpoint That Uses Windows Authentication

  1. Connettersi all'istanza di SQL ServerSQL Server in cui si desidera creare un endpoint del mirroring del database.Connect to the instance of SQL ServerSQL Server on which you want to create a database mirroring endpoint.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Per determinare se esiste già un endpoint del mirroring del database, utilizzare l'istruzione seguente:Determine if a database mirroring endpoint already exists by using the following statement:

    SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints;   
    
    Importante

    Se per l'istanza del server esiste già un endpoint del mirroring, utilizzarlo per tutte le altre sessioni stabilite nell'istanza del server.If a database mirroring endpoint already exists for the server instance, use that endpoint for any other sessions you establish on the server instance.

  4. Per creare un endpoint utilizzabile con l'autenticazione di Windows, eseguire un'istruzione Transact-SQL CREATE ENDPOINT,To use Transact-SQL to create an endpoint to use with Windows Authentication, use a CREATE ENDPOINT statement. Il formato generale dell'istruzione è il seguente:The statement takes the following general form:

    CREATE ENDPOINT <endpointName>CREATE ENDPOINT <endpointName>

    STATE=STARTEDSTATE=STARTED

    AS TCP ( LISTENER_PORT = <listenerPortList> )AS TCP ( LISTENER_PORT = <listenerPortList> )

    FOR DATABASE_MIRRORINGFOR DATABASE_MIRRORING

    ((

    [ AUTHENTICATION = WINDOWS [ <authorizationMethod> ][ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

    ]]

    [ [,] ENCRYPTION = REQUIRED[ [,] ENCRYPTION = REQUIRED

    [ ALGORITHM { <algorithm> } ][ ALGORITHM { <algorithm> } ]

    ]]

    [,] ROLE = <role>[,] ROLE = <role>

    ))

    dovewhere

    • <endpointName> è un nome univoco per l'endpoint del mirroring del database dell'istanza del server.<endpointName> is a unique name for the database mirroring endpoint of the server instance.

    • STARTED indica che l'endpoint deve essere avviato e deve rimanere in attesa delle connessioni.STARTED specifies that the endpoint is to be started and to begin listening for connections. Lo stato di un endpoint del mirroring del database creato è in genere STARTED.A database mirroring endpoint typically is created in the STARTED state. In alternativa, è possibile avviare una sessione nello stato STOPPED (impostazione predefinita) o DISABLED.Alternatively, you can start a session in a STOPPED state (the default) or DISABLED state.

    • <listenerPortList> è un solo numero di porta (nnnn) su cui il server deve attendere i messaggi di mirroring del database.<listenerPortList> is a single port number (nnnn) on which you want the server to listen for database mirroring messages. È consentito solo il protocollo TCP. Tutti gli altri protocolli restituiranno un errore.Only TCP is allowed; specifying any other protocol causes an error.

      È possibile utilizzare un numero di porta una sola volta per ciascun computer.A port number can be used only once per computer system. Un endpoint del mirroring del database può utilizzare qualsiasi porta disponibile nel sistema locale al momento della creazione dell'endpoint.A database mirroring endpoint can use any port that is available on the local system when the endpoint is created. Per identificare le porte attualmente utilizzate dagli endpoint TCP nel sistema, utilizzare l'istruzione Transact-SQL seguente:To identify the ports currently being used by TCP endpoints on the system, use the following Transact-SQL statement:

      SELECT name, port FROM sys.tcp_endpoints;  
      
      Importante

      In ogni istanza del server è necessaria un'unica porta di attesa univoca.Each server instance requires one and only one unique listener port.

    • 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.For Windows Authentication, the AUTHENTICATION option is optional, unless you want the endpoint to use only NTLM or Kerberos to authenticate connections. <authorizationMethod> specifica il metodo usato per autenticare le connessioni come NTLM, KERBEROS o NEGOTIATE.<authorizationMethod> specifies the method used to authenticate connections as one of the following: NTLM, KERBEROS, or NEGOTIATE. Con il metodo predefinito NEGOTIATE l'endpoint utilizzerà il protocollo di negoziazione di Windows per scegliere tra NTLM e Kerberos.The default, NEGOTIATE, causes the endpoint to use the Windows negotiation protocol to choose either NTLM or Kerberos. La negoziazione consente di utilizzare le connessioni con o senza autenticazione, a seconda del livello di autenticazione dell'endpoint opposto.Negotiation enables connections with or without authentication, depending on the authentication level of the opposite endpoint.

    • Per impostazione predefinita, ENCRYPTION è impostato su REQUIRED,ENCRYPTION is set to REQUIRED by default. pertanto verrà utilizzata la crittografia per tutte le connessioni a questo endpoint.This means that all connections to this endpoint must use encryption. È tuttavia possibile disabilitare la crittografia o renderla facoltativa in un endpoint.However, you can disable encryption or make it optional on an endpoint. Sono disponibili le alternative seguenti:The alternatives are as follows:

      ValoreValue DefinizioneDefinition
      DISABLEDDISABLED Specifica che i dati inviati tramite una connessione non vengano crittografati.Specifies that data sent over a connection is not encrypted.
      SUPPORTEDSUPPORTED Specifica che i dati vengano crittografati solo se per l'endpoint opposto è stato specificato SUPPORTED o REQUIRED.Specifies that the data is encrypted only if the opposite endpoint specifies either SUPPORTED or REQUIRED.
      REQUIREDREQUIRED Specifica che i dati inviati tramite una connessione devono essere crittografati.Specifies that data sent over a connection must be encrypted.

      Se è necessaria la crittografia per un endpoint, ENCRYPTION deve essere impostato su SUPPORTED o REQUIRED nell'altro endpoint.If an endpoint requires encryption, the other endpoint must have ENCRYPTION set to either SUPPORTED or REQUIRED.

    • <algorithm> consente di specificare gli standard di crittografia per l'endpoint.<algorithm> provides the option of specifying the encryption standards for the endpoint. Il valore di <algorithm> può essere uno degli algoritmi o delle combinazioni di algoritmi seguenti: RC4, AES, AES RC4 o RC4 AES.The value of <algorithm> can be one following algorithms or combinations of algorithms: RC4, AES, AES RC4, or RC4 AES.

      AES RC4 indica che questo endpoint negozierà l'algoritmo di crittografia, dando la preferenza a quello AES.AES RC4 specifies that this endpoint will negotiate for the encryption algorithm, giving preference to the AES algorithm. RC4 AES indica che questo endpoint negozierà l'algoritmo di crittografia, dando la preferenza all'algoritmo RC4.RC4 AES specifies that this endpoint will negotiate for the encryption algorithm, giving preference to the RC4 algorithm. Se i due endpoint specificano entrambi gli algoritmi, ma con un ordine diverso, l'algoritmo verrà definito dall'endpoint che accetta la connessione.If both endpoints specify both algorithms but in different orders, the endpoint accepting the connection wins.

      Nota

      L'algoritmo RC4 è deprecato.The RC4 algorithm is deprecated. Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Non usare questa funzionalità in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. È consigliabile utilizzare AES. We recommend that you use AES.

    • <role> definisce il ruolo o i ruoli che il server può eseguire.<role> defines the role or roles that the server can perform. Il valore di ROLE deve essere specificato.Specifying ROLE is required. Tuttavia, il ruolo dell'endpoint è rilevante solo per il mirroring del database.However, the role of the endpoint is relevant only for database mirroring. Per Gruppi di disponibilità Always OnAlways On availability groups, viene ignorato il ruolo dell'endpoint.For Gruppi di disponibilità Always OnAlways On availability groups, the role of the endpoint is ignored.

      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.To allow a server instance to serve as one role for one database mirroring session and different role for another session, specify 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.To restrict a server instance to being either a partner or a witness, specify ROLE=PARTNER or ROLE=WITNESS, respectively.

      Nota

      Per altre informazioni sulle opzioni del mirroring del database per le diverse edizioni di SQL ServerSQL Server, vedere Funzionalità supportate dalle edizioni di SQL Server 2016.For more information about Database Mirroring options for different editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.

      Per una descrizione completa della sintassi di CREATE ENDPOINT, vedere CREATE ENDPOINT (Transact-SQL).For a complete description of the CREATE ENDPOINT syntax, see CREATE ENDPOINT (Transact-SQL).

    Nota

    Per modificare un endpoint esistente, usare ALTER ENDPOINT (Transact-SQL).To change an existing endpoint, use ALTER ENDPOINT (Transact-SQL).

Esempio: Creazione di endpoint per supportare il mirroring del database (Transact-SQL) Example: Creating Endpoints to Support for Database Mirroring (Transact-SQL)

Nell'esempio seguente si creano endpoint del mirroring del database per le istanze del server predefinite in tre sistemi di computer distinti:The following example creates database mirroring endpoints for the default server instances on three separate computer systems:

Ruolo dell'istanza del serverRole of server instance Nome del computer hostName of host computer
Partner (inizialmente nel ruolo principale)Partner (initially in the principal role) SQLHOST01\.
Partner (inizialmente nel ruolo mirror)Partner (initially in the mirror role) SQLHOST02\.
ControlloWitness SQLHOST03\.

Nell'esempio tutti e tre gli endpoint utilizzano la porta numero 7022, anche se qualunque numero di porta disponibile sarebbe utilizzabile.In this example, all three endpoints use port number 7022, though any available port number would work. L'opzione AUTHENTICATION non è necessaria, in quanto gli endpoint utilizzano il tipo predefinito, autenticazione di Windows.The AUTHENTICATION option is unnecessary, because the endpoints use the default type, Windows Authentication. 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.The ENCRYPTION option is also unnecessary, because the endpoints are all intended to negotiate the authentication method for a connection, which is the default behavior for Windows Authentication. Inoltre, tutti gli endpoint richiedono la crittografia, che rappresenta il comportamento predefinito.Also, all of the endpoints require the encryption, which is the default behavior.

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).Each server instance is limited to serving as either a partner or a witness, and the endpoint of each server expressly specifies which role (ROLE=PARTNER or ROLE=WITNESS).

Importante

Ogni istanza del server può includere un solo endpoint.Each server instance can have only one endpoint. Pertanto, se si desidera che un'istanza del server sia partner in alcune sessioni e server di controllo in altre, specificare ROLE=ALL.Therefore, if you want a server instance to be a partner in some sessions and the witness in others, specify 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  

Per configurare un endpoint del mirroring del databaseTo Configure a Database Mirroring Endpoint

Vedere ancheSee Also

ALTER ENDPOINT (Transact-SQL) ALTER ENDPOINT (Transact-SQL)
Scelta di un algoritmo di crittografia Choose an Encryption Algorithm
CREATE ENDPOINT (Transact-SQL) CREATE ENDPOINT (Transact-SQL)
Specificare un indirizzo di rete del server (Mirroring del database) Specify a Server Network Address (Database Mirroring)
Esempio: Impostazione del mirroring del database tramite l'autenticazione di Windows (Transact-SQL) Example: Setting Up Database Mirroring Using Windows Authentication (Transact-SQL)
Endpoint del mirroring del database (SQL Server)The Database Mirroring Endpoint (SQL Server)