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:Azure SQL Managed Instance
Tento článek popisuje osvědčené postupy při použití odkazu spravované instance k replikaci dat mezi spravovanou instancí Azure SQL a instancemi SQL Serveru hostovanými kdekoli a poskytuje replikaci dat téměř v reálném čase mezi propojenými replikami.
Pravidelné zálohování protokolů
Pokud je SQL Server vaším počátečním primárním serverem, je důležité po dokončení počátečního počátečního počátečního zazálohování provést první zálohu protokolu na SQL Serveru, pokud už databáze není ve stavu Obnovení... ve službě Azure SQL Managed Instance. Pak pravidelně zálohujte transakční protokol SQL Serveru, aby se zachovala velikost souboru transakčního protokolu, který je v pořádku, zatímco SQL Server je v primární roli.
Funkce propojení replikuje data pomocí technologie distribuovaných skupin dostupnosti na základě skupin dostupnosti AlwaysOn. Replikace dat s distribuovanými skupinami dostupnosti je založená na replikaci záznamů transakčního protokolu. Z databáze v primární instanci SQL Serveru nelze zkrátit žádné záznamy transakčního protokolu, dokud nebudou replikovány do databáze na sekundární replice. Pokud je replikace záznamů transakčního protokolu pomalá nebo blokovaná kvůli problémům se síťovým připojením, soubor protokolu stále roste na primární instanci. Rychlost růstu závisí na intenzitě úloh a rychlosti sítě. Pokud dojde k delšímu výpadku síťového připojení a vysoké zatížení v primární instanci, může soubor protokolu využívat veškerý dostupný prostor úložiště.
Pravidelné zálohování transakčních protokolů zkracuje transakční protokol a minimalizuje riziko výpadku místa v primární instanci SQL Serveru kvůli růstu souboru protokolu. Pokud je spravovaná instance SQL primární instancí, není nutná žádná další akce, protože zálohy protokolů se už provádějí automaticky. Pravidelným zálohováním protokolů na primárním SERVERU SQL Server je databáze odolnější vůči neplánovaným událostem růstu protokolu. Zvažte plánování každodenních úloh zálohování protokolů pomocí úlohy agenta SQL Serveru.
Pomocí skriptu Transact-SQL (T-SQL) můžete zálohovat soubor protokolu, například ukázku uvedenou v této části. Zástupné symboly v ukázkovém skriptu nahraďte názvem databáze, názvem a cestou záložního souboru a popisem.
K zálohování transakčního protokolu použijte následující ukázkový skript jazyka Transact-SQL (T-SQL) na SQL Serveru:
-- Execute on SQL Server
-- Take log backup
BACKUP LOG [<DatabaseName>]
TO DISK = N'<DiskPathandFileName>'
WITH NOFORMAT, NOINIT,
NAME = N'<Description>', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 1
Pomocí následujícího příkazu Jazyka Transact-SQL (T-SQL) zkontrolujte místo v protokolu používaném vaší databází na SQL Serveru:
-- Execute on SQL Server
DBCC SQLPERF(LOGSPACE);
Výstup dotazu vypadá jako v následujícím příkladu ukázkové databáze tpcc:
V tomto příkladu databáze používala 76 % dostupného protokolu s absolutní velikostí souboru protokolu přibližně 27 GB (27 971 MB). Prahové hodnoty pro akci se liší v závislosti na vaší úloze. V předchozím příkladu je velikost transakčního protokolu a procento použití protokolu obvykle indikací, že byste měli provést zálohu transakčního protokolu, abyste zkrátili soubor protokolu a uvolnili nějaké místo, nebo byste měli provádět častější zálohování protokolů. Může to také značit, že zkrácení transakčního protokolu je blokováno otevřenými transakcemi. Další informace o řešení potíží s transakčním protokolem na SQL Serveru najdete v tématu Řešení potíží s úplným transakčním protokolem (chyba SQL Serveru 9002). Další informace o řešení potíží s transakčním protokolem ve službě Azure SQL Managed Instance najdete v tématu Řešení chyb transakčního protokolu pomocí služby Azure SQL Managed Instance.
Poznámka:
Při účasti na propojení se automatizované úplné zálohování protokolů transakcí a záloh transakčních protokolů přebírá ze služby SQL Managed Instance bez ohledu na to, jestli se jedná o primární repliku. Rozdílové zálohy se nevybíjí, což může vést k delší době obnovení.
Shoda s kapacitou výkonu mezi replikami
Pokud používáte funkci propojení, je důležité shodovat kapacitu výkonu mezi SQL Serverem a službou SQL Managed Instance, aby se zabránilo problémům s výkonem, pokud sekundární replika nemůže držet krok s replikací z primární repliky nebo po převzetí služeb při selhání. Kapacita výkonu zahrnuje jádra procesoru (nebo virtuální jádra v Azure), paměť a propustnost vstupně-výstupních operací.
Můžete zkontrolovat výkon replikace s velikostí fronty opakování na sekundární replice. Velikost fronty znovu označuje počet záznamů protokolu, které čekají na opětovné spuštění sekundární repliky. Konzistentně vysoká velikost fronty znovu značí, že sekundární replika nemůže držet krok s primární replikou. Velikost fronty znovu můžete zkontrolovat následujícími způsoby:
- Hodnota
redo_queue_sizev zobrazení dynamické správy sys.dm_hadr_database_replica_states na primární replice. - Hodnota
InstanceRedoLagReplicationSecondsGet-AzSqlInstanceLink na primární replice.
Pokud je velikost fronty znovu konzistentně vysoká, zvažte zvýšení prostředků na sekundární replice.
Obměna certifikátu
Možná budete muset certifikát použitý k zabezpečení koncového bodu zrcadlení databáze na SQL Serveru ručně otočit. Vzhledem k tomu, že certifikát použitý k zabezpečení koncového bodu zrcadlení databáze ve službě SQL Managed Instance je spravován službou a automaticky se obměňuje, nemusíte ho ručně otáčet sami.
SQL Server
Certifikát, který používáte k zabezpečení koncového bodu zrcadlení databáze na SQL Serveru, může vypršet, což může vést ke snížení výkonu propojení. Pokud chcete tomuto problému zabránit, otočte certifikát před vypršením jeho platnosti.
Pomocí následujícího příkazu Transact-SQL (T-SQL) zkontrolujte datum vypršení platnosti aktuálního certifikátu:
-- Run on SQL Server
USE MASTER
GO
SELECT * FROM sys.certificates WHERE pvt_key_encryption_type = 'MK'
Pokud platnost vašeho certifikátu brzy vyprší nebo už vypršela, můžete vytvořit nový certifikát a pak změnit existující koncový bod tak, aby nahradil aktuální certifikát.
Jakmile je koncový bod nakonfigurovaný tak, aby používal nový certifikát, můžete certifikát s vypršenou platností odstranit .
SQL Managed Instance
Certifikát koncového bodu zrcadlení databáze ve službě SQL Managed Instance se pravidelně obměňuje. Monitorování data vypršení platnosti certifikátu koncového bodu zrcadlení databáze ve službě SQL Managed Instance není nutné, pokud můžete úspěšně ověřit řetěz certifikátů na SQL Serveru .
Ověření řetězu certifikátů na SQL Serveru
Poznámka:
Řetěz certifikátů by se měl pravidelně ověřovat u existujících propojení nebo řešit problémy s degradovaným propojením. Tuto část přeskočte, pokud konfigurujete nový odkaz nebo jste nedávno dokončili kroky v částech Získání veřejného klíče certifikátu ze služby SQL Managed Instance a importujte ho do SQL Serveru a import klíčů kořenové autority důvěryhodných kořenových certifikátů Azure do SQL Serveru.
Problémy s řetězem certifikátů můžou odkaz snížit. Pokud chcete tomuto problému zabránit, pravidelně ověřte řetěz certifikátů na SQL Serveru .
Následující scénáře můžou způsobit problémy s řetězem certifikátů na SQL Serveru:
- Plánovaná obměně certifikátů ve službě SQL Managed Instance
- Neúmyslné nebo náhodné změny certifikátů na SQL Serveru, například vyřazení nebo změna certifikátu použitého k zabezpečení koncového bodu zrcadlení databáze.
Nejprve určete certificate_id pro importovaný certifikát koncového bodu MI tím, že nahradíte hodnotu <ManagedInstanceFQDN> a poté spusťte následující dotaz na SQL Server:
-- Run on SQL Server
USE master
SELECT name, subject, certificate_id, start_date, expiry_date
FROM sys.certificates
WHERE issuer_name LIKE '%Microsoft Corporation%' AND name = '<ManagedInstanceFQDN>'
GO
Potom ověřte certifikát nahrazením hodnoty <certificate_id> z výsledku předchozího dotazu a spuštěním následujícího dotazu na SQL Serveru:
-- Run on SQL Server
USE master
EXEC sp_validate_certificate_ca_chain <certificate_id>
GO
Odpověď Commands completed successfully. Completion time: ... značí, že certifikát koncového bodu MI byl úspěšně ověřen.
Důležité
Uložená procedura sp_validate_certificate_ca_chain spoléhá na hostitelské služby operačního systému k ověření certifikátu, což může zahrnovat online kontrolu odvolání certifikátu. Pokud hostitelský operační systém není nakonfigurovaný pro přístup k internetu, spuštění selže i v případě, že je řetěz certifikátů platný.
Pokud dojde k chybě, nejspolehlivějším řešením je obnovení řetězu certifikátů tím, že nejprve odstraníte všechny certifikáty vytvořené v sekcích Získání veřejného klíče certifikátu ze služby SQL Managed Instance a jeho import do SQL Serveru a Import klíčů kořenové certifikační autority důvěryhodné společností Azure do SQL Serveru, a poté je znovu naimportujete.
Přidání příznaků trasování po spuštění
Na SQL Serveru existují dva příznaky trasování (-T1800 a -T9567), které při přidání jako spouštěcí parametry mohou optimalizovat výkon replikace dat prostřednictvím propojení. Další informace najdete v tématu Povolení příznaků trasování po spuštění.
Související obsah
Použití odkazu:
- Příprava prostředí pro odkaz na spravovanou instanci
- Konfigurace propojení mezi SQL Serverem a spravovanou instancí SQL pomocí SSMS
- Konfigurace propojení mezi SQL Serverem a spravovanou instancí SQL pomocí skriptů
- Převzetí služeb při selhání propojení
- Migrace pomocí odkazu
- Řešení potíží s odkazem
Další informace o odkazu:
- Přehled odkazu na spravovanou instanci
- Zotavení po havárii pomocí odkazu na spravovanou instanci
- osvědčené postupy pro údržbu odkazu
V případě jiných scénářů replikace a migrace zvažte následující: