Utvärderingsregler för migrering av SQL Server till Azure SQL Managed Instance

Gäller för:Azure SQL Managed Instance

Migreringsverktyg verifierar SQL Server-källinstansen genom att köra flera utvärderingsregler. Reglerna identifierar problem som måste åtgärdas innan du migrerar SQL Server-databasen till Azure SQL Managed Instance.

Den här artikeln innehåller en lista över de regler som används för att utvärdera möjligheten att migrera din SQL Server-databas till Azure SQL Managed Instance.

Regelsammanfattning

Regelrubrik Nivå Kategori Information
AnalysisCommandJob Instans Varning AnalysisCommand-jobbsteget stöds inte i Azure SQL Managed Instance.
AnalysisQueryJob Instans Varning AnalysisQuery-jobbsteget stöds inte i Azure SQL Managed Instance.
AssemblyFromFile Databas Problem "CREATE ASSEMBLY" och "ALTER ASSEMBLY" med en filparameter stöds inte i Azure SQL Managed Instance.
BulkInsert Databas Problem BULK INSERT med icke-Azure-blobdatakälla stöds inte i Azure SQL Managed Instance.
ClrStrictSecurity Databas Varning CLR-sammansättningar som är markerade som SÄKRA eller EXTERNAL_ACCESS anses vara OSÄKRA.
ComputeClause Databas Varning COMPUTE-satsen stöds inte längre och har tagits bort.
CryptographicProvider Databas Problem En användning av CREATE CRYPTOGRAPHIC PROVIDER eller ALTER CRYPTOGRAPHIC PROVIDER hittades. Detta stöds inte i Azure SQL Managed Instance.
DatabasePrincipalAlias Databas Problem SYS. DATABASE_PRINCIPAL_ALIASES stöds inte längre och har tagits bort.
DbCompatLevelLowerThan100 Databas Varning Databaskompatibilitetsnivån under 100 stöds inte.
DisableDefCNSTCHK Databas Problem SET-alternativet DISABLE_DEF_CNST_CHK stöds inte längre och har tagits bort.
FastFirstRowHint Databas Varning FASTFIRSTROW-frågetips stöds inte längre och har tagits bort.
Filestream Databas Problem FILESTREAM och FileTable stöds inte i Azure SQL Managed Instance.
LinkedServerWithNonSQLProvider Databas Problem Länkad server med icke-SQL Server-provider stöds inte i Azure SQL Managed Instance.
MergeJob Instans Varning Kopplingsjobbsteg stöds inte i Azure SQL Managed Instance.
MIDatabaseSize Databas Problem Azure SQL Managed Instance stöder inte databasstorlek som är större än 16 TB.
MIHeterogeneousMSDTCTransactSQL Databas Problem BEGIN DISTRIBUTED TRANSACTION with non-SQL Server remote server stöds inte i Azure SQL Managed Instance.
MIHomogeneousMSDTCTransactSQL Databas Problem BEGIN DISTRIBUTED TRANSACTION stöds på flera servrar för Azure SQL Managed Instance.
MIInstanceSize Instans Varning Maximal lagringsstorlek för instanser i Azure SQL Managed Instance får inte vara större än 8 TB.
MultipleLogFiles Databas Problem Azure SQL Managed Instance stöder inte databaser med flera loggfiler.
NextColumn Databas Problem Tabeller och kolumner med namnet NEXT leder till ett fel i Azure SQL Managed Instance.
NonANSILeftOuterJoinSyntax Databas Varning Vänster yttre koppling i icke-ANSI-format stöds inte längre och har tagits bort.
NonANSIRightOuterJoinSyntax Databas Varning Höger yttre koppling i icke-ANSI-format stöds inte längre och har tagits bort.
NumDbExceeds100 Instans Varning Azure SQL Managed Instance stöder högst 100 databaser per instans.
OpenRowsetWithNonBlobDataSourceBulk Databas Problem OpenRowSet som används i massåtgärder med icke-Azure Blob Storage-datakälla stöds inte i Azure SQL Managed Instance.
OpenRowsetWithNonSQLProvider Databas Problem OpenRowSet med icke-SQL-provider stöds inte i Azure SQL Managed Instance.
PowerShellJob Instans Varning PowerShell-jobbsteget stöds inte i Azure SQL Managed Instance.
QueueReaderJob Instans Varning Jobbsteget Köläsare stöds inte i Azure SQL Managed Instance.
RAISERROR Databas Varning RAISERROR-anrop i äldre format bör ersättas med moderna motsvarigheter.
SqlMail Databas Varning SQL Mail stöds inte längre.
SystemProcedures110 Databas Varning Identifierade instruktioner som refererar till borttagna system lagrade procedurer som inte är tillgängliga i Azure SQL Managed Instance.
TraceFlags Instans Varning Spårningsflaggor som inte stöds i Azure SQL Managed Instance hittades.
TransactSqlJob Instans Varning TSQL-jobbsteget innehåller kommandon som inte stöds i Azure SQL Managed Instance.
WindowsAuthentication Instans Varning Databasanvändare som mappas med Windows-autentisering (integrerad säkerhet) stöds inte i Azure SQL Managed Instance.
XpCmdshell Databas Problem xp_cmdshell stöds inte i Azure SQL Managed Instance.

AnalysisCommand-jobb

Rubrik: AnalysisCommand-jobbsteget stöds inte i Azure SQL Managed Instance.
Kategori: Varning

Beskrivning
Det är ett jobbsteg som kör ett Analysis Services-kommando. AnalysisCommand-jobbsteget stöds inte i Azure SQL Managed Instance.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla jobb med hjälp av analysis service-kommandots jobbsteg och utvärdera om jobbsteget eller det berörda objektet kan tas bort. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader i SQL Server-agenten i Azure SQL Managed Instance

AnalysisQuery-jobb

Rubrik: AnalysisQuery-jobbsteget stöds inte i Azure SQL Managed Instance.
Kategori: Varning

Beskrivning
Det är ett jobbsteg som kör en Analysis Services-fråga. AnalysisQuery-jobbsteget stöds inte i Azure SQL Managed Instance.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla jobb med hjälp av Analysis Service Query-jobbsteget och utvärdera om jobbsteget eller det berörda objektet kan tas bort. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader i SQL Server-agenten i Azure SQL Managed Instance

Sammansättning från fil

Rubrik: "CREATE ASSEMBLY" och "ALTER ASSEMBLY" med en filparameter stöds inte i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Azure SQL Managed Instance stöder CREATE ASSEMBLY inte eller ALTER ASSEMBLY med en filparameter. En binär parameter stöds. Se avsnittet Berörda objekt för det specifika objekt där filparametern används.

Rekommendation
Granska objekt med eller CREATE ASSEMBLYALTER ASSEMBLY med en filparameter. Om det finns sådana objekt som krävs konverterar du filparametern till en binär parameter. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: CLR-skillnader i Azure SQL Managed Instance

BULK INSERT

Rubrik: BULK INSERT med icke-Azure-blobdatakälla stöds inte i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Azure SQL Managed Instance kan inte komma åt filresurser eller Windows-mappar. Se avsnittet "Berörda objekt" för specifika användningsområden för BULK INSERT-instruktioner som inte refererar till en Azure-blob. Objekt med MASSINFOGNING där källan inte är Azure Blob Storage fungerar inte efter migreringen till Azure SQL Managed Instance.

Rekommendation
Du måste konvertera BULK INSERT-instruktioner som använder lokala filer eller filresurser för att använda filer från Azure Blob Storage i stället när du migrerar till Azure SQL Managed Instance.

Mer information: Massinfogning och OPENROWSET-skillnader i Azure SQL Managed Instance

CLR-säkerhet

Rubrik: CLR-sammansättningar som markerats som SÄKRA eller EXTERNAL_ACCESS anses vara OSÄKRA
Kategori: Varning

Beskrivning
CLR Strikt säkerhetsläge tillämpas i Azure SQL Managed Instance. Det här läget är aktiverat som standard och introducerar icke-bakåtkompatibla ändringar för databaser som innehåller användardefinierade CLR-sammansättningar som har markerats som antingen SÄKRA eller EXTERNAL_ACCESS.

Rekommendation
CLR använder Code Access Security (CAS) i .NET Framework, som inte längre stöds som en säkerhetsgräns. Från och med SQL Server 2017 -databasmotorn (14.x) introduceras ett sp_configure alternativ som kallas strikt clr-säkerhet för att förbättra säkerheten för CLR-sammansättningar. Strikt clr-säkerhet är aktiverat som standard och behandlar SAFE- och EXTERNAL_ACCESS CLR-sammansättningar som om de hade markerats som OSÄKRA. När strikt clr-säkerhet har inaktiverats kan en CLR-sammansättning som skapats med PERMISSION_SET = SAFE komma åt externa systemresurser, anropa ohanterad kod och skaffa sysadmin-privilegier. När du har aktiverat strikt säkerhet kan alla sammansättningar som inte är signerade inte läsas in. Om en databas dessutom har SAFE- eller EXTERNAL_ACCESS sammansättningar kan RESTORE- eller ATTACH DATABASE-instruktioner slutföras, men sammansättningarna kan inte läsas in. Om du vill läsa in sammansättningarna måste du antingen ändra eller släppa och återskapa varje sammansättning så att den signeras med ett certifikat eller en asymmetrisk nyckel som har en motsvarande inloggning med behörigheten OSÄKER SAMMANSÄTTNING på servern.

Mer information: STRIKT CLR-säkerhet

COMPUTE-sats

Rubrik: COMPUTE-satsen stöds inte längre och har tagits bort.
Kategori: Varning

Beskrivning
COMPUTE-satsen genererar summor som visas som ytterligare sammanfattningskolumner i slutet av resultatuppsättningen. Den här satsen stöds dock inte längre i Azure SQL Managed Instance.

Rekommendation
T-SQL-modulen måste skrivas om med rollup-operatorn i stället. Följande kod visar hur COMPUTE kan ersättas med ROLLUP:

USE AdventureWorks2022;GO;

SELECT SalesOrderID,
    UnitPrice,
    UnitPriceDiscount
FROM Sales.SalesOrderDetail
ORDER BY SalesOrderID COMPUTE SUM(UnitPrice),
    SUM(UnitPriceDiscount) BY SalesOrderID GO;

SELECT SalesOrderID,
    UnitPrice,
    UnitPriceDiscount,
    SUM(UnitPrice) AS UnitPrice,
    SUM(UnitPriceDiscount) AS UnitPriceDiscount
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID,
    UnitPrice,
    UnitPriceDiscount
WITH ROLLUP;

Mer information: Utgångna databasmotorfunktioner i SQL Server

Kryptografiprovider

Rubrik: En användning av CREATE CRYPTOGRAPHIC PROVIDER eller ALTER CRYPTOGRAPHIC PROVIDER hittades, vilket inte stöds i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Azure SQL Managed Instance stöder inte KRYPTOGRAFIPROVIDER-instruktioner eftersom den inte kan komma åt filer. Se avsnittet Berörda objekt för de specifika användningsområdena för KRYPTOGRAFIPROVIDER-instruktioner. Objekt med "CREATE CRYPTOGRAPHIC PROVIDER" eller "ALTER CRYPTOGRAPHIC PROVIDER" fungerar inte korrekt efter migreringen till Azure SQL Managed Instance.

Rekommendation
Granska objekt med "CREATE CRYPTOGRAPHIC PROVIDER" eller "ALTER CRYPTOGRAPHIC PROVIDER". I alla sådana objekt som krävs tar du bort användning av dessa funktioner. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader mellan kryptografiska providerer i Azure SQL Managed Instance

Databaskompatibilitet

Rubrik: Databaskompatibilitetsnivån under 100 stöds inte
Kategori: Varning

Beskrivning
Databaskompatibilitetsnivå är ett värdefullt verktyg för att hjälpa till med databasmodernisering genom att låta SQL Server Database Engine uppgraderas, samtidigt som programmets funktionsstatus bibehålls genom att samma föruppgraderingsnivå för databaskompatibilitet bibehålls. Azure SQL Managed Instance stöder inte kompatibilitetsnivåer under 100. När databasen med kompatibilitetsnivå under 100 återställs på Azure SQL Managed Instance uppgraderas kompatibilitetsnivån till 100.

Rekommendation
Utvärdera om programfunktionen är intakt när databaskompatibilitetsnivån uppgraderas till 100 på Azure SQL Managed Instance. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Kompatibilitetsnivåer som stöds i Azure SQL Managed Instance

Alias för databasens huvudnamn

Rubrik: SYS. DATABASE_PRINCIPAL_ALIASES stöds inte längre och har tagits bort.
Kategori: Problem

Beskrivning
SYS. DATABASE_PRINCIPAL_ALIASES stöds inte längre och har tagits bort i Azure SQL Managed Instance.

Rekommendation
Använd roller i stället för alias.

Mer information: Utgångna databasmotorfunktioner i SQL Server

DISABLE_DEF_CNST_CHK alternativ

Rubrik: SET-alternativet DISABLE_DEF_CNST_CHK stöds inte längre och har tagits bort.
Kategori: Problem

Beskrivning
SET-alternativet DISABLE_DEF_CNST_CHK stöds inte längre och har tagits bort i Azure SQL Managed Instance.

Mer information: Utgångna databasmotorfunktioner i SQL Server

FASTFIRSTROW-tips

Rubrik: FASTFIRSTROW-frågetips stöds inte längre och har tagits bort.
Kategori: Varning

Beskrivning
FASTFIRSTROW-frågetips stöds inte längre och har tagits bort i Azure SQL Managed Instance.

Rekommendation
I stället för FASTFIRSTROW-frågetips använder du ALTERNATIV (FAST n).

Mer information: Utgångna databasmotorfunktioner i SQL Server

FILESTREAM

Rubrik: FILESTREAM och FileTable stöds inte i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Funktionen FILESTREAM, som gör att du kan lagra ostrukturerade data som textdokument, bilder och videor i NTFS-filsystemet, stöds inte i Azure SQL Managed Instance. Det går inte att migrera den här databasen eftersom säkerhetskopian som innehåller FILESTREAM-filgrupper inte kan återställas på Azure SQL Managed Instance.

Rekommendation
Ladda upp ostrukturerade filer till Azure Blob Storage och lagra metadata relaterade till dessa filer (namn, typ, URL-plats, lagringsnyckel osv.) i Azure SQL Managed Instance. Du kan behöva återskapa ditt program för att aktivera strömmande blobar till och från Azure SQL Managed Instance. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Blogg om direktuppspelning av blobar till och från SQL Azure

Heterogen MS DTC

Rubrik: BEGIN DISTRIBUTED TRANSACTION with non-SQL Server remote server is not supported in Azure SQL Managed Instance .Title: BEGIN DISTRIBUTED TRANSACTION with non-SQL Server remote server is not supported in Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Distribuerad transaktion som startas av Transact SQL BEGIN DISTRIBUTED TRANSACTION och hanteras av Microsoft Distributed Transaction Coordinator (MS DTC) stöds inte i Azure SQL Managed Instance om fjärrservern inte är SQL Server.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla objekt med BEGIN DISTRUBUTED TRANSACTION. Överväg att migrera deltagardatabaserna till Azure SQL Managed Instance där distribuerade transaktioner över flera instanser stöds. Mer information finns i Transaktioner över flera servrar för Azure SQL Managed Instance.

Du kan också migrera till SQL Server på en virtuell Azure-dator.

Homogen MS DTC

Rubrik: BEGIN DISTRIBUTED TRANSACTION stöds på flera servrar för Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Distribuerad transaktion som startas av Transact SQL BEGIN DISTRIBUTED TRANSACTION och hanteras av Microsoft Distributed Transaction Coordinator (MS DTC) stöds på flera servrar för Azure SQL Managed Instance.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla objekt med BEGIN DISTRUBUTED TRANSACTION. Överväg att migrera deltagardatabaserna till Azure SQL Managed Instance där distribuerade transaktioner över flera instanser stöds. Mer information finns i Transaktioner över flera servrar för Azure SQL Managed Instance.

Du kan också migrera till SQL Server på en virtuell Azure-dator.

Länkad server (icke-SQL-provider)

Rubrik: Länkad server med icke-SQL Server-provider stöds inte i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Länkade servrar gör det möjligt för SQL Server Database Engine att köra kommandon mot OLE DB-datakällor utanför SQL Server-instansen. Länkad server med icke-SQL Server-provider stöds inte i Azure SQL Managed Instance.

Rekommendation
Azure SQL Managed Instance stöder inte länkade serverfunktioner om fjärrserverprovidern inte är SQL Server som Oracle, Sybase osv.

Följande åtgärder rekommenderas för att eliminera behovet av länkade servrar:

  • Identifiera de beroende databaserna från fjärranslutna icke-SQL-servrar och överväg att flytta dem till databasen som migreras.
  • Migrera de beroende databaserna till mål som stöds, till exempel SQL Managed Instance, SQL Database, Azure Synapse och SQL Server-instanser.
  • Överväg att skapa en länkad server mellan Azure SQL Managed Instance och SQL Server på en virtuell Azure-dator (SQL VM). Från den virtuella SQL-datorn skapar du sedan en länkad server till Oracle, Sybase osv. Den här metoden omfattar två hopp men kan användas som tillfällig lösning.
  • Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader mellan länkad server i Azure SQL Managed Instance

Sammanslagningsjobb

Rubrik: Koppla jobbsteg stöds inte i Azure SQL Managed Instance.
Kategori: Varning

Beskrivning
Det är ett jobbsteg som aktiverar replikeringssammanslagningsagenten. Replication Merge Agent är ett körbart verktyg som tillämpar den första ögonblicksbilden som finns i databastabellerna på prenumeranterna. Den sammanfogar även inkrementella dataändringar som inträffat i Publisher efter att den första ögonblicksbilden skapades och stäms av konflikter antingen enligt de regler som du konfigurerar eller med hjälp av en anpassad lösning som du skapar. Kopplingsjobbsteg stöds inte i Azure SQL Managed Instance.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla jobb med hjälp av steget Slå samman jobb och utvärdera om jobbsteget eller det berörda objektet kan tas bort. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader i SQL Server-agenten i Azure SQL Managed Instance

MI-databasstorlek

Rubrik: Azure SQL Managed Instance stöder inte databasstorlek som är större än 16 TB.
Kategori: Problem

Beskrivning
Databasens storlek är större än den maximala reserverade instanslagringen. Det går inte att välja den här databasen för migrering eftersom storleken överskred den tillåtna gränsen.

Rekommendation
Utvärdera om data kan arkiveras komprimerade eller fragmenterade till flera databaser. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Maskinvaruegenskaper för Azure SQL Managed Instance

MI-instansstorlek

Rubrik: Maximal lagringsstorlek för instanser i Azure SQL Managed Instance får inte vara större än 8 TB.
Kategori: Varning

Beskrivning
Storleken på alla databaser är större än maximal reserverad instanslagring.

Rekommendation
Överväg att migrera databaserna till olika Azure SQL-hanterade instanser eller till SQL Server på en virtuell Azure-dator om alla databaser måste finnas på samma instans.

Mer information: Maskinvaruegenskaper för Azure SQL Managed Instance

Flera loggfiler

Rubrik: Azure SQL Managed Instance stöder inte flera loggfiler.
Kategori: Problem

Beskrivning
MED SQL Server kan en databas logga in på flera filer. Den här databasen har flera loggfiler som inte stöds i Azure SQL Managed Instance. **Den här databasen kan inte migreras eftersom säkerhetskopieringen inte kan återställas på Azure SQL Managed Instance.
**

Rekommendation
Azure SQL Managed Instance stöder endast en enda logg per databas. Du måste ta bort alla filer utom en av loggfilerna innan du migrerar den här databasen till Azure:

ALTER DATABASE [database_name] REMOVE FILE [log_file_name]

Mer information: Databasalternativ som inte stöds i Azure SQL Managed Instance

Nästa kolumn

Rubrik: Tabeller och kolumner med namnet NEXT leder till ett fel i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Tabeller eller kolumner med namnet NEXT identifierades. Sekvenser, som introduceras i Microsoft SQL Server, använder funktionen NEXT VALUE FOR i ANSI-standard. Tabeller eller kolumner med namnet NEXT och kolumnalias som VALUE med ANSI-standarden SOM utelämnas kan orsaka ett fel.

Rekommendation
Skriv om instruktioner för att inkludera nyckelordet ANSI standard AS när du aliaserar en tabell eller kolumn. När en kolumn till exempel heter NEXT och kolumnen aliaseras som VÄRDE, orsakar frågan SELECT NEXT VALUE FROM TABLE ett fel och bör skrivas om som SELECT NEXT AS VALUE FROM TABLE. För en tabell med namnet NEXT och alias som VALUE orsakar frågan SELECT Col1 FROM NEXT VALUE ett fel och bör skrivas om som SELECT Col1 FROM NEXT AS VALUE.

Vänster yttre koppling i icke-ANSI-format

Rubrik: Vänster yttre koppling i icke-ANSI-format stöds inte längre och har tagits bort.
Kategori: Varning

Beskrivning
Vänster yttre koppling i icke-ANSI-format stöds inte längre och har tagits bort i Azure SQL Managed Instance.

