Rozdíly v jazyce T-SQL mezi SQL Serverem a službou Azure SQL Managed Instance
Platí pro: Azure SQL Managed Instance
Tento článek shrnuje a vysvětluje rozdíly v syntaxi a chování mezi službou Azure SQL Managed Instance a SQL Serverem.
Sql Managed Instance poskytuje vysokou kompatibilitu s databázovým strojem SQL Serveru a většina funkcí je podporovaná ve spravované instanci SQL.
Ve spravované instanci SQL Managed Instance jsou zavedena některá omezení služby PaaS a některé změny chování ve srovnání s SQL Serverem. Rozdíly jsou rozdělené do následujících kategorií:
- Dostupnost zahrnuje rozdíly ve skupinách dostupnosti AlwaysOn a zálohách.
- Zabezpečení zahrnuje rozdíly v auditování, certifikátech, přihlašovacích údajích, poskytovatelích kryptografických služeb, přihlášeních a uživatelích a klíči služby a hlavním klíči služby.
- Konfigurace zahrnuje rozdíly v rozšíření fondu vyrovnávací paměti, kolaci, úrovní kompatibility, zrcadlení databáze, možnosti databáze, agent SQL Serveru a možnosti tabulky.
- Mezi funkce patří BULK INSERT/OPENROWSET, CLR, DBCC, distribuované transakce, rozšířené události, externí knihovny, FILESTREAM a FileTable, fulltextové sémantické vyhledávání, propojené servery, PolyBase, Replikace, RESTORE, Service Broker, uložené procedury, funkce a triggery.
- Nastavení prostředí, jako jsou virtuální sítě a konfigurace podsítí.
Většina těchto funkcí je omezení architektury a představuje funkce služeb.
Dočasné známé problémy zjištěné ve službě SQL Managed Instance a v budoucnu se vyřeší v části Co je nového?
Poznámka:
ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).
Dostupnost
Skupiny dostupnosti Always On
Vysoká dostupnost je integrovaná do služby SQL Managed Instance a uživatelé ji nemůžou ovládat. Následující příkazy nejsou podporované:
- CREATE ENDPOINT ... FOR DATABASE_MIRRORING
- VYTVOŘENÍ SKUPINY DOSTUPNOSTI
- ALTER AVAILABILITY GROUP
- DROP AVAILABILITY GROUP
- Klauzule SET HADR příkazu ALTER DATABASE
Backup
Spravovaná instance Azure SQL má automatické zálohování, takže uživatelé můžou vytvářet úplné zálohy databáze COPY_ONLY
. Rozdílové zálohy, protokoly a snímky souborů se nepodporují.
- Pomocí služby SQL Managed Instance můžete zálohovat databázi instance pouze do účtu služby Azure Blob Storage:
- Podporuje se jen
BACKUP TO URL
. FILE
aTAPE
zálohovací zařízení se nepodporují.
- Podporuje se jen
- Většina obecných
WITH
možností je podporovaná.COPY_ONLY
je povinné.FILE_SNAPSHOT
aCREDENTIAL
nejsou podporovány.- Možnosti pásky:
REWIND
,NOREWIND
,UNLOAD
aNOUNLOAD
nejsou podporovány. - Možnosti specifické pro protokol:
NORECOVERY
,STANDBY
aNO_TRUNCATE
nejsou podporovány.
Omezení:
Ve službě SQL Managed Instance můžete zálohovat databázi instance do zálohy s až 32 pruhy, což stačí pro databáze až 4 TB, pokud se použije komprese zálohování.
U databáze, která je zašifrovaná pomocí transparentní šifrování dat spravované službou (TDE), nejde spustit
BACKUP DATABASE ... WITH COPY_ONLY
. Transparentní šifrování dat spravované službou vynucuje šifrování záloh pomocí interního klíče transparentního šifrování dat. Tento klíč není možné exportovat, a proto není možné zálohu obnovit. Použijte automatické zálohování a obnovení k určitému bodu v čase nebo místo toho použijte transparentní šifrování dat spravované zákazníkem (BYOK). Šifrování databáze můžete také zakázat.Nativní zálohy pořízené ve spravované instanci SQL je možné obnovit pouze do instance SQL Serveru 2022. Důvodem je to, že sql Managed Instance má ve srovnání s jinými verzemi SQL Serveru vyšší interní verzi databáze. Další informace najdete v tématu Obnovení zálohy databáze služby SQL Managed Instance na SQL Server 2022.
Pokud chcete zálohovat nebo obnovit databázi do a z úložiště Azure, můžete se ověřit pomocí spravované identity nebo sdíleného přístupového podpisu (SAS), což je identifikátor URI, který vám uděluje omezená přístupová práva k prostředkům Azure Storage. Další informace najdete v tomto tématu. Použití přístupových klíčů pro tyto scénáře se nepodporuje.
Maximální velikost pruhu zálohování pomocí
BACKUP
příkazu ve službě SQL Managed Instance je 195 GB, což je maximální velikost objektu blob. Zvyšte počet pruhů v příkazu zálohování, abyste snížili velikost jednotlivých pruhů a zůstali v tomto limitu.Tip
Pokud chcete toto omezení obejít, můžete při zálohování databáze z SQL Serveru v místním prostředí nebo ve virtuálním počítači provést tyto akce:
- Zálohujte na
DISK
místo zálohování naURL
. - Nahrajte záložní soubory do úložiště objektů blob.
- Obnovení do spravované instance SQL
Příkaz
Restore
ve službě SQL Managed Instance podporuje větší velikosti objektů blob v záložních souborech, protože pro ukládání nahraných záložních souborů se používá jiný typ objektu blob.- Zálohujte na
Informace o zálohování pomocí T-SQL najdete v tématu ZÁLOHOVÁNÍ.
Zabezpečení
Auditování
Hlavní rozdíly mezi auditováním v Microsoft Azure SQL a SQL Serverem jsou:
- U služby SQL Managed Instance funguje auditování na úrovni serveru. Soubory
.xel
protokolů se ukládají do služby Azure Blob Storage. - S Azure SQL Database funguje auditování na úrovni databáze. Soubory
.xel
protokolů se ukládají do služby Azure Blob Storage. - U SQL Serveru funguje auditování na úrovni serveru místně nebo na virtuálních počítačích. Události jsou uložené v systému souborů nebo protokolech událostí Systému Windows.
Auditování XEvent ve službě SQL Managed Instance podporuje cíle služby Azure Blob Storage. Protokoly souborů a Windows se nepodporují.
Hlavní rozdíly v CREATE AUDIT
syntaxi pro auditování do služby Azure Blob Storage jsou:
- Poskytuje se nová syntaxe
TO URL
, která určuje adresu URL kontejneru úložiště objektů blob v Azure, kde.xel
jsou umístěné soubory. - Syntaxe
TO FILE
není podporovaná, protože spravovaná instance SQL nemá přístup ke sdíleným složkám Windows.
Další informace naleznete v tématu:
Certifikáty
Spravovaná instance SQL nemá přístup ke sdíleným složkám a složkám Windows, takže platí následující omezení:
- Soubor
CREATE FROM
/BACKUP TO
není podporován pro certifikáty. - Certifikát
CREATE
/BACKUP
odFILE
/ASSEMBLY
není podporovaný. Soubory privátního klíče nelze použít.
Viz VYTVOŘENÍ CERTIFIKÁTU A ZÁLOŽNÍHO CERTIFIKÁTU.
Alternativní řešení: Místo vytvoření zálohy certifikátu a obnovení zálohy získejte binární obsah certifikátu a privátní klíč, uložte ho jako .sql soubor a vytvořte z binárního souboru:
CREATE CERTIFICATE
FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>);
Reference
Podporuje se spravovaná identita, Azure Key Vault a SHARED ACCESS SIGNATURE
identity. Uživatelé Windows nejsou podporováni.
Viz CREATE CREDENTIAL a ALTER CREDENTIAL.
Zprostředkovatelé kryptografických služeb
Spravovaná instance SQL nemá přístup k souborům, takže nejde vytvořit zprostředkovatele kryptografických služeb:
CREATE CRYPTOGRAPHIC PROVIDER
není podporováno. Viz VYTVOŘENÍ ZPROSTŘEDKOVATELE KRYPTOGRAFICKÝCH SLUŽEB.ALTER CRYPTOGRAPHIC PROVIDER
není podporováno. Viz ALTER CRYPTOGRAPHIC PROVIDER.
Přihlášení a uživatelé
Přihlášení SQL vytvořená pomocí ,
FROM CERTIFICATE
FROM ASYMMETRIC KEY
aFROM SID
jsou podporována. Viz CREATE LOGIN. Objekty zabezpečení serveru (přihlášení) se vytvářejí na úrovni serveru a uživatelé (objekty zabezpečení databáze) se vytvářejí na úrovni databáze. Podporují se přihlášení Microsoft Entra vytvořená pomocí syntaxe CREATE LOGIN a uživatelé Microsoft Entra vytvořené pomocí syntaxe CREATE USER FROM LOGIN . Při vytváření uživatele a určeníFROM LOGIN
, tento uživatel je přidružen k přihlášení a dědí role serveru a oprávnění přiřazená k němu.SQL Managed Instance podporuje vytváření uživatelů databáze s omezením na základě identit Microsoft Entra pomocí syntaxe
CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER
. Uživatelé vytvořené tímto způsobem nejsou přidruženi k objektům zabezpečení serveru, a to ani v případě, že vmaster
databázi existuje objekt zabezpečení serveru se stejným názvem.Přihlášení windows vytvořená pomocí
CREATE LOGIN ... FROM WINDOWS
syntaxe se nepodporují. Používejte přihlášení a uživatele Microsoft Entra.Správce Microsoft Entra pro instanci má neomezená oprávnění správce.
Některé funkce nepodporují použití přihlášení Microsoft Entra v interakcích mezi instancemi, ale pouze v rámci jedné spravované instance SQL, například replikace SQL Serveru. Funkce propojeného serveru sice podporuje ověřování mezi instancemi pomocí instančních objektů serveru Microsoft Entra (přihlášení).
Nastavení přihlášení Microsoft Entra namapované na skupinu Microsoft Entra, protože vlastník databáze není podporován. Členem skupiny Microsoft Entra může být vlastník databáze, i když se přihlášení v databázi nevytvořilo.
Zosobnění objektů zabezpečení na úrovni serveru Microsoft Entra pomocí jiných objektů zabezpečení Microsoft Entra je podporováno, například klauzule EXECUTE AS . Omezení EXECUTE AS jsou:
Funkce EXECUTE AS USER není pro uživatele Microsoft Entra podporovaná, když se jméno liší od přihlašovacího jména. Příkladem je, když se uživatel vytvoří prostřednictvím syntaxe
CREATE USER [myAadUser] FROM LOGIN [john@contoso.com]
a zosobnění se pokusí provéstEXEC AS USER = myAadUser
. Při vytváření UŽIVATELE z přihlášení Microsoft Entra zadejte user_name jako stejný login_name z LOGIN.Pouze přihlášení na úrovni SQL Serveru, která jsou součástí
sysadmin
role, můžou spouštět následující operace, které cílí na objekty zabezpečení Microsoft Entra:- SPUSTIT JAKO UŽIVATEL
- SPUSTIT JAKO PŘIHLÁŠENÍ
Pokud chcete zosobnit uživatele pomocí příkazu EXECUTE AS, musí být uživatel namapován přímo na přihlášení k Microsoft Entra. Uživatelé, kteří jsou členy skupin Microsoft Entra mapovaných na objekty zabezpečení serveru Microsoft Entra, nelze efektivně zosobnit příkazem EXECUTE AS, i když má volající oprávnění zosobnit zadané uživatelské jméno.
Export/import databáze pomocí souborů bacpac jsou podporovány pro uživatele Microsoft Entra ve službě SQL Managed Instance pomocí aplikace SSMS V18.4 nebo novější nebo SqlPackage.
- Pomocí souboru bacpac databáze se podporují následující konfigurace:
- Export nebo import databáze mezi různými instancemi správy ve stejné doméně Microsoft Entra.
- Exportujte databázi ze služby SQL Managed Instance a importujte ji do služby SQL Database ve stejné doméně Microsoft Entra.
- Exportujte databázi ze služby SQL Database a importujte ji do spravované instance SQL ve stejné doméně Microsoft Entra.
- Exportujte databázi ze služby SQL Managed Instance a importujte ji do SQL Serveru (verze 2012 nebo novější).
- V této konfiguraci se všichni uživatelé Microsoft Entra vytvářejí jako instanční objekty databáze SQL Serveru (uživatelé) bez přihlášení. Typ uživatelů je
SQL
a je viditelný jakoSQL_USER
vsys.database_principals
. Jejich oprávnění a role zůstanou v metadatech databáze SQL Serveru a dají se použít k zosobnění. K přístupu a přihlášení k SQL Serveru se ale nedají použít pomocí svých přihlašovacích údajů.
- V této konfiguraci se všichni uživatelé Microsoft Entra vytvářejí jako instanční objekty databáze SQL Serveru (uživatelé) bez přihlášení. Typ uživatelů je
- Pomocí souboru bacpac databáze se podporují následující konfigurace:
Pouze hlavní přihlášení na úrovni serveru, které je vytvořeno procesem zřizování služby SQL Managed Instance, členy rolí serveru, jako
securityadmin
jsou nebosysadmin
nebo nebo jiná přihlášení s oprávněním ALTER ANY LOGIN na úrovni serveru, mohou vytvořit objekty zabezpečení serveru Microsoft Entra (přihlášení) vmaster
databázi pro službu SQL Managed Instance.Přihlašovací údaje založené na ověřování SQL musí být přiřazeny
sysadmin
k vytvoření přihlášení pro identity Microsoft Entra.Přihlášení musí být členem stejného tenanta Microsoft Entra, ve kterému je hostovaná spravovaná instance Azure SQL.
Objekty zabezpečení serveru Microsoft Entra (přihlášení) jsou viditelné v Průzkumník objektů počínaje aplikací SQL Server Management Studio 18.0 Preview 5.
Objekt zabezpečení serveru s úrovní přístupu správce systému se automaticky vytvoří pro správce Microsoft Entra, jakmile je povolen v instanci.
Během ověřování se k vyřešení ověřovacího objektu použije následující posloupnost:
- Pokud je účet Microsoft Entra přímo namapován na přihlašovací jméno Microsoft Entra, které se nachází
sys.server_principals
jako typ "E", udělte přístup a použijte oprávnění pro toto přihlášení. - Pokud je účet Microsoft Entra členem skupiny, která je namapovaná na přihlášení Microsoft Entra, která se nachází
sys.server_principals
jako typ "X", udělte přístup a použijte oprávnění pro toto přihlášení. - Pokud účet Microsoft Entra existuje jako přímo namapovaný na uživatele Microsoft Entra v databázi, která se nachází
sys.database_principals
jako typ "E", udělte přístup a použijte oprávnění uživatele databáze Microsoft Entra. - Pokud je účet Microsoft Entra členem skupiny Microsoft Entra, která je namapovaná na uživatele Microsoft Entra v databázi, která se nachází
sys.database_principals
jako typ X, udělte přístup a použijte oprávnění uživatele skupiny Microsoft Entra.
- Pokud je účet Microsoft Entra přímo namapován na přihlašovací jméno Microsoft Entra, které se nachází
Klíč služby a hlavní klíč služby
- Zálohování hlavního klíče není podporováno (spravované službou SQL Database).
- Obnovení hlavního klíče není podporováno (spravované službou SQL Database).
- Zálohování hlavního klíče služby není podporováno (spravované službou SQL Database).
- Obnovení hlavního klíče služby není podporováno (spravované službou SQL Database).
Konfigurace
Rozšíření fondu vyrovnávacích pamětí
- Rozšíření fondu vyrovnávacích pamětí se nepodporuje.
ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION
není podporováno. Viz ALTER SERVER CONFIGURATION.
Kolace
Výchozí kolace instance je SQL_Latin1_General_CP1_CI_AS
a lze ji zadat jako parametr pro vytvoření. Viz Kolace.
Úrovně kompatibility
- Podporované úrovně kompatibility jsou 100, 110, 120, 130, 140, 150 a 160.
- Úrovně kompatibility nižší než 100 se nepodporují.
- Výchozí úroveň kompatibility pro nové databáze je 150. U obnovených databází zůstane úroveň kompatibility beze změny, pokud byla 100 a vyšší.
Viz Úroveň kompatibility ALTER DATABASE.
Zrcadlení databáze
Zrcadlení databáze se nepodporuje.
ALTER DATABASE SET PARTNER
aSET WITNESS
možnosti nejsou podporované.CREATE ENDPOINT … FOR DATABASE_MIRRORING
není podporováno.
Další informace naleznete v tématu ALTER DATABASE SET PARTNER a SET WITNESS a CREATE ENDPOINT ... PRO DATABASE_MIRRORING.
Možnosti databáze
- Více souborů protokolu se nepodporuje.
- Objekty v paměti nejsou podporovány ve vrstvě služby Pro obecné účely.
- Existuje limit 280 souborů na instanci pro obecné účely, což znamená maximálně 280 souborů na databázi. Do tohoto limitu se započítávají datové soubory i soubory protokolů na úrovni Pro obecné účely. Úroveň Pro důležité obchodní informace podporuje 32 767 souborů na databázi.
- Databáze nemůže obsahovat skupiny souborů, které obsahují data FILESTREAM. Obnovení selže, pokud
.bak
obsahujeFILESTREAM
data. - Každý soubor je umístěný ve službě Azure Blob Storage. Vstupně-výstupní operace a propustnost jednotlivých souborů závisí na velikosti jednotlivých souborů.
Příkaz CREATE DATABASE
Následující omezení platí pro CREATE DATABASE
:
Soubory a skupiny souborů nelze definovat.
Skupina souborů optimalizovaná pro paměť a soubor se automaticky přidají a nazývají se XTP.
Tato
CONTAINMENT
možnost není podporovaná.WITH
možnosti nejsou podporovány.Tip
Alternativním řešením je
ALTER DATABASE
CREATE DATABASE
nastavit možnosti databáze pro přidání souborů nebo nastavení omezení.Tato
FOR ATTACH
možnost není podporovaná.Tato
AS SNAPSHOT OF
možnost není podporovaná.
Další informace naleznete v tématu CREATE DATABASE.
Příkaz ALTER DATABASE
Některé vlastnosti souboru nelze nastavit ani změnit:
- Cestu k souboru nelze zadat v
ALTER DATABASE ADD FILE (FILENAME='path')
příkazu T-SQL. OdeberteFILENAME
ze skriptu, protože sql Managed Instance automaticky umístí soubory. - Pomocí příkazu nelze změnit
ALTER DATABASE
název souboru. - Změna souboru nebo skupiny souborů XTP není povolená.
Ve výchozím nastavení jsou nastavené následující možnosti a nejde je změnit:
MULTI_USER
ENABLE_BROKER
AUTO_CLOSE OFF
Následující možnosti nelze upravit:
AUTO_CLOSE
AUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)
AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)
DISABLE_BROKER
EMERGENCY
ENABLE_BROKER
FILESTREAM
HADR
NEW_BROKER
OFFLINE
PAGE_VERIFY
PARTNER
READ_ONLY
RECOVERY BULK_LOGGED
RECOVERY_SIMPLE
REMOTE_DATA_ARCHIVE
RESTRICTED_USER
SINGLE_USER
WITNESS
Některé ALTER DATABASE
příkazy (například SET CONTAINMENT) můžou přechodně selhat, například během automatizovaného zálohování databáze nebo přímo po vytvoření databáze. V tomto případě ALTER DATABASE
by se měl opakovat příkaz. Další informace o souvisejících chybových zprávách najdete v části Poznámky.
Další informace naleznete v tématu ALTER DATABASE.
Agent SQL Server
- Povolení a zakázání agenta SQL Serveru se v současné době ve službě SQL Managed Instance nepodporuje. Agent SQL je vždy spuštěný.
- Aktivační událost plánu úloh založená na nečinných procesorech není podporovaná.
- Nastavení agenta SQL Serveru je jen pro čtení. Tento postup
sp_set_agent_properties
není ve službě SQL Managed Instance podporovaný. - Pracovní místa
- Podporují se kroky úlohy T-SQL.
- Podporují se následující úlohy replikace:
- Čtenář transakčních protokolů
- Snímek
- Distributor
- Podporují se kroky úlohy SSIS.
- Další typy kroků úloh se v současné době nepodporují:
- Krok úlohy sloučení replikace není podporovaný.
- Čtečka fronty není podporovaná.
- Příkazové prostředí se zatím nepodporuje.
- Spravovaná instance SQL nemá přístup k externím prostředkům, například ke sdíleným složkám sítě prostřednictvím nástroje Robocopy.
- Služba Analysis Services serveru SQL se nepodporuje.
- Oznámení jsou částečně podporovaná.
- E-mailové oznámení se podporuje, i když vyžaduje, abyste nakonfigurovali Databázová pošta profil. Agent SQL Serveru může používat pouze jeden Databázová pošta profil a musí být volán
AzureManagedInstance_dbmail_profile
.- Pager se nepodporuje.
- NetSend se nepodporuje.
- Upozornění se zatím nepodporují.
- Proxy servery se nepodporují.
- EventLog se nepodporuje.
- Aby bylo možné vytvářet, upravovat nebo spouštět úlohy agenta SQL, musí být uživatel přímo namapován na přihlášení k serveru Microsoft Entra. Uživatelé, kteří nejsou přímo mapovaní, například uživatelé, kteří patří do skupiny Microsoft Entra, která má práva vytvářet, upravovat nebo spouštět úlohy agenta SQL, nebudou moci tyto akce efektivně provádět. Důvodem je omezení zosobnění spravované instance SQL a SPUŠTĚNÍ AS.
- Funkce Správa více serverů pro úlohy hlavního/cílového serveru (MSX/TSX) se nepodporuje.
Informace o agentu SQL Serveru naleznete v tématu SQL Server Agent.
Tabulky
Následující typy tabulek se nepodporují:
- FILESTREAM
- FILETABLE
- EXTERNÍ TABULKA (s výjimkou PolyBase)
- MEMORY_OPTIMIZED (nepodporuje se jenom na úrovni Pro obecné účely)
Informace o vytváření a změnách tabulek naleznete v tématu CREATE TABLE a ALTER TABLE.
Funkce
HROMADNÉ VLOŽENÍ / OPENROWSET
Spravovaná instance SQL 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:
DATASOURCE
při importuBULK INSERT
souborů ze služby Azure Blob Storage se vyžaduje v příkazu. Viz HROMADNÉ VLOŽENÍ.DATASOURCE
funkce se vyžadujeOPENROWSET
při čtení obsahu souboru ze služby Azure Blob Storage. Viz OPENROWSET.OPENROWSET
lze použít ke čtení dat z Azure SQL Database, Azure SQL Managed Instance nebo instancí SQL Serveru. Jiné zdroje, jako jsou databáze Oracle nebo excelové soubory, se nepodporují.
CLR
Spravovaná instance SQL nemá přístup ke sdíleným složkám a složkám Windows, takže platí následující omezení:
- Podporuje se jen
CREATE ASSEMBLY FROM BINARY
. Viz CREATE ASSEMBLY FROM BINARY. CREATE ASSEMBLY FROM FILE
není podporováno. Viz VYTVOŘENÍ SESTAVENÍ ZE SOUBORU.ALTER ASSEMBLY
nelze odkazovat na soubory. Viz ALTER ASSEMBLY.
Databázová pošta (db_mail)
sp_send_dbmail
nelze odesílat přílohy pomocí @file_attachments parametru. Místní systém souborů a externí sdílené složky nebo Azure Blob Storage nejsou z tohoto postupu přístupné.- Podívejte se na známé problémy související s
@query
parametry a ověřováním.
DBCC
Ve službě SQL Managed Instance nejsou podporované nepodporované příkazy DBCC, které jsou povolené na SQL Serveru.
- Podporuje se pouze omezený počet příznaků globálního trasování. Úroveň
Trace flags
relace není podporována. Viz příznaky trasování. - DBCC TRACEOFF a DBCC TRACEON pracují s omezeným počtem globálních příznaků trasování.
- DBCC CHECKDB s možnostmi REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST a REPAIR_REBUILD nejde použít, protože databázi nejde nastavit v režimu – viz rozdíly v
SINGLE_USER
alter DATABASE. Potenciální poškození databáze zpracovává tým podpora Azure. Pokud dojde k poškození databáze, obraťte se na podpora Azure.
Distribuované transakce
Distribuované transakce založené na T-SQL a .NET napříč spravovanými instancemi jsou obecně dostupné. Další scénáře, jako jsou transakce XA, distribuované transakce mezi spravovanými instancemi a dalšími účastníky a další, jsou podporovány pomocí DTC pro Azure SQL Managed Instance, která je k dispozici ve verzi Public Preview.
Rozšířené události
Rozšířené události (XEvents) nepodporují některé cíle specifické pro Windows:
- Cíl
etw_classic_sync
se nepodporuje. Soubory.xel
ukládejte ve službě Azure Blob Storage. Viz cíl etw_classic_sync. - Cíl
event_file
se nepodporuje. Soubory.xel
ukládejte ve službě Azure Blob Storage. Viz cíl event_file.
Externí knihovny
Externí knihovny jazyka R a Python v databázi jsou podporované v omezené verzi Public Preview. Viz Machine Learning Services ve službě Azure SQL Managed Instance (Preview)
FILESTREAM a FileTable
- Data FILESTREAM nejsou podporována.
- Databáze nemůže obsahovat skupiny souborů s
FILESTREAM
daty. FILETABLE
není podporováno.- Tabulky nemohou mít
FILESTREAM
typy. - Následující funkce nejsou podporované:
GetPathLocator()
GET_FILESTREAM_TRANSACTION_CONTEXT()
PathName()
GetFileNamespacePat)
FileTableRootPath()
Další informace naleznete v tématu FILESTREAM a FileTables.
Fulltextové sémantické vyhledávání
Sémantické vyhledávání není podporováno.
Odkazované servery
Propojené servery ve službě SQL Managed Instance podporují omezený počet cílů:
- Podporované cíle jsou SQL Managed Instance, SQL Database, Bezserverové a vyhrazené fondy Azure Synapse SQL a instance SQL Serveru.
- Cíle, které nejsou podporovány, jsou soubory, Analysis Services a další RDBMS. Zkuste použít nativní import CSV ze služby Azure Blob Storage
BULK INSERT
neboOPENROWSET
jako alternativu k importu souborů nebo načíst soubory pomocí bezserverového fondu SQL ve službě Azure Synapse Analytics.
Operace:
sp_dropserver
podporuje vyřazení propojeného serveru. Viz sp_dropserver.- Funkci
OPENROWSET
lze použít ke spouštění dotazů pouze na instancích SQL Serveru. Můžou se spravovat, místně nebo ve virtuálních počítačích. Viz OPENROWSET. - Funkci OPENDATASOURCE lze použít ke spouštění dotazů pouze na instancích SQL Serveru. Můžou se spravovat, místně nebo ve virtuálních počítačích. Příklad:
SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2022.HumanResources.Employee
.SQLNCLI
Jako zprostředkovatel se podporují pouze hodnoty ,SQLNCLI11
SQLOLEDB
aMSOLEDBSQL
hodnoty. Nativní klient SQL Serveru (často zkrácený SNAC) byl odebrán z SQL Serveru 2022 a SQL Server Management Studio 19 (SSMS). Pro nový vývoj se nedoporučuje nativní klient SQL Serveru (SQLNCLI nebo SQLNCLI11) a starší zprostředkovatel Microsoft OLE DB pro SQL Server (SQLOLEDB). Přejděte na nový ovladač Microsoft OLE DB (MSOLEDBSQL) pro SQL Server nebo nejnovější ovladač Microsoft ODBC pro SQL Server . - Odkazované servery se nedají použít ke čtení souborů (Excel, CSV) ze síťových sdílených složek. Zkuste použít FUNKCI BULK INSERT, OPENROWSET, která čte soubory CSV ze služby Azure Blob Storage nebo odkazovaný server, který odkazuje na bezserverový fond SQL ve službě Synapse Analytics. Sledovat tyto požadavky u položky zpětné vazby ke službě SQL Managed Instance
Propojené servery ve službě Azure SQL Managed Instance podporují ověřování SQL a ověřování Microsoft Entra.
PolyBase
Virtualizace dat pomocí služby Azure SQL Managed Instance umožňuje spouštět dotazy jazyka Transact-SQL (T-SQL) na data ze souborů uložených v Azure Data Lake Storage Gen2 nebo Azure Blob Storage a kombinovat je s místně uloženými relačními daty pomocí spojení. Formáty souborů Parquet a text s oddělovači (CSV) jsou podporovány přímo. Formát souboru JSON je nepřímo podporován zadáním formátu SOUBORU CSV, ve kterém dotazy vrací každý dokument jako samostatný řádek. Řádky je možné dále analyzovat pomocí JSON_VALUE
a OPENJSON
. Obecné informace o PolyBase naleznete v tématu PolyBase.
Funkce CREATE EXTERNAL TABLE AS SELECT (CETAS) navíc umožňuje exportovat data z vaší spravované instance SQL do externího účtu úložiště. Pomocí CETAS můžete vytvořit externí tabulku nad soubory Parquet nebo CSV azure Blob Storage nebo Azure Data Lake Storage (ADLS) Gen2. CETAS může také paralelně exportovat výsledky příkazu T-SQL SELECT do vytvořené externí tabulky.
Replikace
- Podporují se typy replikace snímků a obousměrných replikací. Sloučení replikace, replikace mezi dvěma účastníky a aktualizovatelná předplatná se nepodporují.
- Transakční replikace je dostupná pro spravovanou instanci SQL s určitými omezeními:
- Všechny typy účastníků replikace (Publisher, Distributor, Pull Subscriber a Push Subscriber) můžou být umístěné ve službě SQL Managed Instance, ale vydavatel a distributor musí být buď v cloudu, nebo v místním prostředí.
- Spravovaná instance SQL může komunikovat s posledními verzemi SQL Serveru. Další informace najdete v matici podporovaných verzí.
- Transakční replikace má několik dalších požadavků na síť.
Další informace o konfiguraci transakční replikace najdete v následujících kurzech:
- Replikace mezi vydavatelem SQL MI a předplatitelem SQL MI
- Replikace mezi vydavatelem SQL MI, distributorem SQL MI a předplatitelem SQL Serveru
Příkaz RESTORE
- Podporovaná syntaxe:
RESTORE DATABASE
RESTORE FILELISTONLY
RESTORE HEADERONLY
RESTORE LABELONLY
RESTORE VERIFYONLY
- Nepodporovaná syntaxe:
RESTORE LOGONLY
RESTORE REWINDONLY
- Zdroj:
FROM URL
(Azure Blob Storage) je jediná podporovaná možnost.FROM DISK
/TAPE
/Backup zařízení se nepodporuje.- Zálohovací sady se nepodporují.
WITH
možnosti nejsou podporovány. Pokusy o obnovení, mezi které patříWITH
napříkladDIFFERENTIAL
,STATS
REPLACE
a tak dále, selžou.
Operace obnovení databáze je asynchronní a opakovatelná ve službě Azure SQL Managed Instance. Pokud se připojení nezdaří nebo vyprší časový limit, může se v SSMS zobrazit chyba. Spravovaná instance Azure SQL se pokouší obnovit databázi na pozadí a průběh procesu obnovení můžete sledovat pomocí sys.dm_exec_requests a sys.dm_operation_status zobrazení dynamické správy.
Následující možnosti databáze jsou nastavené nebo přepsány a nelze je později změnit:
NEW_BROKER
pokud zprostředkovatel není v souboru .bak povolený.ENABLE_BROKER
pokud zprostředkovatel není v souboru .bak povolený.AUTO_CLOSE=OFF
pokud databáze v souboru .bak obsahujeAUTO_CLOSE=ON
.RECOVERY FULL
pokud má databáze v souboruSIMPLE
.bak neboBULK_LOGGED
model obnovení.- Přidá se skupina souborů optimalizovaná pro paměť a nazývá se XTP, pokud nebyla ve zdrojovém .bak souboru.
- Jakákoli existující skupina souborů optimalizovaná pro paměť se přejmenuje na XTP.
SINGLE_USER
aRESTRICTED_USER
možnosti jsou převedeny naMULTI_USER
.
Omezení:
- Zálohy poškozených databází se můžou obnovit v závislosti na typu poškození, ale automatizované zálohy se neprovedou, dokud se poškození neopraví. Ujistěte se, že spouštíte
DBCC CHECKDB
ve zdrojové spravované instanci SQL a používáte zálohováníWITH CHECKSUM
, abyste zabránili tomuto problému. .BAK
Obnovení souboru databáze, která obsahuje omezení popsaná v tomto dokumentu (napříkladFILESTREAM
neboFILETABLE
objekty), nelze obnovit ve službě SQL Managed Instance..BAK
soubory, které obsahují více záložních sad, nelze obnovit..BAK
soubory, které obsahují více souborů protokolu, nelze obnovit.- Zálohy obsahující databáze větší než 8 TB, aktivní objekty OLTP v paměti nebo počet souborů, které by překročily 280 souborů na instanci, nelze obnovit v instanci pro obecné účely.
- Zálohy obsahující databáze větší než 4 TB nebo objekty OLTP v paměti s celkovou velikostí větší, než je velikost popsaná v omezeních prostředků, není možné obnovit v instanci Pro důležité obchodní informace. Informace opříkazch
Důležité
Stejná omezení platí pro integrovanou operaci obnovení k určitému bodu v čase. Například databázi pro obecné účely větší než 4 TB nelze obnovit v instanci Pro důležité obchodní informace. Pro důležité obchodní informace databázi s soubory OLTP v paměti nebo více než 280 souborů nelze obnovit v instanci pro obecné účely.
Service Broker
Výměna zpráv zprostředkovatele služeb napříč instancemi je podporována pouze mezi službami Azure SQL Managed Instance:
CREATE ROUTE
: Nemůžete použítCREATE ROUTE
sADDRESS
jiným názvem nežLOCAL
s názvem DNS jiné spravované instance SQL. Port je vždy 4022.ALTER ROUTE
: Nemůžete použítALTER ROUTE
sADDRESS
jiným názvem nežLOCAL
s názvem DNS jiné spravované instance SQL. Port je vždy 4022.
Zabezpečení přenosu se podporuje, zabezpečení dialogových oken není:
CREATE REMOTE SERVICE BINDING
není podporováno.
Služba Service Broker je ve výchozím nastavení povolená a nejde ji zakázat. Následující možnosti ALTER DATABASE nejsou podporované:
ENABLE_BROKER
DISABLE_BROKER
Uložené procedury, funkce a triggery
NATIVE_COMPILATION
na úrovni Pro obecné účely se nepodporuje.- Následující možnosti sp_configure se nepodporují:
allow polybase export
allow updates
filestream_access_level
remote access
remote data archive
remote proc trans
scan for startup procs
- Následující možnosti sp_configure se ignorují a nemají žádný vliv:
Ole Automation Procedures
sp_execute_external_scripts
služba Machine Learning Services pro SQL MI je podporovaná, jinaksp_execute_external_scripts
se pro spravovanou instanci SQL nepodporuje. Viz sp_execute_external_scripts.xp_cmdshell
není podporováno. Viz xp_cmdshell.Extended stored procedures
nejsou podporovány a to zahrnujesp_addextendedproc
asp_dropextendedproc
. Tato funkce nebude podporována, protože se jedná o cestu vyřazení sql Serveru. Další informace naleznete v tématu Rozšířené uložené procedury.sp_attach_db
,sp_attach_single_file_db
asp_detach_db
nejsou podporovány. Viz sp_attach_db, sp_attach_single_file_db a sp_detach_db.
Systémové funkce a proměnné
Následující proměnné, funkce a zobrazení vrací různé výsledky:
SERVERPROPERTY('EngineEdition')
vrátí hodnotu 8. Tato vlastnost jednoznačně identifikuje spravovanou instanci SQL. Viz SERVERPROPERTY.SERVERPROPERTY('InstanceName')
vrátí hodnotu NULL, protože koncept instance, protože existuje pro SQL Server, se nevztahuje na spravovanou instanci SQL. Viz SERVERPROPERTY('InstanceName').@@SERVERNAME
vrátí úplný název "připojitelné" DNS,my-managed-instance.wcus17662feb9ce98.database.windows.net
například . Viz @@SERVERNAME.SYS.SERVERS
vrátí úplný název "připojitelný" DNS, napříkladmyinstance.domain.database.windows.net
pro vlastnosti "name" a "data_source". Viz SYS. SERVERY.@@SERVICENAME
vrátí hodnotu NULL, protože koncept služby, protože existuje pro SQL Server, se nevztahuje na službu SQL Managed Instance. Viz @@SERVICENAME.SUSER_ID
se podporuje. Vrátí hodnotu NULL, pokud není přihlášení Microsoft Entra .sys.syslogins
Viz SUSER_ID.SUSER_SID
není podporováno. Vrátí se nesprávná data, což je dočasný známý problém. Viz SUSER_SID.
Omezení prostředí
Podsíť
- Do podsítě, do které jste nasadili spravovanou instanci SQL, nemůžete umístit žádné další prostředky (například virtuální počítače). Nasaďte tyto prostředky pomocí jiné podsítě.
- Podsíť musí mít dostatečný počet dostupných IP adres. Minimum je mít v podsíti aspoň 32 IP adres.
- Počet virtuálních jader a typů instancí, které můžete nasadit v určité oblasti, mají určitá omezení a omezení.
- V podsíti je potřeba použít konfiguraci sítě.
Virtuální síť
- Virtuální síť je možné nasadit pomocí modelu prostředků. Klasický model nepodporuje nasazení virtuální sítě.
- Po vytvoření spravované instance SQL se přesun spravované instance SQL nebo virtuální sítě do jiné skupiny prostředků nebo předplatného nepodporuje.
- U spravovaných instancí SQL hostovaných ve virtuálních clusterech vytvořených před 22. zářím 2020 se globální partnerský vztah virtuálních sítí nepodporuje. K těmto prostředkům se můžete připojit přes ExpressRoute nebo VNet-to-VNet prostřednictvím bran virtuálních sítí.
Skupiny převzetí služeb při selhání
Systémové databáze se nereplikují do sekundární instance ve skupině převzetí služeb při selhání. Proto scénáře, které závisí na objektech ze systémových databází, nejsou v sekundární instanci možné, pokud nejsou objekty ručně vytvořeny na sekundární instanci.
tempdb
- Maximální velikost
tempdb
souboru systémové databáze nesmí být větší než 24 GB na jádro na úrovni Pro obecné účely. Maximálnítempdb
velikost na úrovni Pro důležité obchodní informace je omezená velikostí úložiště služby SQL Managed Instance.tempdb
Velikost souboru protokolu je omezená na 120 GB na úrovni Pro obecné účely. Některé dotazy můžou vrátit chybu, pokud potřebují více než 24 GB na jádrotempdb
nebo pokud produkují více než 120 GB dat protokolu. tempdb
je vždy rozdělený do 12 datových souborů: 1 primární, také označovanýmaster
jako datový soubor, datový soubor a 11 neprimárních datových souborů. Strukturu souborů nelze změnit a do souboru nelze přidattempdb
nové soubory.- Metadata databáze TempDB optimalizovaná pro paměť, nová funkce databáze v paměti SQL Serveru 2019, není podporovaná.
- Objekty vytvořené v
model
databázi se po restartování nebo převzetí služeb při selhání nedají automaticky vytvořittempdb
, protožetempdb
zmodel
databáze se nezobrazí počáteční seznam objektů. Objektytempdb
musíte vytvořit ručně po každém restartování nebo převzetí služeb při selhání.
msdb
V systémové databázi ve službě SQL Managed Instance musí být ve vlastnictví těchto předdefinovaných rolí následující schémata msdb
:
- Obecné role
- TargetServersRole
- Pevné databázové role
- Role uživatele agenta SQL
- Role čtenáře agenta SQL
- Role operátora agenta SQL
- Role DatabaseMail:
- DatabaseMailUserRole
- Role integračních služeb:
- db_ssisadmin
- db_ssisltduser
- db_ssisoperator
Důležité
Změna předdefinovaných názvů rolí, názvů schémat a vlastníků schémat ze strany zákazníků ovlivní normální provoz služby. Všechny změny provedené v těchto změnách se vrátí zpět k předdefinovaným hodnotám, jakmile se zjistí, nebo při příští aktualizaci služby nejpozději, aby se zajistila normální operace služby.
Protokoly chyb
Sql Managed Instance umístí podrobné informace do protokolů chyb. Existuje mnoho interních systémových událostí, které jsou protokolovány v protokolu chyb. Vlastní postup slouží ke čtení protokolů chyb, které filtrují některé irelevantní položky. Další informace najdete v tématu SQL Managed Instance – sp_readmierrorlog nebo rozšíření SQL Managed Instance (Preview) pro Azure Data Studio.
Změna počtu zachovaných protokolů chyb není podporována.