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.
Importante |
---|
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 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).
[Inizio pagina]
Utilizzo di Transact-SQL
Per creare un endpoint del mirroring del database in cui viene utilizzata l'autenticazione di Windows
Connettersi all'istanza di SQL Server in cui si desidera creare un endpoint del mirroring del database.
Dalla barra Standard fare clic su Nuova query.
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
Importante Se per l'istanza del server esiste già un endpoint del mirroring, utilizzarlo per tutte le altre sessioni stabilite nell'istanza del server.
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
Importante 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).
Importante |
---|
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
[Inizio pagina]
Attività correlate
Per configurare un endpoint del mirroring del database
Utilizzare certificati per un endpoint del mirroring del database (Transact-SQL)
Specificare un indirizzo di rete del server (Mirroring del database)
Per visualizzare informazioni sull'endpoint del mirroring del database
[Inizio pagina]
Vedere anche
Riferimento
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)