T-SQL skillnader mellan SQL Server & Azure SQL Managed Instance
GÄLLER FÖR:
Azure SQL Managed Instance
Den här artikeln sammanfattar och förklarar skillnaderna i syntax och beteende mellan Azure SQL Managed Instance och SQL Server.
SQL Managed Instance ger hög kompatibilitet med SQL Server-databasmotorn och de flesta funktioner stöds i en SQL Managed Instance.

Det finns vissa PaaS-begränsningar som introduceras i SQL Managed Instance och vissa beteendeändringar jämfört med SQL Server. Skillnaderna är indelade i följande kategorier:
- Tillgängligheten omfattar skillnaderna i Always On-tillgänglighetsgrupper och säkerhetskopieringar.
- Säkerheten omfattar skillnaderna i granskning, certifikat, autentiseringsuppgifter,kryptografiska providers,inloggningar och användare samttjänstnyckeln och huvudnyckeln för tjänsten.
- Konfigurationen omfattar skillnaderna i buffertpooltillägg, sortering,kompatibilitetsnivåer, databasspegling, databasalternativ , SQL Server agentoch tabellalternativ.
- Funktionerna omfattar BULK INSERT/OPENROWSET, CLR, DBCC, distribueradetransaktioner , utökade händelser,externa bibliotek, filström och FileTable, fulltexts-semantisk sökning ,länkade servrar , PolyBase ,replikering, RESTORE, Service Broker, lagrade procedurer, funktioneroch utlösare .
- Miljöinställningar som virtuella nätverk och undernätskonfigurationer.
De flesta av dessa funktioner är arkitekturbegränsningar och representerar tjänstfunktioner.
Tillfälliga kända problem som identifieras i SQL Managed Instance och kommer att åtgärdas i framtiden beskrivs i Vad är nytt?.
Tillgänglighet
Always On-tillgänglighetsgrupper
Hög tillgänglighet är inbyggt i SQL Managed Instance och kan inte styras av användare. Följande instruktioner stöds inte:
- SKAPA SLUTPUNKT ... FÖR DATABASE_MIRRORING
- SKAPA TILLGÄNGLIGHETSGRUPP
- ÄNDRA TILLGÄNGLIGHETSGRUPP
- TA BORT TILLGÄNGLIGHETSGRUPP
- SET HADR-satsen i ALTER DATABASE-instruktionen
Backup
SQL Managed Instance har automatiska säkerhetskopieringar så att användarna kan skapa fullständiga COPY_ONLY databassäkerhetskopior. Differentiella säkerhetskopior, loggsäkerhetskopior och säkerhetskopior av ögonblicksbilder stöds inte.
- Med en SQL Managed Instance kan du bara backa upp en instansdatabas till ett Azure Blob Storage-konto:
- Endast
BACKUP TO URLstöds. FILESäkerhetskopieringsenheterna ,TAPEoch stöds inte.
- Endast
- De flesta av de
WITHallmänna alternativen stöds.COPY_ONLYär obligatoriskt.FILE_SNAPSHOTstöds inte.- Bandalternativ:
REWINDNOREWIND, , ochUNLOADstödsNOUNLOADinte. - Loggspecifika alternativ:
NORECOVERYSTANDBY,NO_TRUNCATEoch stöds inte.
Begränsningar:
Med en SQL Managed Instance kan du säkerhetskopiera en instansdatabas till en säkerhetskopia med upp till 32 remsor, vilket är tillräckligt för databaser upp till 4 TB om komprimering av säkerhetskopior används.
Du kan inte köra
BACKUP DATABASE ... WITH COPY_ONLYpå en databas som är krypterad med TDE (service managed transparent datakryptering). Tjänst-hanterad TDE tvingar säkerhetskopior att krypteras med en intern TDE-nyckel. Nyckeln kan inte exporteras, så du kan inte återställa säkerhetskopian. Använd automatiska säkerhetskopieringar och återställning till tidpunkt, eller använd kund-hanterad (BYOK) TDE i stället. Du kan också inaktivera kryptering på databasen.Interna säkerhetskopior som tas på en hanterad instans kan inte återställas till en SQL Server. Det beror på att Managed Instance har högre intern databasversion jämfört med någon version av SQL Server.
Om du vill säkerhetskopiera eller återställa en databas till/från en Azure-lagring måste du skapa en signatur för delad åtkomst (SAS) en URI som ger dig begränsad åtkomstbehörighet till Azure Storage resurser Läs mer om detta. Det finns inte stöd för att använda åtkomstnycklar för dessa scenarier.
Den maximala stripe-storleken för säkerhetskopiering med
BACKUPkommandot i SQL Managed Instance är 195 GB, vilket är den maximala blobstorleken. Öka antalet strimlar i säkerhetskopieringskommandot för att minska den enskilda stripe-storleken och hålla dig inom den här gränsen.Tips
För att komma runt den här begränsningen kan du göra följande när du SQL Server en databas från en lokal miljö eller på en virtuell dator:
- Back up to
DISKi stället för att backa upp tillURL. - Upload säkerhetskopierade filer till Blob Storage.
- Återställ till SQL Managed Instance.
Kommandot i den SQL Managed Instance stöder större blobstorlekar i säkerhetskopieringsfilerna eftersom en annan blobtyp används för lagring av de
Restoreuppladdade säkerhetskopieringsfilerna.- Back up to
Information om säkerhetskopieringar med T-SQL finns i BACKUP.
Säkerhet
Granskning
De viktigaste skillnaderna mellan granskning i Microsoft Azure SQL och SQL Server är:
- Med SQL Managed Instance fungerar granskning på servernivå.
.xelLoggfilerna lagras i Azure Blob Storage. - Med Azure SQL Database fungerar granskning på databasnivå.
.xelLoggfilerna lagras i Azure Blob Storage. - Med SQL Server, lokalt eller på virtuella datorer, fungerar granskning på servernivå. Händelser lagras i filsystem eller Windows händelseloggar.
XEvent-granskning i SQL Managed Instance stöder Azure Blob Storage-mål. Fil- Windows loggar stöds inte.
De viktigaste skillnaderna i CREATE AUDIT syntaxen för granskning i Azure Blob Storage är:
- En ny syntax
TO URLtillhandahålls som du kan använda för att ange URL:en för Azure Blob Storage-containern där filerna.xelplaceras. - Syntaxen
TO FILEstöds inte eftersom SQL Managed Instance inte kan komma åt Windows filresurser.
Mer information finns i:
Certifikat
SQL Managed Instance kan inte komma åt filresurser Windows mappar, så följande begränsningar gäller:
- Filen
CREATE FROM/BACKUP TOstöds inte för certifikat. - Certifikatet
CREATE/BACKUPfrånFILE/ASSEMBLYstöds inte. Privata nyckelfiler kan inte användas.
Se SKAPA CERTIFIKAT och SÄKERHETSKOPIERA CERTIFIKAT.
Lösning: I stället för att skapa en säkerhetskopia av ett certifikat och återställa säkerhetskopian hämtar du certifikatets binära innehåll och privata nyckel, lagrar det som .sql-filoch skapar från binärt :
CREATE CERTIFICATE
FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>)
Autentiseringsuppgift
Endast Azure Key Vault SHARED ACCESS SIGNATURE och identiteter stöds. Windows användare stöds inte.
Se CREATE CREDENTIAL och ALTER CREDENTIAL.
Kryptografiska providers
SQL Managed Instance inte kan komma åt filer, så kryptografiska providers kan inte skapas:
CREATE CRYPTOGRAPHIC PROVIDERstöds inte. Se SKAPA KRYPTOGRAFIPROVIDER.ALTER CRYPTOGRAPHIC PROVIDERstöds inte. Se ALTER CRYPTOGRAPHIC PROVIDER ( ÄNDRA KRYPTOGRAFIPROVIDER).
Inloggningar och användare
SQL inloggningar som skapats
FROM CERTIFICATEmed hjälp av , ochFROM ASYMMETRIC KEYFROM SIDstöds. Se SKAPA INLOGGNING.Azure Active Directory (Azure AD) serverhuvudnamn (inloggningar) som skapats med syntaxen CREATE LOGIN eller syntaxen CREATE USER FROM LOGIN [Azure AD Login] stöds. Dessa inloggningar skapas på servernivå.
SQL Managed Instance har stöd för Azure AD-databashuvudnamn med syntaxen
CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER. Den här funktionen kallas även för användare av inneslutna databaser i Azure AD.Windows inloggningar som skapats
CREATE LOGIN ... FROM WINDOWSmed syntaxen stöds inte. Använd Azure Active Directory inloggningar och användare.Azure AD-administratören för instansen har obegränsad administratörsbehörighet.
Användare som inte är administratörer på Azure AD-databasnivå kan skapas med hjälp av
CREATE USER ... FROM EXTERNAL PROVIDERsyntaxen. Se SKAPA ANVÄNDARE... FRÅN EXTERN PROVIDER.Azure AD-serverhuvudnamn (inloggningar) stöder SQL funktioner inom en SQL Hanterad instans. Funktioner som kräver interaktion mellan instanser, oavsett om de finns i samma Azure AD-klientorganisation eller olika klienter, stöds inte för Azure AD-användare. Exempel på sådana funktioner är:
- SQL transaktionsreplikering.
- Länkserver.
Det går inte att ange en Azure AD-inloggning som mappats till en Azure AD-grupp som databasägare. En medlem i Azure AD-gruppen kan vara databasägare, även om inloggningen inte har skapats i databasen.
Personifiering av Azure AD-huvudnamn på servernivå med hjälp av andra Azure AD-huvudnamn stöds, till exempel EXECUTE AS-satsen. EXECUTE AS-begränsningar är:
EXECUTE AS USER stöds inte för Azure AD-användare när namnet skiljer sig från inloggningsnamnet. Ett exempel är när användaren skapas via syntaxen CREATE USER [myAadUser] FROM LOGIN [ ] och personifiering görs via john@contoso.com EXEC AS USER = myAadUser. När du skapar en ANVÄNDARE från ett Azure AD-serverhuvudkonto (inloggning) anger du user_name som samma login_name från LOGIN.
Endast de SQL Server (inloggningar) som ingår i rollen kan utföra följande åtgärder som riktar sig
sysadminmot Azure AD-huvudnamn:- KÖRA SOM ANVÄNDARE
- KÖRA SOM INLOGGNING
För att personifiera en användare med EXECUTE AS-instruktionen måste användaren mappas direkt till Azure AD-serverhuvudnamnet (inloggning). Användare som är medlemmar i Azure AD-grupper som är mappade till Azure AD-serverhuvudnamn kan effektivt personifieras med EXECUTE AS-instruktionen, även om anroparen har personifierarbehörigheter för det angivna användarnamnet.
Databasexport/-import med bacpac-filer stöds för Azure AD-användare i SQL Managed Instance med Antingen SSMS V18.4eller senare eller SQLPackage.exe.
- Följande konfigurationer stöds med hjälp av bacpac-databasfilen:
- Exportera/importera en databas mellan olika hanterade instanser inom samma Azure AD-domän.
- Exportera en databas från SQL Managed Instance och importera till SQL Database inom samma Azure AD-domän.
- Exportera en databas från SQL Database och importera till SQL Managed Instance inom samma Azure AD-domän.
- Exportera en databas från SQL-instans och importera till SQL Server (version 2012 eller senare).
- I den här konfigurationen skapas alla Azure AD-användare som SQL Server databashuvudnamn (användare) utan inloggningar. Typen av användare visas som och
SQLvisas som iSQL_USERsys.database_principals). Deras behörigheter och roller finns kvar i SQL Server databasmetadata och kan användas för personifiering. De kan dock inte användas för att komma åt och logga in på SQL Server med sina autentiseringsuppgifter.
- I den här konfigurationen skapas alla Azure AD-användare som SQL Server databashuvudnamn (användare) utan inloggningar. Typen av användare visas som och
- Följande konfigurationer stöds med hjälp av bacpac-databasfilen:
Endast huvudkontoinloggningen på servernivå, som skapas av etableringsprocessen för SQL Managed Instance, medlemmar i serverrollerna, till exempel eller , eller andra inloggningar med behörigheten ALTER ANY LOGIN på servernivå kan skapa
securityadminAzure AD-serverhuvudnamn (inloggningar) i huvuddatabasensysadminför SQL Managed Instance.Om inloggningen är SQL huvudkonto kan endast inloggningar som ingår i rollen använda create-kommandot för att skapa
sysadmininloggningar för ett Azure AD-konto.Azure AD-inloggningen måste vara medlem i en Azure AD i samma katalog som används för Azure SQL Managed Instance.
Azure AD-serverhuvudnamn (inloggningar) visas i Object Explorer börjar med SQL Server Management Studio 18.0 förhandsversion 5.
Ett serverhuvudnamn med sysadmin-åtkomstnivå skapas automatiskt för Azure AD-administratörskontot när det har aktiverats på en instans.
Under autentiseringen tillämpas följande sekvens för att matcha autentiseringsobjekt:
- Om Azure AD-kontot finns som direkt mappat till Azure AD-serverhuvudkontot (inloggning), som finns i sys.server_principals som typ "E", beviljar du åtkomst och tillämpar behörigheter för Azure AD-serverhuvudkontot (inloggning).
- Om Azure AD-kontot är medlem i en Azure AD-grupp som är mappad till Azure AD-serverhuvudkontot (inloggning), som finns i sys.server_principals som typ "X", beviljar du åtkomst och tillämpar behörigheter för Azure AD-gruppinloggningen.
- Om Azure AD-kontot finns som direkt mappat till en Azure AD-användare i en databas, som finns i sys.database_principals som typen "E", beviljar du åtkomst och tillämpar behörigheter för Azure AD-databasanvändaren.
- Om Azure AD-kontot är medlem i en Azure AD-grupp som är mappad till en Azure AD-användare i en databas, som finns i sys.database_principals som typ "X", beviljar du åtkomst och tillämpar behörigheter för Azure AD-gruppanvändaren.
Tjänstnyckel och huvudnyckel för tjänsten
- Säkerhetskopiering av huvudnyckel stöds inte (hanteras av SQL Database tjänsten).
- Återställning av huvudnyckel stöds inte (hanteras av SQL Database-tjänsten).
- Säkerhetskopiering av huvudnyckeln för tjänsten stöds inte (hanteras SQL Database tjänsten).
- Återställning av huvudnyckeln för tjänsten stöds inte (hanteras SQL Database tjänsten).
Konfiguration
Buffertpooltillägg
- Buffertpooltillägg stöds inte.
ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSIONstöds inte. Se ÄNDRA SERVERKONFIGURATION.
Sortering
Standardinstans-sorteringen är SQL_Latin1_General_CP1_CI_AS och kan anges som en parameter för skapande. Se Sorteringar.
Efterlevnadsnivåer
- Kompatibilitetsnivåer som stöds är 100, 110, 120, 130, 140 och 150.
- Kompatibilitetsnivåer under 100 stöds inte.
- Standardkompatibilitetsnivån för nya databaser är 140. För återställda databaser förblir kompatibilitetsnivån oförändrad om den var 100 och högre.
Se ALTER DATABASE Compatibility Level.
Databasspegling
Databasspegling stöds inte.
ALTER DATABASE SET PARTNER-SET WITNESSoch -alternativ stöds inte.CREATE ENDPOINT … FOR DATABASE_MIRRORINGstöds inte.
Mer information finns i ALTER DATABASE SET PARTNER and SET WITNESS and CREATE ENDPOINT ... (ÄNDRA DATABASUPPSÄTTNINGSPARTNER och ANGE VITTNE OCH SKAPA SLUTPUNKT... FÖR DATABASE_MIRRORING.
Databasalternativ
- Flera loggfiler stöds inte.
- Minnesbaserade objekt stöds inte på den Generell användning tjänstnivån.
- Det finns en gräns på 280 filer per Generell användning instans, vilket innebär högst 280 filer per databas. Både data och loggfiler på Generell användning nivå räknas mot den här gränsen. Den Affärskritisk stöder 32 767 filer per databas.
- Databasen får inte innehålla filgrupper som innehåller filströmsdata. Återställningen misslyckas om .bak innehåller
FILESTREAMdata. - Varje fil placeras i Azure Blob Storage. I/O och dataflöde per fil beror på storleken på varje enskild fil.
CREATE DATABASE-instruktion
Följande begränsningar gäller för CREATE DATABASE :
Filer och filgrupper kan inte definieras.
Alternativet
CONTAINMENTstöds inte.WITH-alternativ stöds inte.Tips
Som en lösning kan du använda
ALTER DATABASEefter för att angeCREATE DATABASEdatabasalternativ för att lägga till filer eller ange inneslutning.Alternativet
FOR ATTACHstöds inte.Alternativet
AS SNAPSHOT OFstöds inte.
Mer information finns i CREATE DATABASE.
ALTER DATABASE-instruktion
Vissa filegenskaper kan inte anges eller ändras:
- En filsökväg kan inte anges i
ALTER DATABASE ADD FILE (FILENAME='path')T-SQL-instruktionen. TaFILENAMEbort från skriptet eftersom SQL hanterad instans automatiskt placerar filerna. - Det går inte att ändra ett filnamn med hjälp av
ALTER DATABASE-instruktionen.
Följande alternativ anges som standard och kan inte ändras:
MULTI_USERENABLE_BROKERAUTO_CLOSE OFF
Följande alternativ kan inte ändras:
AUTO_CLOSEAUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)DISABLE_BROKEREMERGENCYENABLE_BROKERFILESTREAMHADRNEW_BROKEROFFLINEPAGE_VERIFYPARTNERREAD_ONLYRECOVERY BULK_LOGGEDRECOVERY_SIMPLEREMOTE_DATA_ARCHIVERESTRICTED_USERSINGLE_USERWITNESS
Vissa ALTER DATABASE instruktioner (till exempel SET CONTAINMENT) kan tillfälligt misslyckas, till exempel under den automatiserade säkerhetskopieringen av databasen eller direkt efter att en databas har skapats. I det här ALTER DATABASE fallet bör -instruktionen göras om. Mer information om relaterade felmeddelanden finns i avsnittet Kommentarer.
Mer information finns i ALTER DATABASE.
SQL Server-agent
- Aktivering och inaktivering av SQL Server Agent stöds för närvarande inte i SQL Managed Instance. SQL Agent körs alltid.
- Jobbschemautlösare som baseras på en inaktiv PROCESSOR stöds inte.
- SQL Server Agentinställningar är skrivskyddade. Proceduren stöds
sp_set_agent_propertiesinte i SQL Hanterad instans. - Jobb
- T-SQL-jobbsteg stöds.
- Följande replikeringsjobb stöds:
- Transaktionsloggläsare
- Ögonblicksbild
- Distributör
- SSIS-jobbsteg stöds.
- Andra typer av jobbsteg stöds inte för närvarande:
- Steget för sammanslagningsreplikeringsjobbet stöds inte.
- Köläsare stöds inte.
- Kommandogränssnittet stöds inte ännu.
- SQL Managed Instance kan inte komma åt externa resurser, till exempel nätverksresurser via robocopy.
- SQL Server Analysis Services stöds inte.
- Meddelanden stöds delvis.
- E-postavisering stöds, även om det kräver att du konfigurerar en Database Mail profil. SQL Server Agent kan bara använda en Database Mail profil och den måste anropas
AzureManagedInstance_dbmail_profile.- Pager stöds inte.
- NetSend stöds inte.
- Aviseringar stöds inte ännu.
- Proxys stöds inte.
- EventLog stöds inte.
- Användaren måste mappas direkt till Azure AD-serverhuvudkonto (inloggning) för att skapa, ändra eller köra SQL agentjobb. Användare som inte är direkt mappade, till exempel användare som tillhör en Azure AD-grupp som har behörighet att skapa, ändra eller köra SQL Agent-jobb, kommer inte att kunna utföra dessa åtgärder på ett effektivt sätt. Detta beror på begränsningar för managed instance-personifiering och EXECUTE AS.
- Funktionen Multi Server Administration för master-/måljobb (MSX/TSX) stöds inte.
Information om SQL Server Agent finns i SQL Server Agent.
Tables
Följande tabelltyper stöds inte:
- FILESTREAM
- FILETABLE
- EXTERNAL TABLE (Polybase)
- MEMORY_OPTIMIZED (stöds inte bara på Generell användning nivå)
Information om hur du skapar och ändrar tabeller finns i CREATE TABLE och ALTER TABLE.
Funktioner
Massinfogning/OPENROWSET
SQL Managed Instance inte kan komma åt filresurser Windows mappar, så filerna måste importeras från Azure Blob Storage:
DATASOURCEkrävs i kommandotBULK INSERTnär du importerar filer från Azure Blob Storage. Se BULK INSERT.DATASOURCEkrävs i funktionenOPENROWSETnär du läser innehållet i en fil från Azure Blob Storage. Se OPENROWSET.OPENROWSETkan användas för att läsa data från Azure SQL Database, Azure SQL Managed Instance eller SQL Server instanser. Andra källor som Oracle-databaser eller Excel filer stöds inte.
CLR
En SQL Managed Instance kan inte komma åt filresurser Windows mappar, så följande begränsningar gäller:
- Endast
CREATE ASSEMBLY FROM BINARYstöds. Se SKAPA SAMMANSÄTTNING FRÅN BINÄR. CREATE ASSEMBLY FROM FILEstöds inte. Se SKAPA SAMMANSÄTTNING FRÅN FIL.ALTER ASSEMBLYkan inte referera till filer. Se ALTER ASSEMBLY (ÄNDRA SAMMANSÄTTNING).
Database Mail (db_mail)
sp_send_dbmailkan inte skicka bifogade filer med @file_attachments parametern . Lokalt filsystem och externa resurser eller Azure Blob Storage inte tillgänglig från den här proceduren.- Se kända problem som rör
@queryparameter och autentisering.
DBCC
Odokumenterade DBCC-instruktioner som är aktiverade i SQL Server stöds inte i SQL Managed Instance.
- Endast ett begränsat antal globala spårningsflaggor stöds. Sessionsnivå
Trace flagsstöds inte. Se Spårningsflaggor. - DBCC TRACEOFF och DBCC TRACEON fungerar med det begränsade antalet globala spårningsflaggor.
- DBCC CHECKDB med alternativ REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST och REPAIR_REBUILD kan inte användas eftersom databasen inte kan anges i läge – se
SINGLE_USERALTER DATABASE differences. Potentiella fel i databasen hanteras av Azure-supportteamet. Kontakta Azure-supporten om det finns tecken på att databasen är skadad.
Distribuerade transaktioner
Partiellt stöd för distribuerade transaktioner är för närvarande i offentlig förhandsversion. Distribuerade transaktioner stöds under följande villkor (alla måste vara uppfyllda):
- alla transaktionsdeltagare är Azure SQL Managed Instances som ingår i serverförtroendegruppen.
- transaktioner initieras antingen från .NET (TransactionScope-klassen) eller Transact-SQL.
Azure SQL Managed Instance stöder för närvarande inte andra scenarier som regelbundet stöds av MSDTC lokalt eller i Azure Virtual Machines.
Extended Events
Vissa Windows-specifika mål för Extended Events (XEvents) stöds inte:
- Målet
etw_classic_syncstöds inte. Lagra.xelfiler i Azure Blob Storage. Läs mer i Målet etw_classic_sync. - Målet
event_filestöds inte. Lagra.xelfiler i Azure Blob Storage. Läs mer i Målet event_file.
Externa bibliotek
Externa R- och Python-bibliotek i databasen stöds i begränsad offentlig förhandsversion. Se Machine Learning Services i Azure SQL Managed Instance (förhandsversion).
Filestream och FileTable
- Filströmsdata stöds inte.
- Databasen får inte innehålla filgrupper med
FILESTREAMdata. FILETABLEstöds inte.- Tabeller kan inte ha
FILESTREAMtyper. - Följande funktioner stöds inte:
GetPathLocator()GET_FILESTREAM_TRANSACTION_CONTEXT()PathName()GetFileNamespacePat)FileTableRootPath()
Mer information finns i FILESTREAM och FileTables.
Semantisk fulltextsökning
Semantisk sökning stöds inte.
Länkade servrar
Länkade servrar i SQL Managed Instance stöder ett begränsat antal mål:
- Mål som stöds är SQL Managed Instance, SQL Database, Azure Synapse SQL serverlösa och dedikerade pooler och SQL Server instanser.
- Distribuerade skrivbara transaktioner är endast möjliga mellan hanterade instanser. Mer information finns i Distribuerade transaktioner. MS DTC stöds dock inte.
- Mål som inte stöds är filer, Analysis Services och andra RDBMS. Försök att använda inbyggd CSV-import från Azure Blob Storage med eller som ett alternativ för filimport eller läsa in filer med hjälp av en
BULK INSERTOPENROWSETserverlös SQL-pool i Azure Synapse Analytics.
Åtgärder:
- Skrivtransaktioner mellan instanser stöds endast för hanterade instanser.
sp_dropserverstöds för att ta bort en länkad server. Se sp_dropserver.- Funktionen
OPENROWSETkan endast användas för att köra frågor på SQL Server instanser. De kan antingen hanteras, lokalt eller på virtuella datorer. Se OPENROWSET. - Funktionen
OPENDATASOURCEkan endast användas för att köra frågor på SQL Server instanser. De kan antingen hanteras, lokalt eller på virtuella datorer. EndastSQLNCLIvärdenaSQLNCLI11, och stödsSQLOLEDBsom provider. Ett exempel ärSELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee. Se OPENDATASOURCE. - Länkade servrar kan inte användas för att läsa filer (Excel, CSV) från nätverksresurser. Försök att använda BULK INSERT, OPENROWSET som läser CSV-filer från Azure Blob Storage eller en länkad server som refererar till en serverlös SQL-pool i Synapse Analytics. Spåra dessa begäranden på SQL feedbackobjekt för hanterad instans|
Länkade servrar på Azure SQL Managed Instance stöder SQL autentisering AAD autentisering.
PolyBase
Arbetet med att aktivera Polybase-stöd i SQL Managed Instance pågår. Under tiden kan du som en lösning använda länkade servrar till en serverlös SQL-pool i Synapse Analytics eller SQL Server för att fråga efter data från filer som lagras i Azure Data Lake eller Azure Storage.
Allmän information om PolyBase finns i PolyBase.
Replikering
- Replikeringstyper för ögonblicksbilder och dubbelriktade stöds. Sammanslagningsreplikering, peer-to-peer-replikering och uppdatbara prenumerationer stöds inte.
- Transaktionsreplikering är tillgängligt för offentlig förhandsversion på SQL Managed Instance med vissa begränsningar:
- Alla typer av replikeringsdeltagare (Publisher, Distributör, Pull-prenumerant och Push-prenumerant) kan placeras på SQL Managed Instance, men utgivaren och distributören måste antingen vara både i molnet eller både lokalt.
- SQL Managed Instance kan kommunicera med de senaste versionerna av SQL Server. Mer information finns i versionsmatrisen som stöds.
- Transaktionsreplikering har vissa ytterligare nätverkskrav.
Mer information om hur du konfigurerar transaktionsreplikering finns i följande självstudier:
- Replikering mellan en MI SQL utgivare och mi-prenumerant SQL mi
- Replikering mellan en MI SQL utgivare, SQL MI-distributör och en SQL Server prenumerant
RESTORE-instruktion
- Syntax som stöds:
RESTORE DATABASERESTORE FILELISTONLY ONLYRESTORE HEADER ONLYRESTORE LABELONLY ONLYRESTORE VERIFYONLY ONLY
- Syntax som inte stöds:
RESTORE LOG ONLYRESTORE REWINDONLY ONLY
- Källa:
FROM URL(Azure Blob Storage) är det enda alternativ som stöds.FROM DISK/TAPE/backup-enheten stöds inte.- Säkerhetskopieringsuppsättningar stöds inte.
WITH-alternativ stöds inte. ÅterställningsförsökWITHDIFFERENTIALsom , ,STATSREPLACEosv. misslyckas.ASYNC RESTORE: Återställningen fortsätter även om klientanslutningen bryts. Om anslutningen har tagits bort kan du kontrollera statusen för en återställningsåtgärd och för en CREATE- ochsys.dm_operation_statusDROP-databas. Se sys.dm_operation_status.
Följande databasalternativ anges eller åsidosätts och kan inte ändras senare:
NEW_BROKERom den a broker inte är aktiverad i .bak-filen.ENABLE_BROKERom den a broker inte är aktiverad i .bak-filen.AUTO_CLOSE=OFFom en databas i .bak-filen harAUTO_CLOSE=ON.RECOVERY FULLom en databas i .bak-filen harSIMPLEellerBULK_LOGGEDåterställningsläge.- En minnesoptimerad filgrupp läggs till och kallas XTP om den inte fanns i .bak-källfilen.
- Alla befintliga minnesoptimerade filgrupper har bytt namn till XTP.
SINGLE_USERalternativenRESTRICTED_USERoch konverteras tillMULTI_USER.
Begränsningar:
- Säkerhetskopior av de skadade databaserna kan återställas beroende på typen av skada, men automatiska säkerhetskopieringar tas inte förrän felen har åtgärdats. Se till att du kör
DBCC CHECKDBpå källan SQL Managed Instance och använd säkerhetskopiering för att förhindra det härWITH CHECKSUMproblemet. - Återställning av fil för en databas som innehåller begränsningar som beskrivs i det här dokumentet (till exempel eller objekt) kan inte
.BAKFILESTREAMFILETABLEåterställas på SQL Managed Instance. .BAKfiler som innehåller flera säkerhetskopieringsuppsättningar kan inte återställas..BAKfiler som innehåller flera loggfiler kan inte återställas.- Säkerhetskopior som innehåller databaser som är större än 8 TB, aktiva minnesbaserade OLTP-objekt eller antal filer som överstiger 280 filer per instans kan inte återställas på en Generell användning-instans.
- Säkerhetskopior som innehåller databaser som är större än 4 TB eller minnes minnesbaserade OLTP-objekt med en total storlek som är större än den storlek som beskrivs i resursbegränsningar kan inte återställas på Affärskritisk instans. Information om återställningsutsatser finns i RESTORE-instruktioner.
Viktigt
Samma begränsningar gäller för inbyggd återställning till tidpunkt. Till exempel kan Generell användning databas som är större än 4 TB inte återställas på Affärskritisk instansen. Affärskritisk en databas med minnes minnes in memory OLTP-filer eller fler än 280 filer kan inte återställas på en Generell användning instans.
Service Broker
Utbyte av service broker-meddelanden mellan instanser stöds endast mellan Azure SQL Managed Instances:
CREATE ROUTE: Du kan inte använda medCREATE ROUTEnågot annat namn än eller DNS för en annan SQLADDRESSLOCALHanterad instans. Porten är alltid 4022.ALTER ROUTE: Du kan inte använda medALTER ROUTEnågot annat namn än eller DNS för en annan SQLADDRESSLOCALHanterad instans. Porten är alltid 4022.
Transportsäkerhet stöds, dialogsäkerhet är inte:
CREATE REMOTE SERVICE BINDINGstöds inte.
Service Broker är aktiverat som standard och kan inte inaktiveras. Följande ALTER DATABASE-alternativ stöds inte:
ENABLE_BROKERDISABLE_BROKER
Lagrade procedurer, funktioner och utlösare
NATIVE_COMPILATIONstöds inte på den Generell användning nivån.- Följande sp_configure alternativ stöds inte:
allow polybase exportallow updatesfilestream_access_levelremote accessremote data archiveremote proc transscan for startup procs
- Följande alternativ sp_configure ignoreras och har ingen effekt:
Ole Automation Procedures
sp_execute_external_scriptsstöds inte. Se sp_execute_external_scripts.xp_cmdshellstöds inte. Se xp_cmdshell.Extended stored proceduresstöds inte, och detta inkluderarsp_addextendedprocochsp_dropextendedproc. Den här funktionen stöds inte eftersom den är på en utfasningsväg för SQL Server. Mer information finns i Utökade lagrade procedurer.sp_attach_db,sp_attach_single_file_dbochsp_detach_dbstöds inte. Se sp_attach_db, sp_attach_single_file_dboch sp_detach_db.
Systemfunktioner och variabler
Följande variabler, funktioner och vyer returnerar olika resultat:
SERVERPROPERTY('EngineEdition')returnerar värdet 8. Den här egenskapen identifierar unikt en SQL hanterad instans. Se SERVEREGENSKAPER.SERVERPROPERTY('InstanceName')returnerar NULL eftersom begreppet instans som det finns för SQL Server inte gäller för SQL hanterad instans. Se SERVERPROPERTY('InstanceName').@@SERVERNAMEreturnerar ett fullständigt DNS-namn som kan anslutas, till exempel my-managed-instance.wcus17662feb9ce98.database.windows.net. Se @SERVERNAME @.SYS.SERVERSreturnerar ett fullständigt DNS-"anslutningsbart" namn, till exempel förmyinstance.domain.database.windows.netegenskaperna "name" och "data_source". Se SYS. SERVRAR.@@SERVICENAMEreturnerar NULL eftersom begreppet tjänst som det finns för SQL Server inte gäller för SQL Managed Instance. Se @SERVICENAME @.SUSER_IDstöds. Det returnerar NULL om Azure AD-inloggningen inte finns i sys.syslogins. Se SUSER_ID.SUSER_SIDstöds inte. Fel data returneras, vilket är ett tillfälligt känt problem. Se SUSER_SID.
Miljöbegränsningar
Undernät
- Du kan inte placera några andra resurser (till exempel virtuella datorer) i undernätet där du har distribuerat din SQL Managed Instance. Distribuera dessa resurser med ett annat undernät.
- Undernätet måste ha tillräckligt många tillgängliga IP-adresser. Minimum är att ha minst 32 IP-adresser i undernätet.
- Antalet virtuella kärnor och typer av instanser som du kan distribuera i en region har vissa begränsningar och begränsningar.
- Det finns en nätverkskonfiguration som måste tillämpas på undernätet.
VNET
- VNet kan distribueras med hjälp av resursmodell – klassisk modell för VNet stöds inte.
- När en SQL hanterad instans har skapats stöds inte SQL hanterad instans eller VNet till en annan resursgrupp eller prenumeration.
- För SQL hanterade instanser som finns i virtuella kluster som skapas före 2020-09-22 global peering inte. Du kan ansluta till dessa resurser via ExpressRoute eller VNet-till-VNet via VNet-gatewayer.
Redundansgrupper
Systemdatabaser replikeras inte till den sekundära instansen i en redundansgrupp. Scenarier som är beroende av objekt från systemdatabaserna är därför omöjliga på den sekundära instansen såvida inte objekten skapas manuellt på den sekundära instansen.
TEMPDB
- Den maximala filstorleken
tempdbför får inte vara större än 24 GB per kärna på en Generell användning nivå. Den maximalatempdbstorleken på en Affärskritisk-nivå begränsas av lagringsstorleken SQL hanterad instans.Tempdbloggfilens storlek är begränsad till 120 GB Generell användning nivån. Vissa frågor kan returnera ett fel om de behöver mer än 24 GB per kärna i eller om de producerar mer äntempdb120 GB loggdata. Tempdbdelas alltid upp i 12 datafiler: 1 primär, kallas även master, datafil och 11 icke-primära datafiler. Filstrukturen kan inte ändras och nya filer kan inte läggas till itempdb.- Minnesoptimerade
tempdbmetadata, en ny funktion SQL Server databas i minnet från 2019, stöds inte. - Objekt som skapats i modelldatabasen kan inte skapas automatiskt i efter en omstart eller redundans eftersom inte får sin
tempdbtempdbförsta objektlista från modelldatabasen. Du måste skapa objekt itempdbmanuellt efter varje omstart eller en redundans.
MSDB
Följande MSDB-scheman i den SQL instansen måste ägas av deras respektive fördefinierade roller:
- Allmänna roller
- TargetServersRole
- Databasroller har åtgärdats
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
- DatabaseMail-roller:
- DatabaseMailUserRole
- Integration services-roller:
- db_ssisadmin
- db_ssisltduser
- db_ssisoperator
Viktigt
Ändringar av fördefinierade rollnamn, schemanamn och schemaägare av kunder påverkar tjänstens normala drift. Alla ändringar som görs i dessa återställs till de fördefinierade värdena så snart som de har identifierats, eller vid nästa tjänstuppdatering senast för att säkerställa normal tjänstdrift.
Felloggar
SQL Managed Instance placerar utförlig information i felloggarna. Det finns många interna systemhändelser som loggas i felloggen. Använd en anpassad procedur för att läsa felloggar som filtrerar bort vissa irrelevanta poster. Mer information finns i SQL Managed Instance – sp_readmierrorlog eller SQL Managed Instance-tillägg (förhandsversion) för Azure Data Studio.
Nästa steg
- Mer information om hur SQL Managed Instance finns i Vad är SQL Managed Instance?
- En lista över funktioner och jämförelser finns i Funktionsjämförelse för Azure SQL Managed Instance.
- Information om lanseringsuppdateringar finns i Nyheter.
- Information om problem, lösningar och lösningar finns i Kända problem.
- En snabbstart som visar hur du skapar en ny SQL Managed Instance finns i Skapa en SQL Hanterad instans.