Řešení potíží při migraci na Azure SQL Managed Instance

Tento článek vám pomůže vyřešit běžné problémy, se kterými se můžete setkat při migraci databází SQL Server do Azure SQL Managed Instance pomocí migrace SQL Server v Azure Arc.

Poznámka:

Svůj názor na prostředí migrace můžete poskytnout přímo produktové skupině.

Verze agenta Arc

Pokud používáte migraci SQL Server v Azure Arc, některé funkce vyžadují minimální verzi agenta Arc. Agent Arc je spustitelný soubor, který běží vedle vaší instance SQL Server a poskytuje připojení k Azure. Vždy udržujte verzi agenta Arc aktuální, abyste získali nejnovější opravy a aktualizace.

Když jsou povolené automatické aktualizace , agent Arc zůstane automaticky aktuální. Když se ale spustí nová verze agenta Arc, může trvat několik dní, než se aktualizace dostane na všechny servery. Proces můžete urychlit manuálně spuštěním aktualizace agenta Arc na vyžádání prostřednictvím Azure portálu nebo rozhraní příkazového řádku.

Pokud se při přístupu k panelu Database migrace v portálu Azure zobrazí následující chyba, musíte aktualizovat svého agenta Azure Arc na podporovanou verzi.

To enable migration and monitoring capabilities, 
please update your Azure Arc agent extension "WindowsAgentSQLServer" to the latest version.

Problémy s agentem Arc

Pokud narazíte na problémy s agentem Arc, jako je nezdravý stav rozšíření nebo odpojená instance SQL Serveru, použijte následující průvodce odstraňováním potíží s rozšířením: Odstraňování potíží s Azure rozšířením pro SQL Server.

Problémy s posouzením připravenosti migrace

Systém spouští hodnocení připravenosti na migraci každou neděli v 11:00 (23:00) místního serveru. Posouzení instancí SQL Server nově zapojených do Azure Arc může trvat několik dní, než se objeví na portálu Azure. K aktivaci posouzení na vyžádání použijte Spustit posouzení. Posouzení se zobrazí po několika minutách.

Pokud je stránka posouzení připravenosti migrace databáze na portálu Azure prázdná, naplánované posouzení se pravděpodobně nespusilo nebo došlo k potížím se spuštěním posouzení v instanci SQL Server. Zakázání agenta Arc zabrání provedení posouzení. Ujistěte se, že je povolený agent Arc. Další informace najdete v tématu Změna nastavení posouzení.

Zvažte následující známý problém:

  • Při povolení a použití xp_cmdshell zaznamenává posouzení upozornění pro SQL Managed Instance, protože databázi můžete migrovat i nadále. Nicméně, naruší funkčnost objektu, který výslovně používá xp_cmdshell. Pokud chcete tento problém zmírnit, použijte pokyny k nápravě uvedené v posouzení.

Pokud narazíte na některý z následujících problémů, kontaktujte podpora Microsoftu:

  • Sestavy posouzení se na portálu nezobrazují ani po naplánovaném čase.
  • Dostupnost dat o výkonu se po jednom týdnu shromažďování dat nezvyšuje.

Zobrazení protokolu aktivit Azure pro problémy s migrací

Protokol aktivit na portálu Azure při přístupu z prostředku poskytuje přehled o událostech na úrovni prostředků, ke kterým dochází v Azure. Tento přehled obsahuje informace o tom, kdy upravujete nebo odstraňujete prostředky, a také podrobnosti o stavu služby a dalších důležitých událostech.

Při řešení potíží s migrací do Azure SQL Managed Instance pomocí migrace SQL Server v Azure Arc je protokol aktivit cenným prostředkem k identifikaci problémů a pochopení posloupnosti událostí, které vedly k problému.

Pokud chcete získat přístup k protokolu aktivit na portálu Azure pro vaši instanci SQL Server povolenou Azure Arc prostředkem, postupujte takto:

  1. Přejděte na svou instanci SQL Serveru povolenou prostředkem Azure Arc na portálu Azure.

  2. V nabídce prostředků vyberte protokol aktivit :

    Screenshot zvýrazněného protokolu aktivit pro prostředek instance SQL Server na portálu Azure.

