Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Toto téma popisuje, jak v SQL Serveru vytvořit koncový bod pro zrcadlení databáze, který používá ověřování systému Windows, pomocí jazyka Transact-SQL. Pro podporu zrcadlení databáze nebo skupin dostupnosti AlwaysOn každá instance SQL Server vyžaduje koncový bod zrcadlení databáze. Serverová instance může mít pouze jeden koncový bod pro zrcadlení databáze, který používá jediný port. Koncový bod zrcadlení databáze může při svém vytvoření použít libovolný port, který je k dispozici v místním počítači. Všechny relace zrcadlení databáze na instanci serveru naslouchají na tomto portu a všechna příchozí připojení pro zrcadlení databáze používají tento port.
Important
Pokud existuje koncový bod zrcadlení databáze a už se používá, doporučujeme tento koncový bod použít. Odstranění právě používaného koncového bodu přeruší stávající relace.
V tomto tématu
Než začnete:zabezpečení
Chcete-li vytvořit koncový bod pro zrcadlení databáze, použijte:Transact-SQL
Než začnete
Zabezpečení
Metody ověřování a šifrování instance serveru jsou vytvořeny správcem systému.
Warning
Algoritmus RC4 je zastaralý. Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Doporučujeme používat AES.
Povolení
Vyžaduje oprávnění CREATE ENDPOINT nebo členství v pevné roli serveru sysadmin. Další informace najdete v tématu GRANT Oprávnění koncového bodu (Transact-SQL).
Použití Transact-SQL
Vytvořit koncový bod zrcadlení databáze, který používá ověřování systému Windows
Připojte se k instanci SQL Server, na které chcete vytvořit koncový bod zrcadlení databáze.
Na panelu Standard klikněte na Nový dotaz.
Pomocí následujícího příkazu zjistěte, jestli už existuje koncový bod zrcadlení databáze:
SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints;Important
Pokud pro danou instanci serveru již existuje koncový bod zrcadlení databáze, použijte tento koncový bod pro všechny další relace, které na této instanci serveru vytvoříte.
Pokud chcete použít Transact-SQL k vytvoření koncového bodu pro použití s ověřováním Windows, použijte
CREATE ENDPOINTpříkaz. Příkaz má následující obecný tvar:CREATE ENDPOINT *\<endpointName>* STATE=STARTED AS TCP ( LISTENER_PORT = *\<listenerPortList>* ) FOR DATABASE_MIRRORING ( [ AUTHENTICATION = **WINDOWS** [ *\<authorizationMethod>* ] ] [ [**,**] ENCRYPTION = **REQUIRED** [ ALGORITHM { *\<algorithm>* } ] ] [**,**] ROLE = *\<role>* )Where:
<endpointName> je jedinečný název koncového bodu zrcadlení databáze instance serveru.
SPUŠTĚNO určuje, že má být koncový bod spuštěn a začít naslouchat příchozím připojením. Koncový bod zrcadlení databáze se obvykle vytvoří ve stavu STARTED. Případně můžete zahájit relaci ve stavu „Zastaveno“ (výchozí) nebo ve stavu „Zakázáno“.
<listenerPortList> je jedno číslo portu (nnnn), na kterém má server naslouchat zprávám pro zrcadlení databáze. Je povolen pouze protokol TCP; zadáním jakéhokoli jiného protokolu dojde k chybě.
Číslo portu lze použít pouze jednou na počítačový systém. Koncový bod zrcadlení databáze může při svém vytvoření použít libovolný port, který je k dispozici v místním počítači. K identifikaci portů aktuálně používaných koncovými body PROTOKOLU TCP v systému použijte následující příkaz Transact-SQL:
SELECT name, port FROM sys.tcp_endpoints;Important
Každá instance serveru vyžaduje právě jeden jedinečný naslouchací port.
Pro ověřování Windows je možnost OVĚŘOVÁNÍ nepovinná, pokud nechcete, aby koncový bod k ověřování připojení používal pouze protokol NTLM nebo Kerberos. <authorizationMethod> určuje metodu použitou k ověřování připojení jako jeden z následujících: NTLM, KERBEROS nebo NEGOTIATE. Výchozí hodnota NEGOTIATE způsobí, že koncový bod použije protokol vyjednávání Windows k výběru protokolu NTLM nebo Kerberos. Negociace umožňuje připojení s ověřením nebo bez něj v závislosti na úrovni ověřování protějšího koncového bodu.
Note
Pokud chcete použít ověřování protokolem Kerberos pro komunikaci mezi koncovými body skupiny dostupnosti (AG), zaregistrujte název hlavní služby pro připojení Kerberos pro koncové body zrcadlení databáze používané skupinou dostupnosti.
Šifrování je ve výchozím nastavení nastavené na POVINNÉ. To znamená, že všechna připojení k tomuto koncovému bodu musí používat šifrování. Šifrování ale můžete zakázat nebo ho nastavit jako volitelné v koncovém bodu. Alternativy jsou následující:
Value Definition DISABLED Určuje, že data odesílaná přes připojení nejsou šifrovaná. PODPOROVÁNO Určuje, že data se šifrují pouze v případě, že opačný koncový bod určuje BUĎ PODPOROVANÉ, nebo POVINNÉ. POŽADOVANÝ Určuje, že data odesílaná přes připojení musí být šifrovaná. Pokud koncový bod vyžaduje šifrování, musí mít druhý koncový bod nastavené šifrování na PODPOROVANÉ nebo POVINNÉ.
<algoritmus> poskytuje možnost zadat standardy šifrování pro koncový bod. Hodnota <algoritmu> může být jeden z následujících algoritmů nebo kombinací algoritmů: RC4, AES, AES RC4 nebo RC4 AES.
Algoritmus AES pro koncový bod zrcadlení databáze používá délku 128bitového klíče.
AES RC4 určuje, že tento koncový bod vyjedná pro šifrovací algoritmus a dává přednost algoritmu AES. Analýza RC4 AES určuje, že tento koncový bod bude vyjednávat pro šifrovací algoritmus a dává přednost algoritmu RC4. Pokud oba koncové body určují oba algoritmy, ale v různém pořadí, rozhodující je koncový bod, který připojení přijímá. Poskytněte stejný algoritmus explicitně, abyste se vyhnuli chybám připojení mezi různými servery.
Warning
Algoritmus RC4 je zastaralý. Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Doporučujeme používat AES.
<role> definuje roli nebo role, které může server provádět. ROLE Zadání je povinné. Role koncového bodu je ale relevantní jenom pro zrcadlení databáze. U skupin dostupnosti AlwaysOn se role koncového bodu ignoruje.
Pokud chcete, aby instance serveru fungovala v jedné roli pro jednu relaci zrcadlení databáze a v jiné roli pro jinou relaci, zadejte ROLE=ALL. Chcete-li instanci serveru omezit tak, aby byla buď partnerem, nebo svědkem, zadejte
ROLE = PARTNERneboROLE = WITNESSv uvedeném pořadí.Note
Pro seznam funkcí podporovaných edicí v SQL Server viz Edice a podporované funkce SQL Server 2016.
Úplný popis CREATE ENDPOINT syntaxe najdete v tématu CREATE ENDPOINT (Transact-SQL).
Note
Pokud chcete změnit existující koncový bod, použijte ALTER ENDPOINT (Transact-SQL).
Příklad: Vytváření koncových bodů pro podporu zrcadlení databáze (Transact-SQL)
Následující příklad vytváří koncové body pro zrcadlení databáze pro výchozí instance serverů ve třech samostatných počítačových systémech:
| Role instance serveru | Název hostitelského počítače |
|---|---|
| Partner (původně v hlavní roli) | SQLHOST01\. |
| Partner (původně v zrcadlové roli) | SQLHOST02\. |
| Witness | SQLHOST03\. |
V tomto příkladu všechny tři koncové body používají číslo portu 7022, i když by fungovalo jakékoli dostupné číslo portu. Možnost OVĚŘOVÁNÍ není nutná, protože koncové body používají výchozí typ Windows Ověřování. Možnost ŠIFROVÁNÍ je také nepotřebná, protože koncové body jsou určeny k vyjednání metody ověřování pro připojení, což je výchozí chování pro ověřování Windows. Také všechny koncové body vyžadují šifrování, což je výchozí chování.
Každá instance serveru může sloužit pouze buď jako partner, nebo jako svědek, a koncový bod každého serveru výslovně určuje, která role to je (ROLE=PARTNER nebo ROLE=WITNESS).
Important
Každá instance serveru může mít pouze jeden koncový bod. Proto pokud chcete, aby instance serveru byla partnerem v některých relacích a svědkem v jiných, zadejte 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
Související úkoly
Konfigurace koncového bodu zrcadlení databáze
Použití certifikátů pro koncový bod zrcadlení databáze (Transact-SQL)
Zadání adresy URL koncového bodu při přidávání nebo úpravě repliky dostupnosti (SQL Server)
Pro zobrazení informací o koncovém bodu zrcadlení databáze
-
sys.database_mirroring_endpoints (Transact-SQL)
Viz také
ALTER ENDPOINT (Transact-SQL)
Volba šifrovacího algoritmu
CREATE ENDPOINT (Transact-SQL)
Zadání síťové adresy serveru (zrcadlení databáze)
Příklad: Nastavení zrcadlení databáze pomocí ověřování systému Windows (Transact-SQL)
Koncový bod zrcadlení databáze (SQL Server)