Rekommendation
Använd ANSI-kopplingssyntax.

Mer information: Utgångna databasmotorfunktioner i SQL Server

Yttre koppling i icke-ANSI-format

Rubrik: Höger yttre koppling i icke-ANSI-format stöds inte längre och har tagits bort.
Kategori: Varning

Beskrivning
Höger yttre koppling i icke-ANSI-format stöds inte längre och har tagits bort i Azure SQL Managed Instance.

Mer information: Utgångna databasmotorfunktioner i SQL Server

Rekommendation
Använd ANSI-kopplingssyntax.

Databaser överskrider 100

Rubrik: Azure SQL Managed Instance stöder högst 100 databaser per instans.
Kategori: Varning

Beskrivning
Maximalt antal databaser som stöds i Azure SQL Managed Instance är 100, såvida inte instansens lagringsstorleksgräns har nåtts.

Rekommendation
Överväg att migrera databaserna till olika Azure SQL-hanterade instanser eller till SQL Server på en virtuell Azure-dator om alla databaser måste finnas på samma instans.

Mer information: Resursbegränsningar för Azure SQL Managed Instance

OPENROWSET (icke-BLOB-datakälla)

Rubrik: OpenRowSet som används i massåtgärder med icke-Azure Blob Storage-datakälla stöds inte i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
OPENROWSET stöder massåtgärder via en inbyggd BULK-provider som gör att data från en fil kan läsas och returneras som en raduppsättning. OPENROWSET med icke-Azure Blob Storage-datakälla stöds inte i Azure SQL Managed Instance.

Rekommendation
Azure SQL Managed Instance kan inte komma åt filresurser och Windows-mappar, så filerna måste importeras från Azure Blob Storage. Därför stöds endast datakälla av blobtyp i funktionen OPENROWSET. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Massinfogning och OPENROWSET-skillnader i Azure SQL Managed Instance

OPENROWSET (icke-SQL-provider)

Rubrik: OpenRowSet med en icke-SQL-provider stöds inte i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Den här metoden är ett alternativ till att komma åt tabeller på en länkad server och är en ad hoc-metod för att ansluta och komma åt fjärrdata med hjälp av OLE DB. OpenRowSet med icke-SQL-provider stöds inte i Azure SQL Managed Instance.

Rekommendation
Funktionen OPENROWSET kan endast användas för att köra frågor på SQL Server-instanser (antingen hanterade, lokala eller i virtuella datorer). Leverantörerna SQLNCLI, SQLNCLI11, SQLOLEDBoch MSOLEDBSQL (rekommenderas) stöds. Microsoft OLE DB-drivrutinen (MSOLEDBSQL) för SQL Server rekommenderas för ny utveckling.

Rekommendationsåtgärden är att identifiera beroende databaser från fjärranslutna icke-SQL-servrar och överväga att flytta dem till den instans som migreras.

Mer information: Massinfogning och OPENROWSET-skillnader i Azure SQL Managed Instance

PowerShell-jobb

Rubrik: PowerShell-jobbsteget stöds inte i Azure SQL Managed Instance.
Kategori: Varning

Beskrivning
Det är ett jobbsteg som kör ett PowerShell-skript. PowerShell-jobbsteget stöds inte i Azure SQL Managed Instance.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla jobb med hjälp av PowerShell-jobbsteget och utvärdera om jobbsteget eller det berörda objektet kan tas bort. Utvärdera om Azure Automation kan användas. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader i SQL Server-agenten i Azure SQL Managed Instance

Köläsarjobb

Rubrik: Jobbsteget Köläsare stöds inte i Azure SQL Managed Instance.
Kategori: Varning

Beskrivning
Det är ett jobbsteg som aktiverar replikeringsköläsaragenten. Replikeringsköläsaragenten är en körbar fil som läser meddelanden som lagras i en Microsoft SQL Server-kö eller en Microsoft-meddelandekö och sedan tillämpar dessa meddelanden på utgivaren. Queue Reader Agent används med ögonblicksbilder och transaktionspublikationer som tillåter köuppdatering. Jobbsteget Köläsare stöds inte i Azure SQL Managed Instance.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla jobb med hjälp av jobbsteget Köläsare och utvärdera om jobbsteget eller det berörda objektet kan tas bort. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader i SQL Server-agenten i Azure SQL Managed Instance

RAISERROR

Rubrik: RAISERROR-anrop i äldre format bör ersättas med moderna motsvarigheter.
Kategori: Varning

Beskrivning
RAISERROR-anrop som exemplet nedan kallas äldre eftersom de inte innehåller kommatecken och parenteser. RAISERROR 50001 'this is a test'. Den här metoden för att anropa RAISERROR stöds inte längre och tas bort i Azure SQL Managed Instance.

Rekommendation
Skriv om -instruktionen med den aktuella RAISERROR-syntaxen eller utvärdera om den moderna metoden BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH är möjlig.

Mer information: Utgångna databasmotorfunktioner i SQL Server

SQL Mail

Rubrik: SQL Mail har inte längre stöd.
Kategori: Varning

Beskrivning
SQL Mail har inte längre stöd och tagits bort i Azure SQL Managed Instance.

Rekommendation
Använd Database Mail.

Mer information: Utgångna databasmotorfunktioner i SQL Server

SystemProcedures110

Rubrik: Identifierade instruktioner som refererar till borttagna system lagrade procedurer som inte är tillgängliga i Azure SQL Managed Instance.
Kategori: Varning

Beskrivning
Följande system och utökade lagrade procedurer som inte stöds kan inte användas i Azure SQL Managed Instance – sp_dboption, sp_addserver, sp_dropalias,sp_activedirectory_obj, sp_activedirectory_scpoch sp_activedirectory_start.

Rekommendation
Ta bort referenser till systemprocedurer som inte stöds och som har tagits bort i Azure SQL Managed Instance.

Mer information: Utgångna databasmotorfunktioner i SQL Server

Transact-SQL-jobb

Rubrik: TSQL-jobbsteget innehåller kommandon som inte stöds i Azure SQL Managed Instance
Kategori: Varning

Beskrivning
Det är ett jobbsteg som kör Transact-SQL-skript vid schemalagd tidpunkt. TSQL-jobbsteget innehåller kommandon som inte stöds, som inte stöds i Azure SQL Managed Instance.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla jobb som innehåller kommandon som inte stöds i Azure SQL Managed Instance och utvärdera om jobbsteget eller det berörda objektet kan tas bort. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader i SQL Server-agenten i Azure SQL Managed Instance

Spårningsflaggor

Rubrik: Spårningsflaggor som inte stöds i Azure SQL Managed Instance hittades
Kategori: Varning

Beskrivning
Azure SQL Managed Instance stöder endast begränsat antal globala spårningsflaggor. Sessionsspårningsflaggor stöds inte.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla spårningsflaggor som inte stöds i Azure SQL Managed Instance och utvärdera om de kan tas bort. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Spåra flaggor

Windows-autentisering

Rubrik: Databasanvändare som mappas med Windows-autentisering (integrerad säkerhet) stöds inte i Azure SQL Managed Instance
Kategori: Varning

Beskrivning
Azure SQL Managed Instance stöder två typer av autentisering:

  • SQL-autentisering, som använder ett användarnamn och lösenord
  • Microsoft Entra-autentisering, som använder identiteter som hanteras av Microsoft Entra-ID (tidigare Azure Active Directory) och stöds för hanterade och integrerade domäner.

Databasanvändare som mappas med Windows-autentisering (integrerad säkerhet) stöds inte i Azure SQL Managed Instance.

Rekommendation
Federera den lokala Active Directory med Microsoft Entra-ID. Windows-identiteten kan sedan ersättas med motsvarande Microsoft Entra-identiteter. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Säkerhetsfunktioner för SQL Managed Instance

XP_cmdshell

Rubrik: xp_cmdshell stöds inte i Azure SQL Managed Instance.
Kategori: Problem

Beskrivning
Xp_cmdshell, som skapar ett Windows-kommandogränssnitt och skickar en sträng för körning, stöds inte i Azure SQL Managed Instance.

Rekommendation
Granska avsnittet berörda objekt i Azure Migrate för att se alla objekt som använder xp_cmdshell och utvärdera om referensen till xp_cmdshell eller det berörda objektet kan tas bort. Överväg att utforska Azure Automation som levererar molnbaserad automatisering och konfigurationstjänst. Du kan också migrera till SQL Server på en virtuell Azure-dator.

Mer information: Skillnader i lagrad procedur i Azure SQL Managed Instance