Můžete také získat přístup k protokolu aktivit na úrovni předplatného pro širší zobrazení událostí ve všech prostředcích ve vašem předplatném tak, že vyberete ikonu zvonku oznámení v horním navigačním panelu a pak vyberete Další události v protokolu aktivit:

Snímek obrazovky se zvýrazněnou ikonou zvonku oznámení na portálu Azure.

Výběrem události z protokolu aktivit otevřete podokno podrobností události. Pomocí karet Souhrn a JSON můžete zobrazit podrobné informace o události, včetně konkrétních chybových zpráv. Pokud vytvoříte žádost o podporu, sdělte tyto informace co nejvíce podrobnostem.

Nové databáze nejsou dostupné na portálu Azure

Nedávno přidané databáze do vaší instance SQL Server nemusí být při pokusu o výběr databází pro migraci okamžitě viditelné na portálu Azure. Důvodem je, že automatické aktualizace seznamu databází agentem Arc trvá přibližně hodinu.

Pokud chcete tento problém vyřešit, můžete službu Arc restartovat, aby se aktivovala okamžitá aktualizace seznamu databází.

Na Windows použijte následující příkaz na příkazovém řádku se zvýšenými oprávněními na serveru, který je hostitelem vaší instance SQL Server:

Restart-Service himds
Restart-Service gcarcservice
Restart-Service extensionservice

Počkejte, až se služby restartují, a pomocí následujícího příkazu ověřte, že je služba spuštěná pomocí následujícího příkazu:

& "$env:ProgramW6432\AzureConnectedMachineAgent\azcmagent.exe" show

Na serverech s Linuxem použijte v terminálu se zvýšenými oprávněními následující příkaz:

sudo systemctl restart himdsd
sudo systemctl restart gcad
sudo systemctl restart extd

Počkejte, až se služby restartují, a pomocí následujícího příkazu ověřte, že je služba spuštěná pomocí následujícího příkazu:

azcmagent show

Přejděte na stránku Databases na portálu Azure pro vaši instanci SQL Server a vyberte Refresh a zobrazte nově přidané databáze. Nyní můžete vybrat tyto nové databáze pro migraci.

Tato část popisuje některé běžné problémy s funkcí propojení Managed Instance při migraci na Azure SQL Managed Instance prostřednictvím migrace SQL Server v Azure Arc:

Nainstalována nesprávná aktualizace Service Pack

Ujistěte se, že máte nainstalovanou appropriate SQL Server Service Pack (SP) nebo kumulativní aktualizaci (CU).

Správnou verzi můžete zkontrolovat spuštěním následujícího příkazu T-SQL ve vaší instanci SQL Server:

EXEC sp_certificate_add_issuer @CERTID, N'*.database.windows.net'

Pokud se zobrazí chyba, že SQL Server nemůžete najít uloženou proceduru sp_certificate_add_issuer, pravděpodobně nemáte nainstalovanou správnou sadu Servicing Pack (například sadu funkcí Azure Connect). Nainstalujte potřebné servisní aktualizace a zkuste to znovu.

Funkce skupiny dostupnosti AlwaysOn je zakázaná

Ujistěte se, že je ve vaší instanci SQL Server povolená funkce Always On availability Group. Pro správnou funkčnost odkaz Managed Instance vyžaduje, aby byla povolena funkce skupiny dostupnosti Always On.

Použití SQL Server 2016

Pro SQL Server 2016 (13.x) musíte provést dodatečné kroky zdokumentované v Přípravě předpokladů SQL Server 2016 pro odkaz. Tyto další kroky nejsou vyžadovány pro SQL Server 2017 (14.x) a novější verze podporované odkazem.

Problémy se síťovým připojením

Úspěšné připojení mezi prostředím SQL Server a Azure SQL Managed Instance je nezbytné, aby funkce propojení Managed Instance fungovala. Pokud máte problémy s připojením k síti, zvažte následující body:

  • Propojení Managed Instance nefunguje přes veřejnou síť, takže připojení mezi vaší instancí SQL Server a Azure SQL Managed Instance musí být soukromé, například pomocí sítě VPN.
  • Připojení můžete otestovat přímo z portálu Azure v rámci procesu migrace. Pokud test připojení na portálu proběhne úspěšně, ale odkaz nejde vytvořit, zkontrolujte v protokolu aktivit podrobnosti o selhání. Připojení můžete také testovat ručně pomocí Transact-SQL a SQL Server Agent.
  • Zkontrolujte nějaké firewally ve vaší síti. I když se zdá, že síťové připojení funguje, je možné, aby brány firewall blokovaly konkrétní typ paketů, které SQL Server používají pro distribuované skupiny dostupnosti. Ověřte, že brány firewall neblokují nebo filtrují typy paketů.

Při spuštění úlohy migrace propojení „Managed Instance“ se můžou zobrazit následující upozornění. Migraci můžete pokračovat i přes tato upozornění:

  • Warning: Database Mirroring Endpoint does not exist
  • Warning: Database Mirroring Endpoint is not secure with a certificate
  • Warning: Database Mirroring Endpoint is not enabled
  • Warning: Database Mirroring Endpoint encryption algorithm is not set to AES

Tato upozornění jsou aktuálně známým problémem a proces migrace je automaticky řeší, abyste mohli pokračovat v migraci.

Prozkoumejte další upozornění. Před zahájením migrace můžou některá upozornění vyžadovat řešení, zatímco po dokončení migrace je možné některá vyřešit.

Po restartování serveru po převzetí služeb při selhání propojení se vaše databáze v SQL Managed Instance stane nedostupnou. K tomuto známému problému dochází, když odeberete propojení dříve, než Azure po počátečním převzetí služeb při selhání na SQL Managed Instance dokončí úplnou zálohu databáze.

K tomuto problému vede následující posloupnost událostí:

  1. Vytvoříte propojení mezi SQL Server a SQL Managed Instance.
  2. Propojení SQL Managed Instance převezmete při selhání, takže se stane primární replikou.
  3. Odkaz odstraníte, aniž byste věděli, že Azure po failoveru nedokončil první úplnou zálohu databáze, což je nezbytné k tomu, aby byla databáze v SQL Managed Instance v bezchybném stavu a plně funkční.
  4. Databáze je zpočátku přístupná a dostupná.
  5. Server je restartován například z důvodu údržby, plánovaného přepnutí při selhání nebo neočekávaného výpadku.
  6. Databáze bude po restartování nedostupná na SQL Managed Instance.

Abyste se tomuto problému vyhnuli, počkejte, až Azure po převzetí služeb při selhání dokončí první úplnou zálohu databáze, a teprve potom propojení zrušte. Stav zálohy můžete zkontrolovat dotazem backupset na tabulku v msdb databázi na SQL Managed Instance pomocí následujícího dotazu T-SQL:

SELECT TOP (100)
    DB_NAME(DB_ID(bs.database_name)) AS [Database Name],
    CONVERT (BIGINT, bs.backup_size / 1048576) AS [Uncompressed Backup Size (MB)],
    CONVERT (BIGINT, bs.compressed_backup_size / 1048576) AS [Compressed Backup Size (MB)],
    CONVERT (NUMERIC (20, 2),
    CASE
        WHEN bs.compressed_backup_size > 0
        THEN CONVERT (FLOAT, bs.backup_size) / CONVERT (FLOAT, bs.compressed_backup_size)
        ELSE NULL
    END
    ) AS [Compression Ratio],
    bs.is_copy_only,
    -- bs.user_name, -- Applicable only for user-initiated COPY ONLY backups.
    bs.has_backup_checksums,
    DATEDIFF(SECOND, bs.backup_start_date, bs.backup_finish_date) AS [Backup Elapsed Time (sec)],
    bs.backup_finish_date AS [Backup Finish Date],
    bmf.physical_block_size
FROM msdb.dbo.backupset AS bs WITH (NOLOCK)
     INNER JOIN msdb.dbo.backupmediafamily AS bmf WITH (NOLOCK)
         ON bs.media_set_id = bmf.media_set_id
WHERE bs.[type] = 'D'
    -- AND bs.[is_copy_only] = 1  -- If you want to filter out for user initiated COPY ONLY backups.
ORDER BY bs.backup_finish_date DESC
OPTION (RECOMPILE); -- Optimize for ad hoc execution

Konfigurace odkazu prostřednictvím portálu Azure pro migraci není kompatibilní s existujícími odkazy, které vytvoříte ručně, ať už prostřednictvím SQL Server Management Studio (SSMS) nebo Transact-SQL (T-SQL). Pokud už odkaz existuje, nemůžete vytvořit nový odkaz prostřednictvím portálu Azure.

Pokud již odkaz existuje ve zdroji SQL Server nebo cíli Azure SQL Managed Instance, musíte před vytvořením nového propojení mezi tímto zdrojem a cílem provést následující kroky prostřednictvím portálu Azure:

  1. Odkaz ručně přetáhněte z SQL Managed Instance pomocí příkazu Remove-AzSqlInstanceLink nebo az sql mi link delete z Azure Cloud Shell nebo počítače přihlášeného pomocí kontextu Azure.
  2. Odkaz ručně přetáhněte z SQL Server pomocí DROP AVAILABILITY GROUP názvu distribuované skupiny dostupnosti přidružené k odkazu.
  3. Odstraňte všechny certifikáty související s propojením z instance SQL Server pomocí DROP CERTIFICATE. Certifikáty, které potřebujete odstranit, obvykle obsahují následující hodnoty: DigiKey PKI, Microsoft PKI, endpoint a database.windows.net. Pomocí SELECT * FROM sys.certificates můžete zobrazit seznam všech certifikátů na SQL Server.
  4. Odstraňte všechny certifikáty související s odkazy z SQL Managed Instance pomocí Remove-AzSqlInstanceServerTrustCertificate nebo az sql mi partner-cert delete z Azure Cloud Shell nebo počítače přihlášeného pomocí kontextu Azure. K výpisu existujících ověřovacích certifikátů na SQL Managed Instance můžete použít >Get-AzSqlInstanceServerTrustCertificate nebo az sql mi partner-cert show.
  5. Předchozí kroky vymažou všechny ověřovací certifikáty související s propojením vygenerované pro propojení vytvořené ručně. Pokud nepoužíváte existující skupinu dostupnosti místně, zvažte vyřazení existujícího koncového bodu zrcadlení databáze pomocí DROP ENDPOINT. Pomocí příkazu SELECT * FROM sys.endpoints můžete zobrazit seznam všech existujících koncových bodů na SQL Server. Abyste mohli koncový bod odstranit, musíte certifikát přidružený ke koncovému bodu vypustit.

Podrobné řešení potíží s profilerem XE

Podrobné řešení potíží s odkazy najdete v nástroji XE Profiler.

Problémy s migrací služby protokolu opakovaného přehrávání

Tato část uvádí běžné problémy, se kterými se můžete setkat při migraci pomocí služby LRS (Log Replay Service):

Nelze vypsat adresáře v Azure Blob Storage

Pokud se při výběru adresáře na stránce Unable to list directories na portálu Azure zobrazí chybová zpráva, že když vyberete adresář, jste , uživatel aktuálně přihlášený k portálu nemá přiřazenou roli Storage Blob Data Reader přiřazenou k účtu Storage. Pokud chcete tento problém vyřešit, udělte uživateli přístup k účtu úložiště.

V adresáři nebyly nalezeny žádné výsledky.

Pokud se při výběru adresáře na stránce No results were found in directory v Nová migrace dat na portálu Azure zobrazí zpráva, v kontejneru Azure Blob Storage není k dispozici žádná záloha databáze. Pokud chcete tento problém vyřešit, nahrajte úplnou zálohu databáze do Azure Blob Storage.

