Sdílet prostřednictvím


Osvědčené postupy pro propojení se spravovanou instancí – Azure SQL Managed Instance

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:

Snímek obrazovky s výsledky příkazu zobrazující velikost souboru protokolu a využité místo

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:

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í.

Použití odkazu:

Další informace o odkazu:

V případě jiných scénářů replikace a migrace zvažte následující: