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
Upozornění
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í. Pro zajištění vysoké dostupnosti místo toho použijte skupiny dostupnosti AlwaysOn.
Důležité
Zrcadlení databáze v SQL Serveru je odlišná technologie od zrcadlení databáze Microsoft Fabric. Zrcadlení do prostředí Fabric poskytuje lepší analytický výkon, možnost sjednocení datového úložiště pomocí OneLake ve Fabric a otevřený přístup k datům ve formátu Delta Parquet.
Díky zrcadlení do Microsoft Fabric můžete neustále replikovat stávající datovou infrastrukturu přímo do OneLake ve Fabric, včetně dat ze SQL Serveru 2016+, Azure SQL Database, Azure SQL Managed Instance, Cosmos DB, Oracle, Snowflake a dalších.
Aby bylo možné nastavit svědka pro databázi, vlastník databáze přiřadí instanci databázového stroje k roli svědeckého serveru. Instance serveru svědka může běžet na stejném počítači jako instance hlavního nebo zrcadlového serveru, ale podstatně snižuje odolnost automatického převzetí při selhání.
Důrazně doporučujeme, aby svědek byl umístěn na samostatném počítači. Daný server se může účastnit více souběžných relací zrcadlení databáze se stejnými nebo různými partnery. Daný server může být partnerem v některých relacích a svědkem v jiných relacích.
Svědek je určený výhradně pro vysoce bezpečný režim s automatickým přepnutím při selhání. Před nastavením svědka důrazně doporučujeme ujistit se, že vlastnost SAFETY je momentálně nastavena na hodnotu FULL.
Důležité
Doporučujeme nakonfigurovat zrcadlení databáze v době mimo špičku, protože konfigurace může mít vliv na výkon.
Zřídit svědka
V instanci serveru svědka se ujistěte, že existuje koncový bod pro zrcadlení databáze. Bez ohledu na počet podporovaných relací zrcadlení databáze musí mít instance serveru pouze jeden koncový bod zrcadlení databáze. Pokud chcete tuto instanci serveru používat výhradně jako svědka v relacích zrcadlení databáze, přiřaďte roli svědka koncovému bodu (ROLE**=**WITNESS). Pokud chcete tuto instanci serveru použít jako partnera v jedné nebo více relacích zrcadlení databáze, přiřaďte koncovému bodu roli ALL.
Chcete-li spustit příkaz SET WITNESS, musí být relace zrcadlení databáze již spuštěna (mezi partnery) a stav koncového bodu svědka musí být nastaven na STARTED.
Chcete-li zjistit, zda má instance serveru svědka svůj koncový bod pro zrcadlení databáze a abyste zjistili jeho roli a stav, použijte na této instanci následující příkaz Transact-SQL:
SELECT role_desc, state_desc FROM sys.database_mirroring_endpointsDůležité
Pokud existuje koncový bod zrcadlení databáze a už je používán, doporučujeme tento koncový bod používat pro každou relaci na instanci serveru. Odstranění koncového bodu, který je aktuálně používán, přeruší spojení existujících relací. Pokud byl pro relaci nastaven svědek, může odstranění koncového bodu zrcadlení databáze způsobit, že hlavní server této relace ztratí kvorum; pokud k tomu dojde, databáze se přepne do offline režimu a její uživatelé se odpojí. Další informace najdete v tématu Kvorum: Jak svědek ovlivňuje dostupnost databáze (zrcadlení databáze).
Pokud svědek chybí koncový bod, viz Vytvoření koncového bodu zrcadlení databáze pro ověřování systému Windows (Transact-SQL).
Pokud jsou partnerské instance spuštěné v různých uživatelských účtech domény, vytvořte přihlašovací údaje pro různé účty v hlavní databázi každé instance. Další informace najdete v tématu Povolení síťového přístupu ke koncovému bodu zrcadlení databáze pomocí ověřování systému Windows (SQL Server).
Připojte se k hlavnímu serveru a zadejte následující příkaz:
ALTER DATABASE <database_name> SET WITNESS =<server_network_address>
kde <database_name> je název databáze, která se má zrcadlit (tento název je stejný u obou partnerů) a <server_network_address> je síťová adresa instance serveru svědka.
Syntaxe síťové adresy serveru je následující:
TCP://<system-address>:<port>
kde <systémová adresa> je řetězec, který jednoznačně identifikuje cílový počítačový systém, a <port> je číslo portu, které používá koncový bod zrcadlení instance partnerského serveru. Další informace najdete v tématu Určení síťové adresy serveru (zrcadlení databáze).
Například na instanci hlavního serveru nastaví následující příkaz ALTER DATABASE svědka. Název databáze je AdventureWorks, systémová adresa je DBSERVER3 - název systému svědka a port používaný koncovým bodem zrcadlení databáze systému svědka je
7022:ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://DBSERVER3:7022'
Example
Následující příklad konfiguruje svědka zrcadlení dat. Na instanci svědeckého serveru (výchozí instance na WITNESSHOST4):
Vytvořte koncový bod této instance serveru pouze pro roli WITNESS pomocí portu
7022.CREATE ENDPOINT Endpoint_Mirroring STATE=STARTED AS TCP (LISTENER_PORT=7022) FOR DATABASE_MIRRORING (ROLE=WITNESS) GOVytvořte přihlášení pro uživatelský účet v doméně partnerských instancí, pokud se liší; například předpokládejte, že svědek běží jako
SOMEDOMAIN\witnessuser, ale partneři běží jakoMYDOMAIN\dbousername. Vytvořte pro partnery přihlašovací údaje následujícím způsobem:--Create a login for the partner server instances, --which are both running as MYDOMAIN\dbousername: USE master ; GO CREATE LOGIN [MYDOMAIN\dbousername] FROM WINDOWS ; GO --Grant connect permissions on endpoint to login account --of partners GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [MYDOMAIN\dbousername]; GONa každé instanci partnerského serveru vytvořte přihlášení pro instanci svědeckého serveru.
--Create a login for the witness server instance, --which is running as SOMEDOMAIN\witnessuser: USE master ; GO CREATE LOGIN [SOMEDOMAIN\witnessuser] FROM WINDOWS ; GO --Grant connect permissions on endpoint to login account --of partners GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SOMEDOMAIN\witnessuser]; GONa hlavním serveru nastavte svědka (který je na
WITNESSHOST4):ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://WITNESSHOST4:7022' GO
Poznámka:
Síťová adresa serveru označuje cílovou instanci serveru číslem portu, která se mapuje na koncový bod zrcadlení instance.
Úplný příklad znázorňující nastavení zabezpečení, přípravu zrcadlové databáze, nastavení uzlů a přidání svědka najdete v tématu Nastavení zrcadlení databáze (SQL Server).
Viz také
ALTER DATABASE (Transact-SQL)
Povolení síťového přístupu ke koncovému bodu zrcadlení databáze pomocí ověřování systému Windows (SQL Server)
Vytvoření koncového bodu zrcadlení databáze pro ověřování systému Windows (Transact-SQL)
Vytvoření relace zrcadlení databáze pomocí ověřování systému Windows (Transact-SQL)
Odebrání určující kopie z relace zrcadlení databáze (SQL Server)
Svědek zrcadlení databáze