Kontrola stavu obnovení souboru

Pokud chcete zkontrolovat, kolik souborů bylo zjištěno, zařazeno do fronty, přeskočeno nebo nebylo možné obnovit během migrace, použijte stránku Monitorování a přechod na portálu Azure. Po zahájení migrace přejděte na stránku Monitorování a přechod, vyberte databázi, kterou migrujete, abyste otevřeli podrobnosti o migraci pro danou databázi.

Chyba 2009 – Spravovaná identita není správně nastavená

Pokud se migrace úspěšně spustí, ale pak selže s chybou 2009 - managed identity is not set up properly, primární identita spravované instance nemá přiřazené oprávnění Storage Blob Data Reader přiřazené k účtu úložiště objektů blob Azure. Pokud chcete tento problém vyřešit, udělte spravované identitě přístup k účtu úložiště. Ověřte, že příslušná identita (výchozí spravovaná identita nebo vlastní identita definovaná uživatelem) má požadovaná oprávnění nebo že se identita od původního udělení oprávnění nezměnila. Pokud se identita změnila, udělte nové identitě příslušná oprávnění k vyřešení problému.

Řešení potíží s migrací pomocí DMS

Spuštění úlohy migrace LRS v Azure Arc automaticky vytvoří úlohu migrace Database Migration Service (DMS), abyste mohli pomocí Azure Database Migration Service na portálu Azure zobrazit další podrobnosti o úloze migrace.

Pokud chcete zobrazit podrobnosti úlohy migrace LRS v DMS, postupujte takto:

  1. Na portálu Azure přejděte na Azure Database Migration Service.

  2. Vyberte Všechny prostředky a pak výběrem úlohy migrace DMS přidružené k migraci LRS otevřete stránku s podrobnostmi o migraci:

    Screenshot stránky všech prostředků v portálu Azure.

  3. Na stránce s podrobnostmi o migraci vyberte Sledovat migrace a zobrazte stav databází migrovaných pro konkrétní instanci pomocí LRS. Výběrem možnosti Úspěšné, Zrušeno nebo Chyba zobrazíte další podrobnosti o stavu.

    Další způsob, jak získat přístup k této stránce, je prostřednictvím Azure Database Migration Service prostředku přidaného do skupiny prostředků, která obsahuje cílovou SQL Managed Instance po zahájení migrace prostřednictvím Azure Arc.

Odstranění úloh migrace

Úlohy migrace LRS zůstanou na stránce Monitorování a přepnutí po dobu 28 dnů po dokončení, ať už byly úspěšné nebo neúspěšné. Úlohy můžete odstranit ručně, pokud je chcete vymazat ze stránky monitorování dříve.

Pokud chcete úlohy odstranit ručně, přejděte k úloze migrace DMS přidružené k migraci LRS , jak je popsáno v předchozí části. Vyberte úlohu migrace, kterou chcete odstranit, a pak použijte tlačítko Odstranit s ikonou koše k odstranění úlohy. Potvrďte zaškrtnutím políčka Zaškrtněte toto políčko a potvrďte odstranění. Tato akce vymaže úlohy ze stránky Monitor a přepnutí v Azure Arc.

Známé problémy po migraci na SQL Managed Instance

Po migraci na Azure SQL Managed Instance zvažte následující známé problémy:

Selhání obnovovací operace po migraci na službu SQL Managed Instance

Pokud migrujete databázi do Azure SQL Managed Instance z SQL Server 2019 a novějších verzí s zrychleným obnovením databáze povoleno, ale je nakonfigurované s trvalým úložištěm verzí (PVS) nastaveným na jinou než PRIMARY skupinu souborů, můžete zaznamenat selhání operace obnovení cílové spravované instance SQL.

Pokud chcete tento problém vyřešit, nezapomeňte před migrací do SQL Managed Instance nastavit úložiště verzí persistent (PVS) na PRIMÁRNÍ ve zdrojové databázi SQL Server. Pokud jste databázi už migrovali bez nastavení pvS na PRIMARY, můžete ji nastavit ve zdrojové databázi SQL Server a pak databázi znovu migrovat na SQL Managed Instance.

