Pravidla posouzení pro migraci SQL Serveru do služby Azure SQL Database
platí pro:azure SQL Database
Nástroje pro migraci ověřují zdrojovou instanci SQL Serveru spuštěním několika pravidel posouzení, která identifikují problémy, které je potřeba vyřešit před migrací databáze SQL Serveru do služby Azure SQL Database.
Tento článek obsahuje seznam pravidel používaných k vyhodnocení proveditelnosti migrace databáze SQL Serveru do služby Azure SQL Database.
Souhrn pravidel
HROMADNÉ VLOŽENÍ
název: Funkce BULK INSERT se zdrojem dat mimo Azure není ve službě Azure SQL Database podporovaná.
kategorie: Problém
popis
Azure SQL Database nemá přístup ke sdíleným složkám ani složkám Windows. Konkrétní použití příkazů BULK INSERT
, které neodkazují na objekt blob Azure, najdete v části Ovlivněné objekty blob. Objekty s BULK INSERT
, kde zdroj není Azure Blob Storage, po migraci do služby Azure SQL Database nefunguje.
Doporučení
Při migraci do Služby Azure SQL Database je potřeba převést BULK INSERT
příkazy, které používají místní soubory nebo sdílené složky, aby místo toho používaly soubory ze služby Azure Blob Storage. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Klauzule COMPUTE
Title: Klauzule COMPUTE se už nepodporuje a byla odebrána.
kategorie: Upozornění
popis
Klauzule COMPUTE generuje součty, které se zobrazí jako další souhrnné sloupce na konci sady výsledků. Tato klauzule se už ale ve službě Azure SQL Database nepodporuje.
doporučení
Modul T-SQL je potřeba přepsat pomocí operátoru ROLLUP. Následující kód ukazuje, jak lze COMPUTE
nahradit ROLLUP
:
USE AdventureWorks2022;
GO
SELECT SalesOrderID,
UnitPrice,
UnitPriceDiscount
FROM Sales.SalesOrderDetail
ORDER BY SalesOrderID COMPUTE SUM(UnitPrice),
SUM(UnitPriceDiscount) BY SalesOrderID;
GO
SELECT SalesOrderID,
UnitPrice,
UnitPriceDiscount,
SUM(UnitPrice) AS UnitPrice,
SUM(UnitPriceDiscount) AS UnitPriceDiscount
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID,
UnitPrice,
UnitPriceDiscount
WITH ROLLUP;
Další informace naleznete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server.
Sestavení CLR
Název : Sestavení SQL CLR nejsou ve službě Azure SQL Database podporována
kategorie: Problém
popis
Azure SQL Database nepodporuje sestavení SQL CLR.
doporučení
V současné době neexistuje způsob, jak toho dosáhnout ve službě Azure SQL Database. Doporučená alternativní řešení vyžadují, aby kód aplikace a změny databáze používaly pouze sestavení podporovaná službou Azure SQL Database. Alternativně můžete migrovat na spravovanou instanci Azure SQL nebo SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu Nepodporované rozdíly Transact-SQL ve službě SQL Database.
Zprostředkovatel kryptografických služeb
Název : Bylo nalezeno použití CREATE CRYPTOGRAPHIC PROVIDER nebo ALTER CRYPTOGRAPHIC PROVIDER, které není podporováno ve službě Azure SQL Database
kategorie: Problém
popis
Azure SQL Database nepodporuje příkazy CRYPTOGRAPHIC PROVIDER, protože nemá přístup k souborům. Konkrétní použití příkazů CRYPTOGRAPHIC PROVIDER najdete v části Ovlivněné objekty. Objekty s CREATE CRYPTOGRAPHIC PROVIDER
nebo ALTER CRYPTOGRAPHIC PROVIDER
po migraci do služby Azure SQL Database nefungují správně.
doporučení
Zkontrolujte objekty pomocí CREATE CRYPTOGRAPHIC PROVIDER
nebo ALTER CRYPTOGRAPHIC PROVIDER
. V jakýchkoli takových objektech, které jsou požadovány, odeberte použití těchto funkcí. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Odkazy na křížové databáze
název : Dotazy napříč databázemi se ve službě Azure SQL Database nepodporují
kategorie: Problém
popis
Databáze na tomto serveru používají dotazy napříč databázemi, které nejsou podporované ve službě Azure SQL Database.
doporučení
Azure SQL Database nepodporuje dotazy napříč databázemi. Doporučuje se následující akce:
- Migrujte závislé databáze do služby Azure SQL Database a k dotazování napříč databázemi Azure SQL použijte funkci Elastic Database Query (aktuálně ve verzi Preview).
- Přesuňte závislé datové sady z jiných databází do migrované databáze.
- Migrace do spravované instance Azure SQL
- Migrace na SQL Server na virtuálních počítačích Azure
Další informace najdete v tématu přehled elastických dotazů služby Azure SQL Database (Preview).
Kompatibilita databáze
název : Azure SQL Database nepodporuje úrovně kompatibility nižší než 100.
kategorie: Upozornění
popis
Úroveň kompatibility databáze je cenným nástrojem, který pomáhá s modernizací databáze, protože umožňuje upgrade databázového stroje SQL Serveru a zachování funkčního stavu aplikací zachováním stejné úrovně kompatibility databáze před upgradem. Azure SQL Database nepodporuje úrovně kompatibility nižší než 100.
doporučení
Vyhodnoťte, jestli je funkce aplikace nedotčená, pokud je úroveň kompatibility databáze upgradována na 100 ve spravované instanci Azure SQL. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Databázová pošta
Název: Databázová pošta není ve službě Azure SQL Database podporovaná.
kategorie: Upozornění
popis
Tento server používá funkci Databázová pošta, která není ve službě Azure SQL Database podporovaná.
doporučení
Zvažte migraci do spravované instance Azure SQL, která podporuje databázovou poštu. Případně zvažte použití funkcí Azure a SendGrid k provádění funkcí pošty ve službě Azure SQL Database.
Alias databázového principálu
Název: SYS.DATABASE_PRINCIPAL_ALIASES se už nepodporuje a byl odebrán.
kategorie: Problém
popis
sys.database_principal_aliases
se už nepodporuje a ve službě Azure SQL Database byla odebrána.
doporučení
Místo aliasů používejte role.
Další informace naleznete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server.
možnost DISABLE_DEF_CNST_CHK
Název: Možnost SET DISABLE_DEF_CNST_CHK je ukončena a byla odebrána.
kategorie: Problém
popis
Možnost SET DISABLE_DEF_CNST_CHK je ukončena a byla odebrána ve službě Azure SQL Database.
Další informace naleznete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server.
FASTFIRSTROW nápověda
cs-CZ: Název: Dotazový tip FASTFIRSTROW už není podporován a byl odstraněn.
kategorie: Upozornění
popis
Nápověda k dotazu FASTFIRSTROW se už nepodporuje a ve službě Azure SQL Database se odebrala.
Doporučení
Místo hintu k dotazu FASTFIRSTROW použijte OPTION (FAST n).
Další informace naleznete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server.
FILESTREAM
název : FileSTREAM se ve službě Azure SQL Database nepodporuje
kategorie: Problém
popis
Funkce FILESTREAM, která umožňuje ukládat nestrukturovaná data, jako jsou textové dokumenty, obrázky a videa v systému souborů NTFS, není ve službě Azure SQL Database podporovaná.
doporučení
Nahrajte nestrukturované soubory do služby Azure Blob Storage a uložte metadata související s těmito soubory (název, typ, umístění adresy URL, klíč úložiště atd.) ve službě Azure SQL Database. Možná budete muset přepracovat vaši aplikaci, abyste umožnili streamování objektů blob do a z Azure SQL Database. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu přenášení objektů Blob tam a zpět z Azure SQL blogu.
Odkazovaný server
název : Funkce propojeného serveru není ve službě Azure SQL Database podporovaná
kategorie: Problém
popis
Propojené servery umožňují databázovému stroji SQL Serveru spouštět příkazy pro zdroje dat OLE DB mimo instanci SQL Serveru.
Doporučení
Azure SQL Database nepodporuje funkce odkazovaného serveru. Pokud chcete eliminovat potřebu propojených serverů, doporučujeme následující akce:
- Identifikujte závislé datové sady ze vzdálených SQL serverů a zvažte jejich přesun do migrované databáze.
- Migrace závislých databází do Azure a použití funkce Elastic Database Query (Preview) k dotazování napříč databázemi ve službě Azure SQL Database
Další informace najdete v tématu přehled elastických dotazů služby Azure SQL Database (Preview).
MS DTC
název : FUNKCE BEGIN DISTRIBUTED TRANSACTION není ve službě Azure SQL Database podporovaná.
kategorie: Problém
popis
Distribuovaná transakce spuštěná jazykem Transact SQL BEGIN DISTRIBUTED TRANSACTION a spravovaná koordinátorem distribuovaných transakcí (MS DTC) není ve službě Azure SQL Database podporovaná.
doporučení
V části Ovlivněné objekty ve službě Azure Migrate zkontrolujte všechny objekty pomocí BEGIN DISTRIBUTED TRANSACTION. Zvažte migraci databází účastníků do spravované instance Azure SQL, kde se podporují distribuované transakce napříč několika instancemi.
Další informace najdete v tématu Transakce napříč více servery pro službu Azure SQL Managed Instance.
Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
OPENROWSET (hromadný)
název : OpenRowSet používaný hromadně s jiným zdrojem dat než Azure Blob Storage není ve službě Azure SQL Database podporován.
kategorie: Problém
Popis OPENROWSET podporuje hromadné operace prostřednictvím integrovaného zprostředkovatele BULK, který umožňuje čtení a vracení dat ze souboru jako sadu řádků. OpenROWSET se zdrojem dat mimo Azure Blob Storage není ve službě Azure SQL Database podporováno.
Doporučení
Azure SQL Database nemá přístup ke sdíleným složkám a složkám Windows, takže soubory se musí importovat ze služby Azure Blob Storage. Proto je ve funkci OPENROWSET podporován pouze typ objektu blob DATASOURCE. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu Řešení rozdílů Transact-SQL během migrace do služby SQL Database.
OPENROWSET (zprostředkovatel)
název : OpenRowSet s SQL nebo jiným poskytovatelem než SQL se ve službě Azure SQL Database nepodporuje.
kategorie: Problém
popis
OpenRowSet s sql nebo jiným poskytovatelem než SQL je alternativou pro přístup k tabulkám na propojeném serveru a je jednorázová metoda připojení a přístupu ke vzdáleným datům pomocí OLE DB. Použití OpenRowSet s poskytovatelem SQL nebo jiným poskytovatelem není ve službě Azure SQL Database podporováno.
doporučení
Azure SQL Database podporuje OPENROWSET pouze pro import ze služby Azure Blob Storage. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu Řešení rozdílů Transact-SQL během migrace do služby SQL Database.
Levé vnější spojení mimo ANSI standard
Název: Levé vnější spojení bez ANSI už není podporováno a bylo odebráno.
kategorie: Upozornění
popis
Levé vnější spojení ve stylu nekompatibilním s ANSI už není podporováno a bylo odstraněno ve službě Azure SQL Database.
doporučení
Použijte syntaxi spojení ANSI.
Další informace naleznete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server.
Pravé vnější spojení nevyhovující ANSI
Název: Pravé vnější spojení ve stylu ne-ANSI již není podporováno a bylo odstraněno.
kategorie: Upozornění
popis
Pravé vnější spojení bez ANSI se už nepodporuje a ve službě Azure SQL Database se odebralo.
doporučení
Použijte syntaxi spojení ANSI.
Další informace naleznete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server.
Další sloupec
Název: Tabulky a sloupce s názvem NEXT vedou k chybě ve službě Azure SQL Database.
kategorie: Problém
popis
Byly zjištěny tabulky nebo sloupce s názvem NEXT. Sekvence, představené v Microsoft SQL Serveru, používají funkci NEXT VALUE FOR standard ANSI. Pokud se tabulka nebo sloupec jmenuje NEXT a sloupec je aliasovaný jako HODNOTA, a pokud je vynechán standardní AS ANSI, může výsledný příkaz způsobit chybu.
doporučení
Přepište příkazy tak, aby zahrnovaly standardní klíčové slovo AS ANSI při aliasování tabulky nebo sloupce. Pokud má například sloupec název NEXT a tento sloupec má alias HODNOTA, dotaz SELECT NEXT VALUE FROM TABLE
způsobí chybu a měl by se přepsat jako SELECT NEXT AS VALUE FROM TABLE. Podobně platí, že pokud je tabulka s názvem NEXT a tato tabulka je aliasována jako HODNOTA, dotaz SELECT Col1 FROM NEXT VALUE
způsobí chybu a měl by být přepsán jako SELECT Col1 FROM NEXT AS VALUE
.
RAISERROR
Název: Volání RAISERROR v zastaralém stylu by měly být nahrazeny moderními ekvivalenty.
kategorie: Upozornění
popis
Volání RAISERROR jako v následujícím příkladu se označují jako ve starém stylu, protože neobsahují čárky a závorky.
RAISERROR 50001 'this is a test'
. Tato metoda volání RAISERROR se již ve službě Azure SQL Database nepodporuje a byla odstraněna.
doporučení
Přepište příkaz pomocí aktuální syntaxe RAISERROR nebo vyhodnoťte, jestli je moderní přístup BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH
proveditelný.
Další informace naleznete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server.
Audity serveru
název : Použití funkcí auditu služby Azure SQL Database k nahrazení auditů serverů
kategorie: Upozornění
popis
Audity serverů se ve službě Azure SQL Database nepodporují.
doporučení
Zvažte funkce auditu služby Azure SQL Database a nahraďte audity serverů. Azure SQL podporuje audit a funkce jsou bohatší než SQL Server. Azure SQL Database může auditovat různé databázové akce a události, včetně přístupu k datům, změn schématu (DDL), změn dat (DML), účtů, rolí a oprávnění (DCL, výjimek zabezpečení). Auditování služby Azure SQL Database zvyšuje schopnost organizace získat podrobný přehled o událostech a změnách, ke kterým dochází v databázi, včetně aktualizací a dotazů na data. Alternativně můžete migrovat na spravovanou instanci Azure SQL nebo SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu Auditování služby Azure SQL Database a azure Synapse Analytics.
Přihlašovací údaje serveru
název : Přihlašovací údaje s oborem serveru se ve službě Azure SQL Database nepodporují
kategorie: Upozornění
popis
Přihlašovací údaje jsou záznam, který obsahuje ověřovací údaje (přihlašovací údaje) potřebné pro připojení k prostředku mimo SQL Server. Azure SQL Database podporuje přihlašovací údaje databáze, ale ne ty vytvořené v oboru SQL Serveru.
Doporučení
Azure SQL Database podporuje přihlašovací údaje s vymezeným oborem databáze. Převeďte přihlašovací údaje s vymezeným oborem serveru na přihlašovací údaje s vymezeným oborem databáze. Alternativně můžete migrovat na spravovanou instanci Azure SQL nebo SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu CREATE DATABASE SCOPED CREDENTIAL.
Zprostředkovatel služby
název : Funkce Service Broker není ve službě Azure SQL Database podporovaná
kategorie: Problém
popis
SQL Server Service Broker poskytuje nativní podporu pro zasílání zpráv a řazení aplikací do front v databázovém stroji SQL Serveru. Funkce Service Broker není ve službě Azure SQL Database podporovaná.
doporučení
Funkce Service Broker není ve službě Azure SQL Database podporovaná. Zvažte migraci na spravovanou instanci Azure SQL, která podporuje zprostředkovatele služeb ve stejné instanci. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Triggery v oboru serveru
Název : Trigger omezený na serveru není podporován ve službě Azure SQL Database
kategorie: Upozornění
popis
Trigger je speciální typ uložené procedury, která se spouští v reakci na určitou akci v tabulce, jako je vložení, odstranění nebo aktualizace dat. Triggery s oborem serveru se ve službě Azure SQL Database nepodporují. Azure SQL Database nepodporuje následující možnosti pro triggery: PRO PŘIHLÁŠENÍ, ŠIFROVÁNÍ, WITH APPEND, NOT FOR REPLICATION, EXTERNAL NAME option (neexistuje žádná podpora externích metod), ALL SERVER Option (DDL Trigger), Trigger události LOGON (Trigger přihlášení), Azure SQL Database nepodporuje triggery CLR.
doporučení
Místo toho použijte trigger na úrovni databáze. Alternativně můžete migrovat na spravovanou instanci Azure SQL nebo SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu Řešení rozdílů Transact-SQL během migrace do služby SQL Database.
Úlohy agenta SQL
název : Úlohy agenta SQL Serveru nejsou ve službě Azure SQL Database k dispozici
kategorie: Upozornění
popis
Agent SQL Serveru je služba systému Microsoft Windows, která spouští naplánované úlohy správy, které se nazývají úlohy na SQL Serveru. Úlohy agenta SQL Serveru nejsou ve službě Azure SQL Database k dispozici.
doporučení
Používejte elastické úlohy, které jsou náhradou za úlohy agenta SQL Serveru ve službě Azure SQL Database. Elastické úlohy pro Azure SQL Database umožňují spolehlivě spouštět skripty T-SQL, které se zasahují do více databází, zatímco se automaticky opakují a poskytují záruky konečného dokončení. Případně zvažte migraci na spravovanou instanci Azure SQL nebo SQL Server na virtuálních počítačích Azure. Další informace najdete v tématu elastických úloh ve službě Azure SQL Database.
Velikost databáze SQL
název : Azure SQL Database nepodporuje velikost databáze větší než 100 TB.
kategorie: Problém
popis
Velikost databáze je větší než maximální podporovaná velikost 100 TB.
doporučení
Vyhodnoťte, jestli je možné data archivovat nebo komprimovat nebo horizontálně rozdělit do více databází. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu omezení prostředků vCore.
Pošta SQL
Název: Služba SQL Mail byla ukončena.
kategorie: Upozornění
popis
Služba SQL Mail byla ukončena a odstraněna z Azure SQL Database.
doporučení
Zvažte migraci na spravovanou instanci Azure SQL nebo SQL Server na virtuálních počítačích Azure a použijte databázovou poštu.
Další informace najdete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server
SystemProcedures110
Title: Zjištěné příkazy, které odkazují na odebrané systémové uložené procedury, které nejsou dostupné ve službě Azure SQL Database.
kategorie: Upozornění
popis
Následující nepodporované systémové a rozšířené uložené procedury nejde použít ve službě Azure SQL Database – sp_dboption
, sp_addserver
, sp_dropalias
,sp_activedirectory_obj
, sp_activedirectory_scp
, sp_activedirectory_start
.
doporučení
Odeberte odkazy na nepodporované systémové procedury, které byly odebrány ve službě Azure SQL Database.
Další informace najdete v tématu Ukončené funkce databázového stroje v SYSTÉMU SQL Server
Příznaky trasování
Název : Azure SQL Database nepodporuje trasovací příznaky
kategorie: Upozornění
popis
Příznaky trasování se používají k dočasnému nastavení konkrétních charakteristik serveru nebo k vypnutí konkrétního chování. Trasovací příznaky se často používají k diagnostikování problémů s výkonem nebo k odstraňování chyb v uložených procedurách či složitých počítačových systémech. Azure SQL Database nepodporuje příznaky trasování.
doporučení
V části Ovlivněné objekty ve službě Azure Migrate zkontrolujte všechny příznaky trasování, které nejsou ve službě Azure SQL Database podporované, a vyhodnoťte, jestli je možné je odebrat. Alternativně migrujte do spravované instance Azure SQL, která podporuje omezený počet globálních příznaků trasování nebo SQL Serveru na virtuálních počítačích Azure.
Další informace najdete v tématu Řešení rozdílů Transact-SQL během migrace do služby SQL Database.
Ověřování systému Windows
Název: Uživatelé databáze mapovaní ověřováním Windows (integrované zabezpečení) se ve službě Azure SQL Database nepodporují.
kategorie: Upozornění
popis
Azure SQL Database podporuje dva typy ověřování:
- Ověřování SQL: Používá uživatelské jméno a heslo.
- Ověřování Microsoft Entra: používá identity spravované microsoftem Entra ID (dříve Azure Active Directory) a je podporováno pro spravované a integrované domény.
Uživatelé databáze, kteří jsou namapováni pomocí ověřování Windows (integrované zabezpečení), nejsou ve službě Azure SQL Database podporováni.
Doporučení
Federujte místní službu Active Directory s ID Microsoft Entra. Identitu systému Windows pak můžete nahradit ekvivalentními identitami Microsoft Entra. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Další informace najdete v tématu možnosti zabezpečení služby SQL Database.
xp_cmdshell
název : Xp_cmdshell není ve službě Azure SQL Database podporovaná.
kategorie: Problém
popis
xp_cmdshell
, který vytváří příkazové prostředí Windows a předává řetězec ke spuštění, není podporován v Azure SQL Database.
doporučení
V části Ovlivněné objekty ve službě Azure Migrate zkontrolujte všechny objekty pomocí xp_cmdshell
a vyhodnoťte, jestli je možné odebrat odkaz na xp_cmdshell
nebo ovlivněný objekt. Zvažte také prozkoumání služby Azure Automation, která poskytuje cloudovou automatizaci a konfigurační službu. Alternativně můžete migrovat na SQL Server na virtuálních počítačích Azure.
Související obsah
- Průvodce migrací : SQL Server do služby Azure SQL Database
- Služby a nástroje dostupné pro scénáře migrace dat
- Co je Azure SQL Database?
- kalkulačka celkových nákladů na vlastnictví Azure
- architektura přechodu na cloud pro Azure
- Osvedčené postupy pro stanovení nákladů a velikosti úloh při migraci do Azure