Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:Azure SQL Managed Instance
In dit artikel worden de verschillen in syntaxis en gedrag tussen Azure SQL Managed Instance en SQL Server samengevat en uitgelegd.
SQL Managed Instance biedt hoge compatibiliteit met de SQL Server-database-engine en de meeste functies worden ondersteund in een met SQL beheerd exemplaar.
Er zijn enkele PaaS-beperkingen die worden geïntroduceerd in SQL Managed Instance en enkele gedragswijzigingen ten opzichte van SQL Server. De verschillen zijn onderverdeeld in de volgende categorieën:
- Beschikbaarheid omvat de verschillen in AlwaysOn-beschikbaarheidsgroepen en back-ups.
- Beveiliging omvat de verschillen in controle, certificaten, referenties, cryptografische providers, aanmeldingen en gebruikers, en de servicesleutel en de hoofdsleutel van de service.
- Configuratie omvat de verschillen in buffergroepextensie, sortering, compatibiliteitsniveaus, databasespiegeling, databaseopties, SQL Server Agent en tabelopties.
- Functies zijn BULK INSERT/OPENROWSET, CLR, DBCC, gedistribueerde transacties, uitgebreide gebeurtenissen, externe bibliotheken, FILESTREAM en FileTable, Semantic Search in volledige tekst, gekoppelde servers, PolyBase, Replicatie, Resource Governor, RESTORE, Service Broker, opgeslagen procedures, functies en triggers.
- Omgevingsinstellingen zoals VNets en subnetconfiguraties.
De meeste van deze functies zijn architecturale beperkingen en vertegenwoordigen servicefuncties.
Tijdelijke bekende problemen die worden gedetecteerd in SQL Managed Instance en die in de toekomst worden opgelost, worden beschreven in Wat is er nieuw in Azure SQL Managed Instance?
Opmerking
Microsoft Entra-id werd voorheen Azure Active Directory (Azure AD) genoemd.
Beschikbaarheid
AlwaysOn-beschikbaarheidsgroepen
Hoge beschikbaarheid is ingebouwd in SQL Managed Instance en kan niet worden beheerd door gebruikers. De volgende instructies worden niet ondersteund:
- EINDPUNT MAKEN... VOOR DATABASE_MIRRORING
- BESCHIKBAARHEIDSGROEP MAKEN
- BESCHIKBAARHEIDSGROEP WIJZIGEN
- BESCHIKBAARHEIDSGROEP VERWIJDEREN
- De SET HADR-component van de ALTER DATABASE-instructie
Reservekopie
Azure SQL Managed Instance heeft automatische back-ups, zodat gebruikers volledige databaseback-ups COPY_ONLY kunnen maken. Back-ups van differentiële, logboek- en bestandsmomentopnamen worden niet ondersteund.
- Met een met SQL beheerd exemplaar kunt u alleen een back-up maken van een exemplaardatabase naar een Azure Blob Storage-account: - Alleen BACKUP TO URLwordt ondersteund.
- 
              FILE,TAPEen back-upapparaten worden niet ondersteund.
 
- Alleen 
- De meeste algemene WITHopties worden ondersteund.- 
              COPY_ONLYis verplicht.
- 
              FILE_SNAPSHOTenCREDENTIALworden niet ondersteund.
- Tapeopties: REWIND,NOREWIND,UNLOADenNOUNLOADworden niet ondersteund.
- Logboekspecifieke opties: NORECOVERY,STANDBYenNO_TRUNCATEworden niet ondersteund.
 
- 
              
Beperkingen:
- Met een met SQL beheerd exemplaar kunt u een back-up maken van een exemplaardatabase naar een back-up met maximaal 32 strepen, wat voldoende is voor databases tot 4 TB als back-upcompressie wordt gebruikt. 
- U kunt niet uitvoeren - BACKUP DATABASE ... WITH COPY_ONLYop een database die is versleuteld met door de service beheerde transparante gegevensversleuteling (TDE). Door de service beheerde TDE dwingt af dat back-ups worden versleuteld met een interne TDE-sleutel. De sleutel kan niet worden geëxporteerd, dus u kunt de back-up niet herstellen. Gebruik in plaats daarvan automatische back-ups en herstel naar een bepaald tijdstip of gebruik in plaats daarvan door de klant beheerde (BYOK) TDE . U kunt versleuteling ook uitschakelen voor de database.
- Systeemeigen back-ups die zijn gemaakt op een SQL Managed Instance, kunnen alleen worden hersteld naar een SQL Server 2022-exemplaar. Dit komt doordat SQL Managed Instance een hogere interne databaseversie heeft dan andere versies van SQL Server. Zie Een database herstellen naar SQL Server 2022 vanuit Azure SQL Managed Instance voor meer informatie. 
- Als u een back-up wilt maken van een database naar/van een Azure-opslag, kunt u zich verifiëren met behulp van beheerde identiteit of Shared Access Signature (SAS). Dit is een URI waarmee u beperkte toegangsrechten voor Azure Storage-resources verleent . Meer informatie hierover. Het gebruik van toegangssleutels voor deze scenario's wordt niet ondersteund. 
- De maximale grootte van de back-upstrook met behulp van de - BACKUPopdracht in SQL Managed Instance is 195 GB. Dit is de maximale blobgrootte. Verhoog het aantal strepen in de back-upopdracht om de grootte van afzonderlijke strepen te verkleinen en binnen deze limiet te blijven.- Aanbeveling - Als u deze beperking wilt omzeilen, kunt u het volgende doen wanneer u een back-up maakt van een database vanuit SQL Server in een on-premises omgeving of op een virtuele machine: - Maak een back-up naar DISKin plaats van een back-up te maken naarURL.
- Upload de back-upbestanden naar Blob Storage.
- Herstel naar SQL Managed Instance.
 - De - Restoreopdracht in SQL Managed Instance ondersteunt grotere blobgrootten in de back-upbestanden omdat een ander blobtype wordt gebruikt voor de opslag van de geüploade back-upbestanden.
- Maak een back-up naar 
Zie BACKUP voor meer informatie over back-ups met behulp van T-SQL.
Veiligheid
Controle
De belangrijkste verschillen tussen controle in Microsoft Azure SQL en in SQL Server zijn:
- Met SQL Managed Instance werkt controle op serverniveau. De .xellogboekbestanden worden opgeslagen in Azure Blob Storage.
- Met Azure SQL Database werkt controle op databaseniveau. De .xellogboekbestanden worden opgeslagen in Azure Blob Storage.
- Met SQL Server, on-premises of in virtuele machines werkt controle op serverniveau. Gebeurtenissen worden opgeslagen in bestandssysteem- of Windows-gebeurtenislogboeken.
XEvent-controle in SQL Managed Instance ondersteunt Azure Blob Storage-doelen. Bestands- en Windows-logboeken worden niet ondersteund.
De belangrijkste verschillen in de CREATE AUDIT syntaxis voor controle naar Azure Blob Storage zijn:
- Er wordt een nieuwe syntaxis TO URLopgegeven voor het opgeven van de URL van de Azure Blob Storage-container waarin de.xelbestanden worden geplaatst.
- De syntaxis TO FILEwordt niet ondersteund omdat SQL Managed Instance geen toegang heeft tot Windows-bestandsshares.
Voor meer informatie, zie:
Certificaten
SQL Managed Instance heeft geen toegang tot bestandsshares en Windows-mappen, dus de volgende beperkingen zijn van toepassing:
- Het CREATE FROM/BACKUP TObestand wordt niet ondersteund voor certificaten.
- Het CREATE/BACKUPcertificaat wordtFILE/ASSEMBLYniet ondersteund. Persoonlijke-sleutelbestanden kunnen niet worden gebruikt.
Zie CREATE CERTIFICATE en BACKUP CERTIFICATE.
Tijdelijke oplossing: In plaats van een back-up van het certificaat te maken en de back-up te herstellen, haalt u de binaire inhoud en de persoonlijke sleutel van het certificaat op, slaat u deze op als .sql bestand en maakt u een binair bestand:
CREATE CERTIFICATE
   FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>);
Bevoegdheidsbewijs
Beheerde identiteit, Azure Key Vault en SHARED ACCESS SIGNATURE identiteiten worden ondersteund. Windows-gebruikers worden niet ondersteund.
Zie CREATE CREDENTIAL en ALTER CREDENTIAL.
Cryptografische aanbieders
SQL Managed Instance heeft geen toegang tot bestanden, zodat cryptografische providers niet kunnen worden gemaakt:
- 
              CREATE CRYPTOGRAPHIC PROVIDERwordt niet ondersteund. Zie CREATE CRYPTOGRAPHIC PROVIDER.
- 
              ALTER CRYPTOGRAPHIC PROVIDERwordt niet ondersteund. Zie ALTER CRYPTOGRAPHIC PROVIDER.
Aanmeldingen en gebruikers
- SQL-aanmeldingen die zijn gemaakt met behulp van - FROM CERTIFICATE,- FROM ASYMMETRIC KEYen- FROM SIDworden ondersteund. Zie CREATE LOGIN. Server-principals (aanmeldingen) worden gemaakt op serverniveau en gebruikers (database-principals) worden gemaakt op databaseniveau. Microsoft Entra-aanmeldingen die zijn gemaakt met de syntaxis CREATE LOGIN en Microsoft Entra-gebruikers die zijn gemaakt met de syntaxis CREATE USER FROM LOGIN , worden ondersteund. Wanneer u een gebruiker maakt en opgeeft- FROM LOGIN, wordt die gebruiker gekoppeld aan de aanmelding en worden de serverfuncties en machtigingen overgenomen die eraan zijn toegewezen.- SQL Managed Instance biedt ondersteuning voor het maken van ingesloten databasegebruikers op basis van Microsoft Entra-identiteiten met de syntaxis - CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER. Gebruikers die op deze manier zijn gemaakt, zijn niet gekoppeld aan server-principals, zelfs niet als er een server-principal met dezelfde naam in de- masterdatabase bestaat.
- Windows-aanmeldingen die zijn gemaakt met de - CREATE LOGIN ... FROM WINDOWSsyntaxis, worden niet ondersteund. Gebruik Microsoft Entra-aanmeldingen en -gebruikers.
- De Microsoft Entra-beheerder voor het exemplaar heeft onbeperkte beheerdersbevoegdheden. 
- Sommige functies bieden geen ondersteuning voor het gebruik van Microsoft Entra-aanmeldingen in interacties tussen exemplaren, maar alleen binnen één met SQL beheerd exemplaar, zoals bijvoorbeeld SQL Server-replicatie. De functie voor gekoppelde servers biedt echter ondersteuning voor verificatie tussen exemplaren met behulp van Microsoft Entra-server-principals (aanmeldingen). 
- Het instellen van een Microsoft Entra-aanmelding die is toegewezen aan een Microsoft Entra-groep omdat de eigenaar van de database niet wordt ondersteund. Een lid van de Microsoft Entra-groep kan een database-eigenaar zijn, zelfs als de aanmelding niet is gemaakt in de database. 
- Imitatie van Microsoft Entra-principals op serverniveau met behulp van andere Microsoft Entra-principals wordt ondersteund, zoals de EXECUTE AS-component . EXECUTE AS-beperkingen zijn: - EXECUTE AS USER wordt niet ondersteund voor Microsoft Entra-gebruikers wanneer de naam verschilt van de aanmeldingsnaam. Een voorbeeld is wanneer de gebruiker wordt gemaakt via de syntaxis - CREATE USER [myAadUser] FROM LOGIN [john@contoso.com]en imitatie wordt geprobeerd.- EXEC AS USER = myAadUserWanneer u een GEBRUIKER maakt op basis van een Microsoft Entra-aanmelding, geeft u de user_name op als dezelfde login_name van LOGIN.
- Alleen aanmeldingen op SQL Server-niveau die deel uitmaken van de - sysadminrol kunnen de volgende bewerkingen uitvoeren die gericht zijn op Microsoft Entra-principals:- UITVOEREN ALS GEBRUIKER
- UITVOEREN ALS AANMELDING
 
- Als u een gebruiker wilt imiteren met de EXECUTE AS-instructie, moet de gebruiker rechtstreeks worden toegewezen aan microsoft Entra-aanmelding. Gebruikers die lid zijn van Microsoft Entra-groepen die zijn toegewezen aan Microsoft Entra-server-principals, kunnen niet effectief worden geïmiteerd met de EXECUTE AS-instructie, ook al heeft de aanroeper de machtigingen voor het imiteren van de opgegeven gebruikersnaam. 
 
- Databaseexport/-import met bacpac-bestanden wordt ondersteund voor Microsoft Entra-gebruikers in SQL Managed Instance met behulp van SSMS V18.4 of hoger, of SqlPackage. - De volgende configuraties worden ondersteund met behulp van het bacpac-bestand van de database: - Exporteer/importeer een database tussen verschillende beheerexemplaren binnen hetzelfde Microsoft Entra-domein.
- Exporteer een database uit SQL Managed Instance en importeer deze in SQL Database binnen hetzelfde Microsoft Entra-domein.
- Exporteer een database uit SQL Database en importeer deze in sql Managed Instance binnen hetzelfde Microsoft Entra-domein.
- Exporteer een database uit SQL Managed Instance en importeer deze naar SQL Server (versie 2012 of hoger).
- In deze configuratie worden alle Microsoft Entra-gebruikers gemaakt als SQL Server-database-principals (gebruikers) zonder aanmeldingen. Het type gebruikers is SQLen is zichtbaar alsSQL_USERinsys.database_principals. Hun machtigingen en rollen blijven aanwezig in de metagegevens van de SQL Server-database en kunnen worden gebruikt voor imitatie. Ze kunnen echter niet worden gebruikt voor toegang tot en aanmelding bij de SQL Server met behulp van hun referenties.
 
- In deze configuratie worden alle Microsoft Entra-gebruikers gemaakt als SQL Server-database-principals (gebruikers) zonder aanmeldingen. Het type gebruikers is 
 
 
- De volgende configuraties worden ondersteund met behulp van het bacpac-bestand van de database: 
- Alleen de principalaanmelding op serverniveau, die wordt gemaakt door het inrichtingsproces van SQL Managed Instance, leden van de serverfuncties, zoals - securityadminof- sysadmin, of andere aanmeldingen met ALTER ANY LOGIN-machtiging op serverniveau kunnen Microsoft Entra-server-principals (aanmeldingen) maken in de- masterdatabase voor SQL Managed Instance.
- Aanmeldingen op basis van SQL-verificatie moeten de rol krijgen om - sysadminaanmeldingen voor Microsoft Entra-identiteiten te maken.
- De aanmelding moet lid zijn van dezelfde Microsoft Entra-tenant waarin azure SQL Managed Instance wordt gehost. 
- Microsoft Entra-server-principals (aanmeldingen) zijn zichtbaar in Objectverkenner vanaf SQL Server Management Studio 18.0 preview 5. 
- Een server-principal met sysadmin-toegangsniveau wordt automatisch gemaakt voor de Microsoft Entra-beheerder zodra deze is ingeschakeld op een exemplaar. 
- Tijdens de verificatie wordt de volgende reeks toegepast om de verificatie-principal op te lossen: - Als het Microsoft Entra-account rechtstreeks is toegewezen aan een Microsoft Entra-aanmelding, die aanwezig sys.server_principalsis als type 'E', verleent u toegang en past u machtigingen voor die aanmelding toe.
- Als het Microsoft Entra-account lid is van een groep die is toegewezen aan een Microsoft Entra-aanmelding, die aanwezig sys.server_principalsis als type X, verleent u toegang en past u machtigingen voor die aanmelding toe.
- Als het Microsoft Entra-account bestaat zoals rechtstreeks is toegewezen aan een Microsoft Entra-gebruiker in een database, die aanwezig sys.database_principalsis als het type E, verleent u toegang en past u machtigingen toe van de Microsoft Entra-databasegebruiker.
- Als het Microsoft Entra-account lid is van een Microsoft Entra-groep die is toegewezen aan een Microsoft Entra-gebruiker in een database, die aanwezig sys.database_principalsis als het type X, verleent u toegang en past u machtigingen toe van de Microsoft Entra-groepgebruiker.
 
- Als het Microsoft Entra-account rechtstreeks is toegewezen aan een Microsoft Entra-aanmelding, die aanwezig 
Servicesleutel en servicehoofdsleutel
- Back-up van hoofdsleutels wordt niet ondersteund (beheerd door de SQL Database-service).
- Hoofdsleutelherstel wordt niet ondersteund (beheerd door de SQL Database-service).
- Back-up van de hoofdsleutel van de service wordt niet ondersteund (beheerd door de SQL Database-service).
- Herstellen van de hoofdsleutel van de service wordt niet ondersteund (beheerd door de SQL Database-service).
Configuratie
Buffergroepextensie
- De buffergroepextensie wordt niet ondersteund.
- 
              ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSIONwordt niet ondersteund. Zie ALTER SERVER CONFIGURATION.
Vergelijken/Rangschikking
De standaardsortering van exemplaren is SQL_Latin1_General_CP1_CI_AS en kan worden opgegeven als een aanmaakparameter. Zie Sorteringen.
Compatibiliteitsniveaus
- Ondersteunde compatibiliteitsniveaus zijn 100, 110, 120, 130, 140, 150 en 160.
- Compatibiliteitsniveaus onder de 100 worden niet ondersteund.
- Het standaardcompatibiliteitsniveau voor nieuwe databases is 150. Voor herstelde databases blijft het compatibiliteitsniveau ongewijzigd als dit 100 en hoger is.
Zie het compatibiliteitsniveau ALTER DATABASE.
Database-spiegeling
Databasespiegeling wordt niet ondersteund.
- 
              ALTER DATABASE SET PARTNERenSET WITNESSopties worden niet ondersteund.
- 
              CREATE ENDPOINT ... FOR DATABASE_MIRRORINGwordt niet ondersteund.
Zie ALTER DATABASE SET PARTNER, SET WITNESS andCREATE ENDPOINT ... VOOR DATABASE_MIRRORING.
Databaseopties
- Meerdere logboekbestanden worden niet ondersteund.
- In-memory objecten worden niet ondersteund in de servicelaag Algemeen gebruik.
- Er geldt een limiet van 280 bestanden per exemplaar voor algemeen gebruik, wat een maximum van 280 bestanden per database impliceert. Zowel gegevens als logboekbestanden in de Algemeen-laag worden meegeteld voor deze limiet. De Bedrijfskritiek-laag ondersteunt 32.767 bestanden per database.
- De database kan geen bestandsgroepen bevatten die FILESTREAM-gegevens bevatten. Herstellen mislukt als .baker gegevens zijnFILESTREAM.
- Elk bestand wordt in Azure Blob Storage geplaatst. IO en doorvoer per bestand zijn afhankelijk van de grootte van elk afzonderlijk bestand.
CREATE DATABASE-instructie
De volgende beperkingen gelden voor CREATE DATABASE:
- Bestanden en bestandsgroepen kunnen niet worden gedefinieerd. 
- Een voor geheugen geoptimaliseerde bestandsgroep en bestand worden automatisch toegevoegd en worden XTP genoemd. 
- De optie - CONTAINMENTwordt niet ondersteund.
- WITHopties worden niet ondersteund.- Aanbeveling - Gebruik dit als tijdelijke oplossing - ALTER DATABASE- CREATE DATABASEom databaseopties in te stellen om bestanden toe te voegen of om insluiting in te stellen.
- De optie - FOR ATTACHwordt niet ondersteund.
- De optie - AS SNAPSHOT OFwordt niet ondersteund.
Zie CREATE DATABASE voor meer informatie.
ALTER DATABASE-instructie
Sommige bestandseigenschappen kunnen niet worden ingesteld of gewijzigd:
- Een bestandspad kan niet worden opgegeven in de ALTER DATABASE ADD FILE (FILENAME='path')T-SQL-instructie. VerwijderenFILENAMEuit het script omdat sql Managed Instance de bestanden automatisch plaatst.
- Een bestandsnaam kan niet worden gewijzigd met behulp van de ALTER DATABASEinstructie.
- Het wijzigen van het XTP-bestand of de bestandsgroep is niet toegestaan.
De volgende opties zijn standaard ingesteld en kunnen niet worden gewijzigd:
- MULTI_USER
- ENABLE_BROKER
- AUTO_CLOSE OFF
De volgende opties kunnen niet worden gewijzigd:
- 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
Sommige ALTER DATABASE instructies (bijvoorbeeld SET CONTAINMENT) kunnen tijdelijk mislukken, bijvoorbeeld tijdens de automatische databaseback-up of direct nadat een database is gemaakt. In dit geval ALTER DATABASE moet de instructie opnieuw worden geprobeerd. Zie de sectie Opmerkingen voor meer informatie over gerelateerde foutberichten.
Zie ALTER DATABASE voor meer informatie.
Agent van de SQL Server
- Het in- en uitschakelen van SQL Server Agent wordt momenteel niet ondersteund in SQL Managed Instance. SQL Agent wordt altijd uitgevoerd.
- Taakplanningtrigger op basis van een niet-actieve CPU wordt niet ondersteund.
- Sql Server Agent-instellingen zijn alleen-lezen. De procedure sp_set_agent_propertieswordt niet ondersteund in SQL Managed Instance.
- Banen - T-SQL-taakstappen worden ondersteund.
- De volgende replicatietaken worden ondersteund: - Transactielogboeklezer
- Momentopname
- Distributeur
 
- SSIS-taakstappen worden ondersteund.
- Andere typen taakstappen worden momenteel niet ondersteund: - De stap voor de samenvoegreplicatietaak wordt niet ondersteund.
- Wachtrijlezer wordt niet ondersteund.
- Opdrachtshell wordt nog niet ondersteund.
 
- SQL Managed Instance heeft bijvoorbeeld geen toegang tot externe resources, bijvoorbeeld netwerkshares via Robocopy.
- SQL Server Analysis Services wordt niet ondersteund.
 
- Meldingen worden gedeeltelijk ondersteund.
- E-mailmeldingen worden ondersteund, hoewel u hiervoor een Database Mail-profiel moet configureren. SQL Server Agent kan slechts één Database Mail-profiel gebruiken en moet worden aangeroepen AzureManagedInstance_dbmail_profile.- Pager wordt niet ondersteund.
- NetSend wordt niet ondersteund.
- Waarschuwingen worden nog niet ondersteund.
- Proxy's worden niet ondersteund.
 
- EventLog wordt niet ondersteund.
- De gebruiker moet rechtstreeks worden toegewezen aan de microsoft Entra-serveraanmelding om SQL Agent-taken te maken, te wijzigen of uit te voeren. Gebruikers die niet rechtstreeks zijn toegewezen, bijvoorbeeld gebruikers die deel uitmaken van een Microsoft Entra-groep met de rechten voor het maken, wijzigen of uitvoeren van SQL Agent-taken, kunnen deze acties niet effectief uitvoeren. Dit komt door imitatie van SQL Managed Instance en EXECUTE AS-beperkingen.
- De functie Multi Server Administration voor hoofd-/doeltaken (MSX/TSX) wordt niet ondersteund.
Zie SQL Server Agent voor meer informatie over SQL Server Agent.
Tabellen
De volgende tabeltypen worden niet ondersteund:
- BESTANDSSTROOM
- FileTabellen
- EXTERNAL TABLE (behalve PolyBase)
- MEMORY_OPTIMIZED (niet alleen ondersteund in de laag Algemeen gebruik)
Zie CREATE TABLE en ALTER TABLE voor meer informatie over het maken en wijzigen van tabellen.
Functies
BULK INVOEGEN / OPENROWSET
SQL Managed Instance heeft geen toegang tot bestandsshares en Windows-mappen, dus de bestanden moeten worden geïmporteerd uit Azure Blob Storage:
- 
              DATASOURCEis vereist in de opdracht tijdens hetBULK INSERTimporteren van bestanden uit Azure Blob Storage. Zie BULK INSERT.
- 
              DATASOURCEis vereist in deOPENROWSETfunctie wanneer u de inhoud van een bestand uit Azure Blob Storage leest. Zie OPENROWSET.
- 
              OPENROWSETkan worden gebruikt voor het lezen van gegevens uit Azure SQL Database, Azure SQL Managed Instance of SQL Server-exemplaren. Andere bronnen, zoals Oracle-databases of Excel-bestanden, worden niet ondersteund.
CLR (Common Language Runtime)
Een met SQL beheerd exemplaar heeft geen toegang tot bestandsshares en Windows-mappen, dus de volgende beperkingen zijn van toepassing:
- Alleen CREATE ASSEMBLY FROM BINARYwordt ondersteund. Zie CREATE ASSEMBLY FROM BINARY.
- 
              CREATE ASSEMBLY FROM FILEwordt niet ondersteund. Zie CREATE ASSEMBLY FROM FILE.
- 
              ALTER ASSEMBLYkan niet verwijzen naar bestanden. Zie ALTER ASSEMBLY.
Database Mail (db_mail)
- 
              sp_send_dbmailkan geen bijlagen verzenden met behulp van @file_attachments de parameter. Lokaal bestandssysteem en externe shares of Azure Blob Storage zijn niet toegankelijk vanuit deze procedure.
- Bekijk de bekende problemen met betrekking tot @queryparameters en verificatie.
DBCC
Niet-gedocumenteerde DBCC-instructies die zijn ingeschakeld in SQL Server, worden niet ondersteund in SQL Managed Instance.
- Er wordt slechts een beperkt aantal Global Trace-vlaggen ondersteund. Sessieniveau Trace flagswordt niet ondersteund. Zie Traceringsvlagmen instellen met DBCC TRACEON.
- DBCC TRACEOFF en DBCC TRACEON werken met het beperkte aantal globale traceringsvlagken.
- 
              DBCC CHECKDB met opties REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST en REPAIR_REBUILD kan niet worden gebruikt omdat de database niet kan worden ingesteld in SINGLE_USERde modus. Zie ALTER DATABASE-verschillen. Mogelijke beschadiging van de database wordt verwerkt door het ondersteuningsteam van Azure. Neem contact op met azure-ondersteuning als er sprake is van beschadiging van de database.
Gedistribueerde transacties
Gedistribueerde transacties op basis van T-SQL en .NET in beheerde exemplaren zijn algemeen beschikbaar. Andere scenario's, zoals XA-transacties, gedistribueerde transacties tussen beheerde exemplaren en andere deelnemers en meer, worden ondersteund met DTC (Distributed Transaction Coordinator) voor Azure SQL Managed Instance, dat beschikbaar is in openbare preview.
Uitgebreide gebeurtenissen
Sommige Windows-specifieke doelen voor uitgebreide evenementen (XEvents) worden niet ondersteund:
- Het etw_classic_sync-doel wordt niet ondersteund..xel-bestanden opslaan in Azure-blobopslag. Zie etw_classic_sync doel.
- Het event_file-doel wordt niet ondersteund..xel-bestanden opslaan in Azure-blobopslag. Zie Doel van de event_file.
Externe bibliotheken
Externe bibliotheken in de database R en Python worden ondersteund in beperkte openbare preview. Zie Machine Learning Services in Azure SQL Managed Instance.
FILESTREAM en FileTable
- FILESTREAM-gegevens worden niet ondersteund.
- De database kan geen bestandsgroepen met FILESTREAMgegevens bevatten.
- 
              FILETABLEwordt niet ondersteund.
- Tabellen kunnen geen typen hebben FILESTREAM.
- De volgende functies worden niet ondersteund: - GetPathLocator()
- GET_FILESTREAM_TRANSACTION_CONTEXT()
- PathName()
- GetFileNamespacePat)
- FileTableRootPath()
 
Zie FILESTREAM en FileTables voor meer informatie.
Semantisch zoeken in volledige tekst
Semantisch zoeken wordt niet ondersteund.
Gekoppelde servers
Gekoppelde servers in SQL Managed Instance ondersteunen een beperkt aantal doelen:
- Ondersteunde doelen zijn SQL Managed Instance, SQL Database, Azure Synapse SQL serverloze en toegewezen pools en SQL Server-exemplaren.
- Doelen die niet worden ondersteund, zijn bestanden, Analysis Services en andere RDBMS. Probeer systeemeigen CSV-import uit Azure Blob Storage te gebruiken met of BULK INSERTOPENROWSETals alternatief voor het importeren van bestanden of laad bestanden met behulp van een serverloze SQL-pool in Azure Synapse Analytics.
Operaties:
- 
              sp_dropserverwordt ondersteund voor het verwijderen van een gekoppelde server. Zie sp_dropserver.
- De OPENROWSETfunctie kan alleen worden gebruikt om query's uit te voeren op SQL Server-exemplaren. Ze kunnen worden beheerd, on-premises of in virtuele machines. Zie OPENROWSET.
- De functie OPENDATASOURCE kan worden gebruikt om alleen query's uit te voeren op SQL Server-exemplaren. Ze kunnen worden beheerd, on-premises of in virtuele machines. Een voorbeeld is SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2022.HumanResources.Employee. Alleen deSQLNCLI,SQLNCLI11enSQLOLEDBMSOLEDBSQLwaarden worden ondersteund als provider. De SQL Server Native Client (vaak afgekort SNAC) is verwijderd uit SQL Server 2022 en SQL Server Management Studio 19 (SSMS). De SQL Server Native Client (SQLNCLI of SQLNCLI11) en de verouderde Microsoft OLE DB-provider voor SQL Server (SQLOLEDB) worden niet aanbevolen voor nieuwe ontwikkeling. Schakel over naar het nieuwe Microsoft OLE DB-stuurprogramma voor SQL Server of het nieuwste Microsoft ODBC-stuurprogramma voor SQL Server .
- Gekoppelde servers kunnen niet worden gebruikt om bestanden (Excel, CSV) van de netwerkshares te lezen. Probeer BULK INSERT, OPENROWSET te gebruiken die CSV-bestanden leest uit Azure Blob Storage of een gekoppelde server die verwijst naar een serverloze SQL-pool in Synapse Analytics. Deze aanvragen bijhouden in feedback-item van SQL Managed Instance
Gekoppelde servers in Azure SQL Managed Instance ondersteunen SQL-verificatie en Microsoft Entra-verificatie.
PolyBase
Met gegevensvirtualisatie met Azure SQL Managed Instance kunt u Transact-SQL (T-SQL)-query's uitvoeren op gegevens uit bestanden die zijn opgeslagen in Azure Data Lake Storage Gen2 of Azure Blob Storage, en deze combineren met lokaal opgeslagen relationele gegevens met behulp van joins. Parquet- en CSV-bestandsindelingen (scheidingstekens) voor tekst worden rechtstreeks ondersteund. De JSON-bestandsindeling wordt indirect ondersteund door de CSV-bestandsindeling op te geven waarbij query's elk document als een afzonderlijke rij retourneren. Het is mogelijk om rijen verder te parseren en JSON_VALUEOPENJSON. Zie Gegevensvirtualisatie met PolyBase in SQL Server voor algemene informatie over PolyBase.
Bovendien kunt u MET CREATE EXTERNAL TABLE AS SELECT (CETAS) gegevens uit uw met SQL beheerde exemplaar exporteren naar een extern opslagaccount. U kunt CETAS gebruiken om een externe tabel te maken boven op Parquet- of CSV-bestanden van Azure Blob Storage of Azure Data Lake Storage (ADLS) Gen2. CETAS kan ook de resultaten van een T-SQL SELECT-instructie parallel exporteren naar de gemaakte externe tabel.
Replicatie
- Momentopnamen en bidirectionele replicatietypen worden ondersteund. Replicatie samenvoegen, peer-to-peer-replicatie en updatable abonnementen worden niet ondersteund.
- 
              Transactionele replicatie is beschikbaar voor SQL Managed Instance met enkele beperkingen: - Alle typen replicatiedeelnemers (Publisher, Distributor, Pull Subscriber en Push Subscriber) kunnen worden geplaatst op SQL Managed Instance, maar de uitgever en de distributeur moeten zowel in de cloud als on-premises zijn.
- SQL Managed Instance kan communiceren met de recente versies van SQL Server. Zie de ondersteunde versiesmatrix voor meer informatie.
- Transactionele replicatie heeft enkele aanvullende netwerkvereisten.
 
Zie de volgende zelfstudies voor meer informatie over het configureren van transactionele replicatie:
- Zelfstudie: Replicatie tussen twee beheerde exemplaren configureren
- Zelfstudie: Transactionele replicatie configureren tussen Azure SQL Managed Instance en SQL Server
Resourcesbeheerder
Resource governor wordt ondersteund. Er zijn echter verschillende gedragsverschillen:
- Als u de configuratie van resource governor in SQL Managed Instance wilt wijzigen, moet u zich in de context van de masterdatabase op de primaire replica bevinden.
- Configuratiewijzigingen van Resource Governor op de primaire replica worden doorgegeven aan alle secundaire replica's. Wijzigingen in de momenteel effectieve configuratie op een secundaire replica zijn echter mogelijk niet onmiddellijk. Als u de wijzigingen wilt aanbrengen die van kracht zijn op een secundaire replica, maakt u verbinding met de masterdatabase op een secundaire replica en voert u deze uitALTER RESOURCE GOVERNOR RECONFIGURE.
- Als de REQUEST_MAX_CPU_TIME_SECinstelling in SQL Server is geconfigureerd voor een workloadgroep en een batchaanvraag de geconfigureerde CPU-tijd overschrijdt, wordt decpu_threshold_exceededgebeurtenis geactiveerd, maar wordt de aanvraag niet beëindigd, tenzij een traceringsvlag is ingeschakeld. In SQL Managed Instance wordt dezelfde gebeurtenis geactiveerd en wordt de aanvraag altijd beëindigd. Zie REQUEST_MAX_CPU_TIME_SECvoor meer informatie.
- Het maximum aantal resourcegroepen dat u kunt maken, is 40.
RESTORE-instructie
- Ondersteunde syntaxis: - RESTORE DATABASE
- RESTORE FILELISTONLY
- RESTORE HEADERONLY
- RESTORE LABELONLY
- RESTORE VERIFYONLY
 
- Niet-ondersteunde syntaxis: - RESTORE LOGONLY
- RESTORE REWINDONLY
 
- Bron: - 
              FROM URL(Azure Blob Storage) is de enige ondersteunde optie.
- 
              FROM DISK/TAPE/backup-apparaat wordt niet ondersteund.
- Back-upsets worden niet ondersteund.
 
- 
              
- 
              WITHopties worden niet ondersteund. Herstelpogingen, waaronderWITH,DIFFERENTIALSTATS,REPLACEenzovoort, mislukken.
Een databaseherstelbewerking is asynchroon en kan opnieuw worden geprobeerd in Azure SQL Managed Instance. Mogelijk krijgt u een foutmelding in SSMS als de verbinding mislukt of een time-out verloopt. Azure SQL Managed Instance probeert de database op de achtergrond te herstellen en u kunt de voortgang van het herstelproces bijhouden met behulp van de sys.dm_exec_requests - en sys.dm_operation_status dynamische beheerweergaven.
De volgende databaseopties worden ingesteld of overschreven en kunnen later niet meer worden gewijzigd:
- 
              NEW_BROKERals de broker niet is ingeschakeld in het .bak-bestand.
- 
              ENABLE_BROKERals de broker niet is ingeschakeld in het .bak-bestand.
- 
              AUTO_CLOSE=OFFals een database in het .bak bestand .AUTO_CLOSE=ON
- 
              RECOVERY FULLals een database in het bestand .bak model heeftSIMPLEofBULK_LOGGEDherstelt.
- Er wordt een voor geheugen geoptimaliseerde bestandsgroep toegevoegd en XTP genoemd als deze zich niet in het bronbestand .bak bevindt.
- De naam van een bestaande voor geheugen geoptimaliseerde bestandsgroep wordt gewijzigd in XTP.
- 
              SINGLE_USERenRESTRICTED_USERopties worden geconverteerd naarMULTI_USER.
Beperkingen:
- Back-ups van de beschadigde databases kunnen worden hersteld, afhankelijk van het type beschadiging, maar automatische back-ups worden pas gemaakt als de beschadiging is opgelost. Zorg ervoor dat u het beheerde bronexemplaren van SQL uitvoert DBCC CHECKDBen back-upWITH CHECKSUMgebruikt om dit probleem te voorkomen.
- Het herstellen van .BAKeen bestand van een database die een beperking bevat die in dit document wordt beschreven (bijvoorbeeldFILESTREAMFILETABLEobjecten) kan niet worden hersteld in SQL Managed Instance.
- 
              .BAKbestanden die meerdere back-upsets bevatten, kunnen niet worden hersteld.
- 
              .BAKbestanden die meerdere logboekbestanden bevatten, kunnen niet worden hersteld.
- Back-ups die databases bevatten die groter zijn dan 8 TB, actieve OLTP-objecten in het geheugen of het aantal bestanden dat groter is dan 280 bestanden per exemplaar, kunnen niet worden hersteld op een exemplaar voor algemeen gebruik.
- Back-ups die databases bevatten die groter zijn dan 4 TB of IN-memory OLTP-objecten met de totale grootte die groter is dan de grootte die wordt beschreven in resourcelimieten , kunnen niet worden hersteld op een bedrijfskritiek exemplaar. Zie RESTORE-instructies voor informatie over herstelinstructies.
Belangrijk
Dezelfde beperkingen gelden voor de ingebouwde herstelbewerking naar een bepaald tijdstip. Als voorbeeld kan de database algemeen gebruik die groter is dan 4 TB niet worden hersteld op een bedrijfskritiek exemplaar. Bedrijfskritieke database met OLTP-bestanden in het geheugen of meer dan 280 bestanden kunnen niet worden hersteld op een exemplaar van algemeen gebruik.
Service-bemiddelaar
Berichtenuitwisseling tussen meerdere exemplaren van servicebroker wordt alleen ondersteund tussen Azure SQL Managed Instances:
- 
              CREATE ROUTE: U kunt niet gebruikenCREATE ROUTEmetADDRESSeen andere naam danLOCALof dns-naam van een ander met SQL beheerd exemplaar. Poort is altijd 4022.
- 
              ALTER ROUTE: U kunt niet gebruikenALTER ROUTEmetADDRESSeen andere naam danLOCALof dns-naam van een ander met SQL beheerd exemplaar. Poort is altijd 4022.
Transportbeveiliging wordt ondersteund, dialoogvensterbeveiliging is niet:
- 
              CREATE REMOTE SERVICE BINDINGwordt niet ondersteund.
Service Broker is standaard ingeschakeld voor nieuw gemaakte databases en kan niet worden uitgeschakeld. De servicebrokerstatus voor herstelde/gemigreerde databases wordt overgenomen van de brondatabase en kan niet worden gewijzigd. De volgende ALTER DATABASE-opties worden niet ondersteund:
- ENABLE_BROKER
- DISABLE_BROKER
Opgeslagen procedures, functies en triggers
- 
              NATIVE_COMPILATIONwordt niet ondersteund in de laag Algemeen gebruik.
- De volgende sp_configure opties worden niet ondersteund: - allow polybase export
- allow updates
- filestream_access_level
- remote access
- remote data archive
- remote proc trans
- scan for startup procs
 
- De volgende sp_configure opties worden genegeerd en hebben geen effect: - Ole Automation Procedures
 
- 
              sp_execute_external_scriptswordt alleen ondersteund voor Machine Learning Services in Azure SQL Managed Instance, anderssp_execute_external_scriptswordt dit niet ondersteund voor SQL Managed Instance. Zie sp_execute_external_scripts.
- 
              xp_cmdshellwordt niet ondersteund. Zie xp_cmdshell.
- 
              Extended stored proceduresworden niet ondersteund en dit omvatsp_addextendedprocensp_dropextendedproc. Deze functionaliteit wordt niet ondersteund omdat deze zich op een afschaffingspad voor SQL Server bevindt. Zie Uitgebreide opgeslagen procedures voor programmeerdatabase-engine voor meer informatie.
- 
              sp_attach_db,sp_attach_single_file_dbensp_detach_dbworden niet ondersteund. Zie sp_attach_db, sp_attach_single_file_db en sp_detach_db.
- 
              sp_addmessagewordt niet ondersteund in Azure SQL Managed Instance.
Systeemfuncties en -variabelen
De volgende variabelen, functies en weergaven retourneren verschillende resultaten:
- 
              SERVERPROPERTY('EngineEdition')retourneert de waarde 8. Met deze eigenschap wordt een met SQL beheerd exemplaar uniek geïdentificeerd. Zie SERVERPROPERTY.
- 
              SERVERPROPERTY('InstanceName')retourneertNULLomdat het concept van het exemplaar dat bestaat voor SQL Server niet van toepassing is op SQL Managed Instance. Zie SERVERPROPERTY('InstanceName').
- 
              @@SERVERNAMEretourneert een volledige DNS-naam die kan worden verbonden,my-managed-instance.wcus17662feb9ce98.database.windows.netbijvoorbeeld. Zie @@SERVERNAME.
- 
              SYS.SERVERSretourneert een volledige DNS-naam die kan worden verbonden, zoalsmyinstance.domain.database.windows.netvoor de eigenschappen 'naam' en 'data_source'. Zie sys.servers.
- 
              @@SERVICENAMEretourneertNULLomdat het concept van de service zoals deze bestaat voor SQL Server niet van toepassing is op SQL Managed Instance. Zie @@SERVICENAME.
- 
              SUSER_IDwordt ondersteund. Het retourneertNULLals de Microsoft Entra-aanmelding niet binnenkomtsys.syslogins. Zie SUSER_ID.
- 
              SUSER_SIDwordt niet ondersteund. De verkeerde gegevens worden geretourneerd. Dit is een tijdelijk bekend probleem. Zie SUSER_SID.
Omgevingsbeperkingen
Subnetwerk
- U kunt geen andere resources (bijvoorbeeld virtuele machines) plaatsen in het subnet waarin u uw SQL Managed Instance hebt geïmplementeerd. Implementeer deze resources met behulp van een ander subnet.
- Subnet moet voldoende aantal beschikbare IP-adressen hebben. Het minimum is dat er ten minste 32 IP-adressen in het subnet zijn.
- Het aantal vCores en typen exemplaren dat u in een regio kunt implementeren, hebben enkele beperkingen en limieten.
- Er is een netwerkconfiguratie die moet worden toegepast op het subnet.
Virtueel netwerk
- Virtueel netwerk kan worden geïmplementeerd met resourcemodel. Klassiek model biedt geen ondersteuning voor de implementatie van een virtueel netwerk (VNet).
- Nadat een met SQL beheerd exemplaar is gemaakt, wordt het verplaatsen van het beheerde SQL-exemplaar of VNet naar een andere resourcegroep of een ander abonnement niet ondersteund.
- Voor sql beheerde exemplaren die worden gehost in virtuele clusters die vóór 22 september 2020 worden gemaakt, wordt globale VNet-peering niet ondersteund. U kunt verbinding maken met deze resources via ExpressRoute of VNet-naar-VNet via virtuele netwerkgateways.
Failovergroepen
Systeemdatabases worden niet gerepliceerd naar het secundaire exemplaar in een failovergroep. Daarom zijn scenario's die afhankelijk zijn van objecten van de systeemdatabases onmogelijk op het secundaire exemplaar, tenzij de objecten handmatig op de secundaire instantie worden gemaakt.
tempdb
- De maximale bestandsgrootte van de tempdbsysteemdatabase mag niet groter zijn dan 24 GB per kern op een laag Algemeen gebruik. De maximale grootte van een bedrijfskritieketempdblaag wordt beperkt door de opslaggrootte van SQL Managed Instance.tempdbde grootte van het logboekbestand is beperkt tot 120 GB op de laag Algemeen gebruik. Sommige query's kunnen een fout retourneren als ze meer dan 24 GB per kerntempdbnodig hebben of als ze meer dan 120 GB aan logboekgegevens produceren.
- 
              tempdbwordt altijd gesplitst in 12 gegevensbestanden: 1 primaire, ook wel genoemdmaster, gegevensbestand en 11 niet-primaire gegevensbestanden. De bestandsstructuur kan niet worden gewijzigd en nieuwe bestanden kunnen niet worden toegevoegd aantempdb.
- Voor geheugen geoptimaliseerde TempDB-metagegevens, een nieuwe sql Server 2019-functie in-memory database, wordt niet ondersteund.
- Objecten die in de modeldatabase zijn gemaakt, kunnen niet automatisch worden gemaakttempdbna opnieuw opstarten of een failover, omdattempdbde oorspronkelijke objectlijst niet wordt opgehaald uit demodeldatabase. U moet na elke herstart of failover handmatig objectentempdbmaken.
msdb
De volgende schema's in de msdb systeemdatabase in SQL Managed Instance moeten eigendom zijn van hun respectieve vooraf gedefinieerde rollen:
- Algemene rollen - Rol van TargetServers
 
- 
              Vaste databaserollen
- SQLAgentUserRole
- SQLAgentReaderRol
- SQLAgentOperatorRole
 
- 
              DatabaseMail-rollen: - DatabaseMailUserRole
 
- 
              Integratieservicesrollen: - db_ssisadmin
- db_ssisltduser
- db_ssisoperator
 
Belangrijk
Het wijzigen van de vooraf gedefinieerde rolnamen, schemanamen en schema-eigenaren door klanten heeft invloed op de normale werking van de service. Wijzigingen die in deze worden aangebracht, worden teruggezet naar de vooraf gedefinieerde waarden zodra deze zijn gedetecteerd, of op de volgende service-update op het laatst om de normale servicebewerking te garanderen.
Foutlogboeken
SQL Managed Instance plaatst uitgebreide informatie in foutenlogboeken. Er zijn veel interne systeemgebeurtenissen die zijn vastgelegd in het foutenlogboek. Gebruik een aangepaste procedure om foutenlogboeken te lezen waarmee enkele irrelevante vermeldingen worden gefilterd. Zie SQL Managed Instance – sp_readmierrorlog voor meer informatie.
Het wijzigen van het aantal bewaarde foutenlogboeken wordt niet ondersteund.