Po migraci na SQL Managed Instance nejde použít zrychlené obnovení databáze

Od SQL Server 2019 platí, že pokud migrujete databázi do Azure SQL Managed Instance a zdrojová databáze má zrychlené obnovení databáze zakázáno, nemůžete u cílové spravované instance SQL použít akcelerované obnovení databáze.

Pokud chcete tento problém vyřešit, ujistěte se, že na zdrojové databázi SQL Server povolíte zrychlené obnovení databáze před jeho migrací do SQL Managed Instance. Pokud jste databázi už migrovali bez povolení akcelerovaného obnovení databáze, můžete ji povolit ve zdrojové SQL Server databázi a pak databázi znovu migrovat do spravované instance SQL.

SQL Server 2017 a starších verzích nepodporují zrychlené obnovení databáze, takže se tento problém netýká databází migrovaných z těchto verzí SQL Server.

Po migraci na SQL Managed Instance nejde použít Service Broker

Pokud migrujete databázi na Azure SQL Managed Instance a Služba Broker je ve zdrojové databázi zakázaná, nemůžete v cílové spravované instanci SQL použít Service Broker.

Chcete-li tento problém vyřešit, před migrací do SQL Managed Instance nezapomeňte ve zdrojové databázi SQL Server povolit službu Service Broker. Pokud jste databázi už migrovali bez povolení nástroje Service Broker, můžete ji povolit ve zdrojové databázi SQL Server a pak databázi znovu migrovat na SQL Managed Instance.

Kontaktujte Microsoft

Můžete kontaktovat Microsoft, abyste vytvořili žádost o podporu ohledně problému, který řešíte, nebo abyste přímo produktové skupině poskytli zpětnou vazbu.

Kontaktujte podporu

Pomocí https://aka.ms/azure-support přejděte na stránku Help + support na portálu Azure a pak pomocí následujícího postupu otevřete lístek podpory související s migrací:

  1. Výběrem možnosti Vytvořit žádost o podporu otevřete podokno Podpora a řešení potíží .
  2. Zadejte migration do textového pole a potom vyberte možnost Žádná z výše uvedených pod položkou S jakou službou máte problém?
  3. V rozevíracím seznamu Výběr služby vyberte SQL Server enabled by Azure Arc a pak pokračujte pomocí příkazu Dalši.
  4. V rozevíracím seznamu vyberte své předplatné.
  5. Vyberte instanci SQL Server, kterou povolil Azure Arc, z rozevíracího seznamu Zdroj a pak vyberte Další.
  6. Na dlaždici Máte jeden z následujících problémů, vyberte Problémy s migrací a pak vyberte Další.
  7. Výběrem možnosti Vytvořit žádost o podporu v horním navigačním panelu v podokně Podpora a řešení potíží otevřete formulář lístku podpory.
  8. Ke směrování problému do příslušné fronty podpory použijte následující hodnoty podtypu problému :
    • Proveďte posouzení: Pokud máte problémy s posouzením připravenosti migrace.
    • Migrace dat LRS: Pokud máte problémy s migrací služby Log Replay Service (LRS).
    • MI Link Data Migration: Pokud máte problémy s migrací propojení odkazu spravovaného instance.
    • Monitorování a přechod: Pokud máte problémy s monitorováním migrace nebo s přechodem.
    • Cílové zřizování: Pokud máte problémy se zřizováním cílové Azure SQL Managed Instance.
  9. Pomocí možnosti Další můžete pokračovat zbývajícími kroky formuláře žádosti o podporu a pak výběrem možnosti Vytvořit odeslat žádost o podporu.

Poskytnutí zpětné vazby ke skupině produktů

Můžete poskytnout zpětnou vazbu produktové skupině, která vám pomůže zlepšit prostředí migrace. Pomocí následujícího odkazu odešlete zpětnou vazbu: