Rozdíly v SQL mezi SQL Server & spravovanou instancí Azure SQL

platí pro: spravovaná Instance Azure SQL

Tento článek shrnuje a vysvětluje rozdíly v syntaxi a chování mezi službami Azure SQL Managed Instance a SQL Server.

SQL Managed Instance poskytuje vysokou kompatibilitu s databázovým strojem SQL Server a většina funkcí je podporována ve spravované instanci SQL systému.

Snadná migrace z SQL Server

Existují určitá omezení PaaS, která jsou zavedená ve spravované instanci SQL, a některé změny chování v porovnání s SQL Server. Rozdíly jsou rozdělené do následujících kategorií:

Většina z těchto funkcí představuje architektonická omezení a představuje funkce služby.

Dočasné známé problémy, které jsou zjištěny SQL spravované instanci a budou vyřešeny v budoucnu, jsou popsány v článku Co je nového?.

Dostupnost

Skupiny dostupnosti Always On

Vysoká dostupnost je integrovaná SQL spravované instanci a uživatelé ji nespravovat. Následující příkazy nejsou podporovány:

Backup

SQL managed instance má automatické zálohy, takže uživatelé mohou vytvářet úplné COPY_ONLY zálohy databáze. Rozdílové zálohování, zálohování protokolů a snímků souborů se nepodporuje.

  • V případě SQL spravované instance můžete zálohovat databázi instance pouze do účtu úložiště objektů blob v Azure:
    • Podporuje BACKUP TO URL se pouze .
    • FILEZálohovací zařízení , a TAPE se nepodporují.
  • Většina obecných WITH možností je podporována.
    • COPY_ONLY je povinné.
    • FILE_SNAPSHOT se nepodporuje.
    • Možnosti pásky: , , a REWIND NOREWIND nejsou UNLOAD NOUNLOAD podporovány.
    • Možnosti specifické pro protokol: , a NORECOVERY STANDBY se NO_TRUNCATE nepodporují.

Omezení:

  • Se spravovanou instancí SQL můžete zálohovat databázi instance do zálohy s až 32 pruhy, což je dostačující pro databáze až 4 TB, pokud se používá komprese záloh.

  • U databáze, která je šifrovaná pomocí služby spravované služby, se ne BACKUP DATABASE ... WITH COPY_ONLY transparentní šifrování dat (TDE). TDE spravované službou vynutí šifrování záloh pomocí interního klíče TDE. Klíč není možné exportovat, takže zálohu nemůžete obnovit. Použijte automatické zálohování a obnovení k bodu v čase nebo místo toho použijte TDE spravované zákazníkem (BYOK). Můžete také zakázat šifrování databáze.

  • Nativní zálohy pořízené ve spravované instanci není možné obnovit do SQL Server. Je to proto, že spravovaná instance má vyšší verzi interní databáze ve srovnání s jakoukoli SQL Server.

  • Pokud chcete zálohovat nebo obnovit databázi do a z úložiště Azure, je potřeba vytvořit sdílený přístupový podpis (SAS) identifikátor URI, který vám uděluje omezená přístupová práva k prostředkům Azure Storage Další informace o tomto tématu. Použití přístupových klíčů pro tyto scénáře se nepodporuje.

  • Maximální velikost prokládaného zálohování pomocí příkazu v SQL Managed Instance je BACKUP 195 GB, což je maximální velikost objektu blob. Zvýšením počtu pruhů v příkazu pro zálohování zmenšete velikost jednotlivých pruhů a zůstaňte v tomto limitu.

    Tip

    Pokud chcete toto omezení obejít, můžete při zálohování databáze SQL Server v místním prostředí nebo na virtuálním počítači:

    • Zálohování na DISK místo zálohování do URL .
    • Upload záložní soubory do úložiště objektů blob.
    • Obnovte do SQL spravované instance.

    Příkaz ve spravované SQL 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á Restore jiný typ objektu blob.

Informace o zálohování pomocí T-SQL v tématu ZÁLOHOVÁNÍ.

Zabezpečení

Auditování

Mezi hlavní rozdíly mezi auditování v Microsoft Azure SQL a v SQL Server jsou:

  • V SQL spravované instanci funguje auditování na úrovni serveru. Soubory .xel protokolu se ukládají v úložišti objektů blob v Azure.
  • Při Azure SQL Database funguje auditování na úrovni databáze. Soubory .xel protokolu se ukládají v úložišti objektů blob v Azure.
  • Díky SQL Server, místnímu prostředí nebo virtuálním počítačům funguje auditování na úrovni serveru. Události se ukládají v systému souborů nebo Windows protokolů událostí.

Auditování XEvent ve spravované instanci SQL podporuje cíle služby Azure Blob Storage. Soubory a Windows se nepodporují.

Hlavní rozdíly v CREATE AUDIT syntaxi pro auditování do služby Azure Blob Storage jsou následující:

  • K dispozici je nová syntaxe, kterou můžete použít k zadání adresy URL kontejneru TO URL úložiště objektů blob v Azure, kam se soubory .xel umístí.
  • Syntaxe není podporovaná, protože SQL instance nemá přístup ke Windows TO FILE sdílených složek.

Další informace naleznete v tématu:

Certifikáty

SQL spravovaná instance nemůže přistupovat ke složkám souborů a Windows, takže platí následující omezení:

  • Tento CREATE FROM / BACKUP TO soubor není podporovaný pro certifikáty.
  • Certifikát CREATE / BACKUP z FILE / ASSEMBLY se nepodporuje. Soubory privátních klíčů nelze použít.

Viz CREATE CERTIFICATE and BACKUP CERTIFICATE.

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 soubor .sql a vytvořte ho z binárního souboru:

CREATE CERTIFICATE  
   FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>)

Přihlašovací údaj

Podporují Azure Key Vault SHARED ACCESS SIGNATURE a identity. Windows uživatelé nejsou podporováni.

Viz CREATE CREDENTIAL a ALTER CREDENTIAL.

Zprostředkovatelé kryptografických služeb

SQL Managed Instance nemůže získat přístup k souborům, takže není možné vytvořit zprostředkovatele kryptografických služeb:

Přihlášení a uživatelé

  • SQL přihlášení vytvořená pomocí FROM CERTIFICATE , FROM ASYMMETRIC KEY a jsou FROM SID podporovaná. Viz CREATE LOGIN.

  • Azure Active Directory (přihlášení) serveru Azure AD vytvořené pomocí syntaxe CREATE LOGIN nebo syntaxe CREATE USER FROM LOGIN [přihlášení Azure AD]. Tato přihlášení se vytvářejí na úrovni serveru.

    SQL Managed Instance podporuje objekty zabezpečení databáze Azure AD se syntaxí CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER . Tato funkce se také označuje jako uživatelé databáze s obsažené službou Azure AD.

  • Windows přihlášení vytvořená pomocí CREATE LOGIN ... FROM WINDOWS syntaxe se nepodporují. Použijte Azure Active Directory přihlášení a uživatele.

  • Správce Azure AD pro instanci má neomezená oprávnění správce.

  • Uživatele na úrovni databáze Azure AD bez oprávnění správce je možné vytvořit pomocí CREATE USER ... FROM EXTERNAL PROVIDER syntaxe . Viz CREATE USER... Z EXTERNÍHO POSKYTOVATELE.

  • Objekty zabezpečení serveru Azure AD (přihlášení) podporují SQL v rámci jedné SQL spravované instance. Funkce, které vyžadují interakci mezi instancemi bez ohledu na to, jestli jsou ve stejném tenantovi Azure AD nebo v různých tenantech, nejsou pro uživatele Azure AD podporované. Příklady takových funkcí:

    • SQL transakční replikace.
    • Odkazový server.
  • Nastavení přihlášení Azure AD namapovaného na skupinu Azure AD jako vlastníka databáze se nepodporuje. Členem skupiny Azure AD může být vlastník databáze, i když v databázi nebylo vytvořeno přihlášení.

  • Zosobnění objektů zabezpečení na úrovni serveru Azure AD pomocí jiných objektů zabezpečení Služby Azure AD se podporuje, například klauzule EXECUTE AS. Omezení funkce EXECUTE AS:

    • Funkce EXECUTE AS USER se pro uživatele Azure AD nepodporuje, pokud se název liší od přihlašovacího jména. Příkladem je vytvoření uživatele pomocí syntaxe CREATE USER [myAadUser] FROM LOGIN [ ] a pokus o zosobnění prostřednictvím příkazu john@contoso.com EXEC AS USER = myAadUser. Při vytváření uživatele z objektu zabezpečení (přihlášení) serveru Azure AD zadejte user_name jako stejný login_name login.

    • Pouze SQL Server úrovni zabezpečení (přihlášení), které jsou součástí role, mohou provádět následující operace, sysadmin které cílí na objekty zabezpečení Azure AD:

      • SPUSTIT JAKO UŽIVATEL
      • SPUSTIT JAKO PŘIHLÁŠENÍ
    • Pokud chcete zosobnit uživatele pomocí příkazu EXECUTE AS, musí být uživatel namapovaný přímo na objekt zabezpečení serveru Azure AD (přihlášení). Uživatelé, kteří jsou členy skupin Azure AD namapovaných na objekty zabezpečení serveru Azure AD, nelze efektivně zosobnit příkazem EXECUTE AS, i když má volající oprávnění zosobnit zadané uživatelské jméno.

  • Export a import databáze pomocí souborů bacpac se podporuje pro uživatele Azure AD ve spravované instanci nástroje SQL pomocí SSMS verze 18.4nebo novější neboSQLPackage.exe.

    • Při použití souboru bacpac databáze se podporují následující konfigurace:
      • Export a import databáze mezi různými instancemi správy v rámci stejné domény Azure AD
      • Export databáze ze spravované SQL a import do SQL Database v rámci stejné domény Azure AD.
      • Exportujte databázi z SQL Database a importujte do SQL instance v rámci stejné domény Azure AD.
      • Export databáze ze spravované SQL a import do SQL Server (verze 2012 nebo novější).
        • V této konfiguraci se všichni uživatelé Azure AD vytvářejí SQL Server objektů zabezpečení databáze (uživatelů) bez přihlášení. Typ uživatelů je uveden jako a SQL je viditelný jako v SQL_USER sys.database_principals). Jejich oprávnění a role zůstanou v SQL Server metadatech databáze a lze je použít k zosobnění. Nelze je ale použít pro přístup k serveru a přihlášení k SQL Server pomocí svých přihlašovacích údajů.
  • Pouze hlavní přihlášení na úrovni serveru, které je vytvořené procesem zřizování spravované instance SQL, členy rolí serveru, jako jsou nebo , nebo jiná přihlášení s oprávněním ALTER ANY LOGIN na úrovni serveru, mohou vytvářet objekty zabezpečení serveru securityadmin Azure AD (přihlášení) v hlavní databázi pro spravovanou instanci sysadmin SQL.

  • Pokud je přihlášení objektem SQL, mohou k vytvoření přihlášení pro účet Azure AD použít příkaz create, pouze přihlášení, která jsou součástí sysadmin této role.

  • Přihlášení k Azure AD musí být členem Azure AD v rámci stejného adresáře, který se používá pro Azure SQL Managed Instance.

  • Objekty zabezpečení (přihlášení) serveru Azure AD jsou viditelné v Průzkumník objektů počínaje SQL Server Management Studio verze 18.0 Preview 5.

  • Po povolení objektu zabezpečení serveru s úrovní přístupu správce systému se pro účet správce Azure AD automaticky vytvoří objekt zabezpečení.

  • Během ověřování se k vyřešení ověřovacího objektu zabezpečení použije následující posloupnost:

    1. Pokud účet Azure AD existuje jako přímo mapovaný na objekt zabezpečení serveru Azure AD (přihlášení), který se nachází v sys.server_principals jako typ "E", udělte přístup a použijte oprávnění objektu zabezpečení serveru Azure AD (přihlášení).
    2. Pokud je účet Azure AD členem skupiny Azure AD, která je namapovaná na objekt zabezpečení serveru Azure AD (přihlášení), který se nachází v sys.server_principals jako typ "X", udělte přístup a použijte oprávnění pro přihlášení skupiny Azure AD.
    3. Pokud účet Azure AD existuje jako přímo mapovaný na uživatele Azure AD v databázi, která se nachází v sys.database_principals jako typ "E", udělte přístup a použijte oprávnění uživatele databáze Azure AD.
    4. Pokud je účet Azure AD členem skupiny Azure AD, která je namapovaná na uživatele Azure AD v databázi, která se nachází v souboru sys.database_principals jako typ "X", udělte přístup a použijte oprávnění uživatele skupiny Azure AD.

Klíč služby a hlavní klíč služby

Konfigurace

Rozšíření fondu vyrovnávacích pamětí

Kolace

Výchozí kolace instance je a SQL_Latin1_General_CP1_CI_AS lze ji zadat jako parametr vytvoření. Viz Kolace.

Úrovně kompatibility

  • Podporované úrovně kompatibility jsou 100, 110, 120, 130, 140 a 150.
  • Úrovně kompatibility nižší než 100 se nepodporují.
  • Výchozí úroveň kompatibility pro nové databáze je 140. U obnovených databází zůstane úroveň kompatibility beze změny, pokud byla 100 a vyšší.

Viz ALTER DATABASE Compatibility Level.

Zrcadlení databáze

Zrcadlení databáze se nepodporuje.

  • ALTER DATABASE SET PARTNER Možnosti SET WITNESS a nejsou podporované.
  • CREATE ENDPOINT … FOR DATABASE_MIRRORING se nepodporuje.

Další informace najdete v tématu ALTER DATABASE SET PARTNER a SET WITNESS a CREATE ENDPOINT... PRO DATABASE_MIRRORING.

Možnosti databáze

  • Více souborů protokolu není podporováno.
  • Objekty v paměti nejsou podporované v Pro obecné účely služby.
  • Existuje limit 280 souborů na jednu instanci Pro obecné účely, což znamená maximálně 280 souborů na databázi. Do tohoto limitu se započítávají datové i protokolové Pro obecné účely úrovni úložiště. Úroveň Pro důležité obchodní informace podporuje 32 767 souborů na databázi.
  • Databáze nemůže obsahovat skupiny souborů, které obsahují data streamu souboru. Obnovení selže, pokud soubor .bak obsahuje FILESTREAM data.
  • Každý soubor je umístěný v Úložišti objektů blob v Azure. V/V a propustnost na soubor závisí na velikosti jednotlivých souborů.

Příkaz CREATE DATABASE

Pro platí následující CREATE DATABASE omezení:

  • Soubory a skupiny souborů není možné definovat.

  • Tato CONTAINMENT možnost není podporovaná.

  • WITH možnosti nejsou podporované.

    Tip

    Alternativním řešením je nastavit možnosti databáze pro přidání souborů nebo jejich zadržování pomocí ALTER DATABASE CREATE DATABASE možnosti po .

  • Tato FOR ATTACH možnost není podporovaná.

  • Tato AS SNAPSHOT OF možnost není podporovaná.

Další informace najdete v tématu CREATE DATABASE.

Příkaz ALTER DATABASE

Některé vlastnosti souboru není možné nastavit ani změnit:

  • V příkazu T-SQL nelze ALTER DATABASE ADD FILE (FILENAME='path') zadat cestu k souboru. Odeberte FILENAME skript, protože SQL Managed Instance automaticky umístí soubory.
  • Název souboru nelze změnit pomocí ALTER DATABASE příkazu .

Následující možnosti jsou ve výchozím nastavení nastavené a nelze je změnit:

  • MULTI_USER
  • ENABLE_BROKER
  • AUTO_CLOSE OFF

Následující možnosti není možné 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 hned po vytvoření databáze. V tomto případě ALTER DATABASE by se měl zopakovat příkaz . Další informace o souvisejících chybových zprávách najdete v části Poznámky.

Další informace najdete v tématu ALTER DATABASE.

SQL Server Agent

  • Povolení a zakázání SQL Server agentů se ve spravované instanci SQL nepodporuje. Agent SQL je vždy spuštěný.
  • Trigger plánu úlohy na základě nečinného procesoru se nepodporuje.
  • SQL Server agentů jsou jen pro čtení. Tento sp_set_agent_properties postup se ve spravované instanci SQL nepodporuje.
  • Úlohy
    • Podporované SQL úlohy T-SQL.
    • Podporují se následující úlohy replikace:
      • Čtečka transakčních protokolů
      • Snímek
      • Distributor
    • Podporují se kroky úlohy SSIS.
    • Jiné typy kroků úloh se v současné době nepodporují:
      • Krok úlohy slučovací replikace není podporován.
      • Čtečka front není podporovaná.
      • Příkazové prostředí se zatím nepodporuje.
    • SQL spravovaná instance nemůže přistupovat k externím prostředkům, například ke síťovým sdílením přes robocopy.
    • SQL Server Analysis Services se nepodporuje.
  • Oznámení jsou částečně podporována.
  • E-mailová oznámení jsou podporovaná, ale vyžaduje konfiguraci Databázová pošta profilu. SQL Server Agent může používat pouze jeden Databázová pošta profilu a musí se nazývat AzureManagedInstance_dbmail_profile .
    • Pager se nepodporuje.
    • NetSend se nepodporuje.
    • Výstrahy se zatím nepodporují.
    • Nejsou podporované pro.
  • Protokol událostí se nepodporuje.
  • Uživatel musí být přímo namapovaný na objekt zabezpečení serveru Azure AD (přihlášení), aby mohl vytvářet, upravovat nebo spouštět SQL agentů. Uživatelé, kteří nejsou přímo namapované, například uživatelé, kteří patří do skupiny Azure AD s právy k vytváření, úpravám nebo spouštění úloh agenta SQL, nebudou moct tyto akce efektivně provádět. Je to kvůli omezením zosobnění spravované instance a příkazu EXECUTE AS.
  • Funkce správy více serverů pro hlavní/cílové úlohy (MSX/TSX) není podporována.

Informace o agentovi SQL Server najdete v tématu SQL Server Agent.

Tabulky

Následující typy tabulek se nepodporují:

Informace o vytváření a změně tabulek najdete v tématu CREATE TABLE a ALTER TABLE.

Funkce

Hromadné vložení / OPENROWSET

SQL Managed Instance nemůže přistupovat ke složkám souborů a Windows složkám, takže se soubory musí importovat z Úložiště objektů blob v Azure:

  • DATASOURCE při importu souborů ze služby Azure Blob Storage se vyžaduje BULK INSERT příkaz . Viz BULK INSERT.
  • DATASOURCE se ve funkci OPENROWSET vyžaduje při čtení obsahu souboru z úložiště objektů blob v Azure. Viz OPENROWSET.
  • OPENROWSETmůžete použít ke čtení dat z Azure SQL Database, Azure SQL Managed Instance nebo SQL Server instancí. Jiné zdroje, jako jsou databáze Oracle nebo Excel soubory, se nepodporují.

CLR

Spravovaná SQL instance nemůže přistupovat ke sdílených složkám a Windows složkám, takže platí následující omezení:

Databázová pošta (db_mail)

  • sp_send_dbmail nemůže odesílat přílohy pomocí @file_attachments parametru . Místní systém souborů a externí sdílené složky nebo služby Azure Blob Storage tímto postupem nejsou přístupné.
  • Podívejte se na známé problémy související s @query parametrem a ověřováním.

DBCC

Nezdokumentované příkazy DBCC, které jsou povolené v SQL Server, nejsou ve spravované instanci SQL podporované.

  • Podporuje se pouze omezený počet příznaků globálního trasování. Úroveň relace Trace flags se nepodporuje. Viz Trasování příznaků.
  • DBCC TRACEOFF a DBCC TRACEON fungují 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 nelze použít, protože databázi nelze nastavit v režimu – viz SINGLE_USER rozdíly v příkazu ALTER DATABASE. Potenciální poškození databáze zpracovává podpora Azure tým. Pokud podpora Azure informace o poškození databáze, kontaktujte nás.

Distribuované transakce

Částečná podpora distribuovaných transakcí je aktuálně ve verzi Public Preview. Distribuované transakce se podporují za následujících podmínek (všechny musí být splněny):

  • Všichni účastníci transakcí jsou SQL spravované instance Azure, které jsou součástí skupiny důvěryhodnosti serveru.
  • transakce jsou iniciované buď z rozhraní .NET (třída TransactionScope), nebo z rozhraní Transact-SQL.

Spravovaná instance Azure SQL v současné době nepodporuje jiné scénáře, které pravidelně podporuje místní služba MSDTC nebo služba Azure Virtual Machines.

Rozšířené události

Rozšířené události (XEvents) nepodporují některé cíle specifické pro Windows:

  • Cíl etw_classic_sync se nepodporuje. Ukládání .xel souborů ve službě Azure Blob Storage. Viz cíl etw_classic_sync.
  • Cíl event_file se nepodporuje. Ukládání .xel souborů ve službě Azure Blob Storage. Viz cíl event_file.

Externí knihovny

Externí knihovny jazyka R a Pythonu 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 streamu souborů se nepodporují.
  • Databáze nemůže obsahovat skupiny souborů s FILESTREAM daty.
  • FILETABLE se nepodporuje.
  • Tabulky nemůže mít FILESTREAM typy.
  • Následující funkce nejsou podporovány:
    • GetPathLocator()
    • GET_FILESTREAM_TRANSACTION_CONTEXT()
    • PathName()
    • GetFileNamespacePat)
    • FileTableRootPath()

Další informace najdete v tématu FILESTREAM a FileTables.

Sémantické vyhledávání se nepodporuje.

Propojené servery

Odkazované servery SQL spravované instanci podporují omezený počet cílů:

  • Podporované cíle jsou SQL managed instance, SQL Database, Azure Synapse SQL bez serveru a vyhrazené fondy a SQL Server instance.
  • Distribuované zapisovatelné transakce jsou možné pouze mezi spravovanými instancemi. Další informace najdete v tématu Distribuované transakce. Příkaz MS DTC se však nepodporuje.
  • Cíle, které nejsou podporované, jsou soubory, Analysis Services a další RDBMS. Zkuste použít nativní import CSV z Azure Blob Storage pomocí nebo jako alternativu k importu souborů nebo načíst soubory pomocí bez serveru BULK INSERT OPENROWSET SQL ve Azure Synapse Analytics.

Operace:

  • Transakce zápisu mezi instancemi jsou podporovány pouze pro spravované instance.
  • sp_dropserver se podporuje pro vyhození odkazového serveru. Viz sp_dropserver.
  • Funkci OPENROWSET lze použít ke spouštění dotazů pouze v SQL Server instancích. Mohou být spravované, místní nebo na virtuálních počítačích. Viz OPENROWSET.
  • Funkci OPENDATASOURCE lze použít ke spouštění dotazů pouze v SQL Server instancích. Mohou být spravované, místní nebo na virtuálních počítačích. Jako SQLNCLI zprostředkovatel se podporují pouze hodnoty , SQLNCLI11 SQLOLEDB a . Příklad: SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee. Viz OPENDATASOURCE.
  • Odkazované servery nelze použít ke čtení souborů (Excel, CSV) ze síťových sdílených složek. Zkuste použít BULK INSERT, OPENROWSET, který čte soubory CSV z Azure Blob Storage, nebo odkazovaný server,který odkazuje na bezsídový fond SQL v Synapse Analytics . Sledujte tyto žádosti u SQL zpětné vazby ke spravované instanci.|

Propojené servery ve službě Azure SQL Managed Instance podporují SQL ověřování a AAD ověřování.

PolyBase

Práce na povolení podpory PolyBase v SQL managed instance probíhá. Do té doby můžete jako alternativní řešení použít propojené servery do bez serveru ve službě SQL nebo Synapse Analytics SQL Server k dotazování dat ze souborů uložených v Azure Data Lake nebo Azure Storage.
Obecné informace o PolyBase najdete v tématu PolyBase.

Replikace

  • Podporují se typy snímků a obousměrné replikace. Slučovací replikace, replikace peer-to-peer a aktualizovatelná předplatná se nepodporují.
  • Transakční replikace je dostupná pro verzi Public Preview SQL spravované instanci s některými omezeními:
    • Všechny typy účastníků replikace (Publisher, distributor, předplatitel vyžádané replikace SQL odběratelé) je možné umístit do spravované instance, ale vydavatel SQL distributor musí být buď v cloudu, nebo v místním prostředí.
    • SQL spravovaná instance může komunikovat s nejnovějšími verzemi SQL Server. Další informace najdete v matici podporovaných verzí.
    • Transakční replikace má některé další požadavky na síť.

Další informace o konfiguraci transakční replikace najdete v následujících kurzech:

Příkaz RESTORE

  • Podporovaná syntaxe:
    • RESTORE DATABASE
    • RESTORE FILELISTONLY ONLY
    • RESTORE HEADER ONLY
    • RESTORE LABELONLY ONLY
    • RESTORE VERIFYONLY ONLY
  • Nepodporovaná syntaxe:
    • RESTORE LOG ONLY
    • RESTORE REWINDONLY ONLY
  • Zdroj:
    • FROM URL (Azure Blob Storage) je jediná podporovaná možnost.
    • FROM DISK/TAPE/backup není podporováno.
    • Zálohovací sady nejsou podporované.
  • WITH možnosti nejsou podporované. Pokusy o WITH DIFFERENTIAL obnovení, jako jsou STATS , , REPLACE atd., selžou.
  • ASYNC RESTORE: Obnovení pokračuje i v případě, že se připojení klienta přeruší. Pokud dojde k vyřazení připojení, můžete zkontrolovat stav operace obnovení a databázi sys.dm_operation_status CREATE a DROP. Viz sys.dm_operation_status.

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 obsahuje AUTO_CLOSE=ON .
  • RECOVERY FULL , pokud má databáze v souboru BAK SIMPLE režim BULK_LOGGED obnovení nebo .
  • Přidá se skupina souborů optimalizovaná pro paměť, která se nazývá XTP, pokud nebyla ve zdrojovém souboru .bak.
  • Všechny existující skupiny souborů optimalizované pro paměť se přejmenují na XTP.
  • SINGLE_USER Možnosti RESTRICTED_USER a se převedou na MULTI_USER .

Omezení:

  • Zálohy poškozených databází se můžou obnovit v závislosti na typu poškození, ale automatizované zálohy nebudou pořízeny, dokud nebude poškození opraveno. Ujistěte se, že jste spouštění ve zdrojové SQL spravované instanci a abyste tomuto problému zabránili, použijte DBCC CHECKDB WITH CHECKSUM zálohování.
  • Obnovení souboru databáze, který obsahuje omezení popsaná v tomto dokumentu (například objekty), nelze ve spravované instanci .BAK FILESTREAM SQL FILETABLE obnovit.
  • .BAK Soubory, které obsahují více zálohovacího souboru, není možné obnovit.
  • .BAK Soubory, které obsahují více souborů protokolu, není možné obnovit.
  • Zálohy, které obsahují 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, není možné obnovit v Pro obecné účely instanci.
  • Zálohy, které obsahují 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ů, Pro důležité obchodní informace instanci obnovit. Informace o příkazy restore najdete v tématu příkazy RESTORE.

Důležité

Stejná omezení platí pro integrovanou operaci obnovení k bodu v čase. V instanci Pro obecné účely databázi větší než 4 TB například Pro důležité obchodní informace obnovit. Pro důležité obchodní informace databáze se soubory OLTP v paměti nebo s více než 280 soubory nelze obnovit Pro obecné účely instanci.

Service Broker

Výměna zpráv zprostředkovatele služeb mezi instancemi se podporuje pouze mezi službami Azure SQL spravovanými instancemi:

  • CREATE ROUTE: Ve spravované instanci nemůžete použít jiný název než ani název CREATE ROUTE ADDRESS DNS SQL spravované LOCAL instance. Port je vždy 4022.
  • ALTER ROUTE: Ve spravované instanci nemůžete použít jiný název než ani název ALTER ROUTE ADDRESS DNS SQL spravované LOCAL instance. Port je vždy 4022.

Zabezpečení přenosu se podporuje, zabezpečení dialogového okna není:

  • CREATE REMOTE SERVICE BINDINGse nepodporuje.

Služba Service Broker je ve výchozím nastavení povolená a nelze ji zakázat. Následující možnosti ALTER DATABASE se nepodporují:

  • ENABLE_BROKER
  • DISABLE_BROKER

Uložené procedury, funkce a triggery

  • NATIVE_COMPILATION se na úrovni Pro obecné účely nepodporuje.
  • Následující 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í sp_configure jsou ignorovány a nemají žádný vliv:
    • Ole Automation Procedures
  • sp_execute_external_scripts se nepodporuje. Viz sp_execute_external_scripts.
  • xp_cmdshell se nepodporuje. Viz xp_cmdshell.
  • Extended stored procedures nejsou podporovány, a to zahrnuje sp_addextendedproc a sp_dropextendedproc . Tato funkce nebude podporována, protože je na cestě k vyněcování pro SQL Server. Další podrobnosti najdete v tématu Rozšířené uložené procedury.
  • sp_attach_db, sp_attach_single_file_db sp_detach_db a se nepodporují. Viz sp_attach_db, sp_attach_single_file_dba 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 SQL instanci. Viz SERVERPROPERTY.
  • SERVERPROPERTY('InstanceName')vrací hodnotu NULL, protože koncept instance, protože existuje SQL Server se nevztahuje na SQL spravované instance. Viz SERVERPROPERTY('InstanceName').
  • @@SERVERNAME vrátí úplný název DNS "připojitelný", například my-managed-instance.wcus17662feb9ce98.database.windows.net. Viz @SERVERNAME @.
  • SYS.SERVERS vrátí úplný název DNS "připojitelný", například pro vlastnosti myinstance.domain.database.windows.net "name" a "data_source". Viz SYS. SERVERY.
  • @@SERVICENAMEvrací hodnotu NULL, protože koncept služby, který existuje SQL Server se nevztahuje na SQL instanci. Viz @SERVICENAME @.
  • SUSER_ID se podporuje. Pokud přihlášení Azure AD není v sys.syslogins, vrátí hodnotu NULL. Viz SUSER_ID.
  • SUSER_SID se nepodporuje. Vrátí se nesprávná data, což je dočasný známý problém. Viz SUSER_SID.

Omezení prostředí

Podsíť

  • v podsíti, ve které jste nasadili SQL spravovanou instanci, 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. Minimální je mít minimálně 32 IP adres v podsíti.
  • Počet virtuální jádra a typů instancí, které můžete nasadit v oblasti, mají některá omezení a omezení.
  • Existuje Konfigurace sítě , kterou je třeba v podsíti použít.

Virtuální síť

  • Virtuální síť se dá nasadit pomocí modelu prostředků – model klasický pro virtuální síť se nepodporuje.
  • po vytvoření spravované instance SQL se přesunou SQL spravované instance nebo virtuální síť do jiné skupiny prostředků nebo předplatného nepodporuje.
  • pro SQL spravované instance hostované ve virtuálních clusterech, které jsou vytvořené před 9/22/2020 globálním partnerským vztahem , se nepodporuje. K těmto prostředkům se můžete připojit prostřednictvím ExpressRoute nebo VNet-to-VNet prostřednictvím bran virtuální sítě.

Skupiny převzetí služeb při selhání

Systémové databáze nejsou replikovány do sekundární instance ve skupině převzetí služeb při selhání. Proto by scénáře závislé na objektech ze systémových databází nemohly být na sekundární instanci možné, pokud nejsou objekty ručně vytvořeny na sekundárním objektu.

DATABÁZE

  • Maximální velikost souboru tempdb nemůže být větší než 24 GB na jádro na úrovni pro obecné účely. maximální tempdb velikost vrstvy Pro důležité obchodní informace je omezená velikostí úložiště SQL spravované Instance. Tempdb velikost souboru protokolu je omezena na 120 GB na úrovni Pro obecné účely. Některé dotazy mohou vracet chybu, pokud vyžadují více než 24 GB na jádro v tempdb nebo pokud vydávají více než 120 GB dat protokolu.
  • Tempdb je vždy rozdělen do 12 datových souborů: 1 primární, označovaný také jako Master, datový soubor a 11 neprimárních datových souborů. Strukturu souborů nelze změnit a nelze do ní přidat nové soubory tempdb .
  • paměťově optimalizovaná tempdb metadata, nová funkce databáze SQL Server 2019 v paměti, není podporována.
  • Objekty vytvořené v databázi modelů nelze automaticky vytvořit v nástroji tempdb po restartování nebo převzetí služeb při selhání, protože tempdb nezíská svůj počáteční seznam objektů z databáze modelů. Objekty musíte tempdb po každém restartování nebo převzetí služeb při selhání vytvořit ručně.

MSDB

následující schémata MSDB v SQL spravované Instance musí vlastnit jejich příslušné předdefinované role:

Důležité

Změna předdefinovaných názvů rolí, názvy schémat a vlastníci schémat budou mít vliv na běžnou činnost služby. Jakékoli změny, které v nich provedete, se vrátí zpět na předdefinované hodnoty, jakmile se zjistí, nebo při další aktualizaci služby na nejnovější verzi, aby se zajistila normální operace služby.

Protokoly chyb

SQL spravovaná Instance umístí podrobné informace do protokolů chyb. K dispozici je mnoho interních systémových událostí, které jsou zaznamenány v protokolu chyb. Pomocí vlastního postupu si můžete přečíst protokoly chyb, které odfiltrují některé nedůležité položky. další informace najdete v tématu SQL managed instance – sp_readmierrorlog nebo SQL rozšíření spravované instance (preview) pro Azure Data Studio.

Další kroky