Reguły oceny migracji serwera SQL do usługi Azure SQL Managed Instance

Dotyczy:Azure SQL Managed Instance

Narzędzia migracji weryfikują źródłowe wystąpienie programu SQL Server, uruchamiając kilka reguł oceny. Reguły identyfikują problemy, które należy rozwiązać przed migracją bazy danych programu SQL Server do usługi Azure SQL Managed Instance.

Ten artykuł zawiera listę reguł używanych do oceny możliwości migracji bazy danych programu SQL Server do usługi Azure SQL Managed Instance.

Podsumowanie reguł

Tytuł reguły Poziom Kategoria Szczegóły
AnalysisCommandJob Wystąpienie Ostrzeżenie Krok zadania AnalysisCommand nie jest obsługiwany w usłudze Azure SQL Managed Instance.
AnalysisQueryJob Wystąpienie Ostrzeżenie Krok zadania AnalysisQuery nie jest obsługiwany w usłudze Azure SQL Managed Instance.
AssemblyFromFile Baza danych Problem Polecenia "CREATE ASSEMBLY" i "ALTER ASSEMBLY" z parametrem pliku nie są obsługiwane w usłudze Azure SQL Managed Instance.
BulkInsert Baza danych Problem FUNKCJA BULK INSERT ze źródłem danych obiektów blob spoza platformy Azure nie jest obsługiwana w usłudze Azure SQL Managed Instance.
ClrStrictSecurity Baza danych Ostrzeżenie Zestawy CLR oznaczone jako BEZPIECZNE lub EXTERNAL_ACCESS są uważane za NIEBEZPIECZNE.
ComputeClause Baza danych Ostrzeżenie Klauzula COMPUTE nie jest już obsługiwana i została usunięta.
Cryptographicprovider Baza danych Problem Znaleziono użycie POLECENIA CREATE CRYPTOGRAPHIC PROVIDER lub ALTER CRYPTOGRAPHIC PROVIDER. Nie jest to obsługiwane w usłudze Azure SQL Managed Instance.
DatabasePrincipalAlias Baza danych Problem SYS. DATABASE_PRINCIPAL_ALIASES nie jest już obsługiwana i została usunięta.
DbCompatLevelLowerThan100 Baza danych Ostrzeżenie Poziom zgodności bazy danych poniżej 100 nie jest obsługiwany.
DisableDefCNSTCHK Baza danych Problem Opcja SET DISABLE_DEF_CNST_CHK nie jest już obsługiwana i została usunięta.
FastFirstRowHint Baza danych Ostrzeżenie Wskazówka zapytania FASTFIRSTROW nie jest już obsługiwana i została usunięta.
Filestream Baza danych Problem FileSTREAM i FileTable nie są obsługiwane w usłudze Azure SQL Managed Instance.
LinkedServerWithNonSQLProvider Baza danych Problem Serwer połączony z dostawcą programu innego niż SQL Server nie jest obsługiwany w usłudze Azure SQL Managed Instance.
MergeJob Wystąpienie Ostrzeżenie Krok scalania zadania nie jest obsługiwany w usłudze Azure SQL Managed Instance.
MIDatabaseSize Baza danych Problem Usługa Azure SQL Managed Instance nie obsługuje rozmiaru bazy danych większego niż 16 TB.
MIHeterogeneousMSDTCTransactSQL Baza danych Problem BEGIN DISTRIBUTED TRANSACTION with non-SQL Server remote server is not supported in Azure SQL Managed Instance .BEGIN DISTRIBUTED TRANSACTION with non-SQL Server remote server is not supported in Azure SQL Managed Instance.BEGIN DISTRIBUTED TRANSACTION with non-SQL Server remote server is not supported in Azure SQL Managed Instance.BEGIN DISTRIBUTED TRANSACTION with
MIHomogeneousMSDTCTransactSQL Baza danych Problem FUNKCJA BEGIN DISTRIBUTED TRANSACTION jest obsługiwana na wielu serwerach dla usługi Azure SQL Managed Instance.
MIInstanceSize Wystąpienie Ostrzeżenie Maksymalny rozmiar magazynu wystąpień w usłudze Azure SQL Managed Instance nie może być większy niż 8 TB.
MultipleLogFiles Baza danych Problem Usługa Azure SQL Managed Instance nie obsługuje baz danych z wieloma plikami dziennika.
Kolumna następna Baza danych Problem Tabele i kolumny o nazwie NEXT prowadzą do błędu w usłudze Azure SQL Managed Instance.
NonANSILeftOuterJoinSyntax Baza danych Ostrzeżenie Sprzężenia zewnętrzne inne niż ANSI nie są już obsługiwane i zostały usunięte.
NonANSIRightOuterJoinSyntax Baza danych Ostrzeżenie Sprzężenia zewnętrzne inne niż ANSI nie są już obsługiwane i zostały usunięte.
NumDbExceeds100 Wystąpienie Ostrzeżenie Usługa Azure SQL Managed Instance obsługuje maksymalnie 100 baz danych na wystąpienie.
OpenRowsetWithNonBlobDataSourceBulk Baza danych Problem Zestaw OpenRowSet używany w operacji zbiorczej ze źródłem danych magazynu obiektów blob platformy Azure nie jest obsługiwany w usłudze Azure SQL Managed Instance.
OpenRowsetWithNonSQLProvider Baza danych Problem Zestaw OpenRowSet z dostawcą innych niż SQL nie jest obsługiwany w usłudze Azure SQL Managed Instance.
PowerShellJob Wystąpienie Ostrzeżenie Krok zadania programu PowerShell nie jest obsługiwany w usłudze Azure SQL Managed Instance.
QueueReaderJob Wystąpienie Ostrzeżenie Krok zadania czytelnika kolejki nie jest obsługiwany w usłudze Azure SQL Managed Instance.
RAISERROR Baza danych Ostrzeżenie Starsze wywołania RAISERROR stylu powinny zostać zastąpione nowoczesnymi odpowiednikami.
Sqlmail Baza danych Ostrzeżenie Usługa SQL Mail nie jest już obsługiwana.
SystemProcedures110 Baza danych Ostrzeżenie Wykryte instrukcje odwołujące się do usuniętych procedur składowanych systemu, które nie są dostępne w usłudze Azure SQL Managed Instance.
TraceFlags Wystąpienie Ostrzeżenie Znaleziono flagi śledzenia, które nie są obsługiwane w usłudze Azure SQL Managed Instance.
TransactSqlJob Wystąpienie Ostrzeżenie Krok zadania TSQL obejmuje nieobsługiwane polecenia w usłudze Azure SQL Managed Instance.
Windowsauthentication Wystąpienie Ostrzeżenie Użytkownicy bazy danych mapowane przy użyciu uwierzytelniania systemu Windows (zintegrowane zabezpieczenia) nie są obsługiwane w usłudze Azure SQL Managed Instance.
XpCmdshell Baza danych Problem xp_cmdshell nie jest obsługiwana w usłudze Azure SQL Managed Instance.

Zadanie AnalysisCommand

Tytuł: Krok zadania AnalysisCommand nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Ostrzeżenie

Opis
Jest to krok zadania, który uruchamia polecenie usług Analysis Services. Krok zadania AnalysisCommand nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie zadania przy użyciu kroku zadania polecenia usługi Analysis Service i ocenić, czy można usunąć krok zadania lub obiekt, którego dotyczy problem. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice agenta programu SQL Server w usłudze Azure SQL Managed Instance

Zadanie AnalysisQuery

Tytuł: Krok zadania AnalysisQuery nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Ostrzeżenie

Opis
Jest to krok zadania, który uruchamia zapytanie usług Analysis Services. Krok zadania AnalysisQuery nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie zadania przy użyciu kroku zadania zapytania usługi Analysis Service i ocenić, czy można usunąć krok zadania lub obiekt, którego dotyczy problem. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice agenta programu SQL Server w usłudze Azure SQL Managed Instance

Zestaw z pliku

Tytuł: "CREATE ASSEMBLY" i "ALTER ASSEMBLY" z parametrem pliku nie są obsługiwane w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Usługa Azure SQL Managed Instance nie obsługuje parametru pliku ani ALTER ASSEMBLY go nie obsługujeCREATE ASSEMBLY. Obsługiwany jest parametr binarny. Zobacz sekcję Obiekty, których dotyczy problem, dla określonego obiektu, w którym jest używany parametr pliku.

Zalecenie
Przejrzyj obiekty przy użyciu CREATE ASSEMBLY parametru lub ALTER ASSEMBLY z plikiem. Jeśli są wymagane takie obiekty, przekonwertuj parametr pliku na parametr binarny. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice środowiska CLR w usłudze Azure SQL Managed Instance

Instrukcja BULK INSERT

Tytuł: FUNKCJA BULK INSERT ze źródłem danych obiektów blob spoza platformy Azure nie jest obsługiwana w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Usługa Azure SQL Managed Instance nie może uzyskać dostępu do udziałów plików ani folderów systemu Windows. Zobacz sekcję "Obiekty, których dotyczy problem", aby zapoznać się z konkretnymi zastosowaniami instrukcji BULK INSERT, które nie odwołują się do obiektu blob platformy Azure. Obiekty z funkcją "BULK INSERT", gdzie źródło nie jest usługą Azure Blob Storage, nie działa po migracji do usługi Azure SQL Managed Instance.

Zalecenie
Podczas migracji do usługi Azure SQL Managed Instance należy przekonwertować instrukcje BULK INSERT, które używają lokalnych plików lub udziałów plików z usługi Azure Blob Storage.

Więcej informacji: Zbiorcze wstawianie i różnice openROWSET w usłudze Azure SQL Managed Instance

Zabezpieczenia ŚRODOWISKA CLR

Tytuł: Zestawy CLR oznaczone jako BEZPIECZNE lub EXTERNAL_ACCESS są uważane za NIEBEZPIECZNE
Kategoria: Ostrzeżenie

Opis
Tryb zabezpieczeń ścisłych środowiska CLR jest wymuszany w usłudze Azure SQL Managed Instance. Ten tryb jest domyślnie włączony i wprowadza zmiany powodujące niezgodność dla baz danych zawierających zestawy CLR zdefiniowane przez użytkownika oznaczone jako SAFE lub EXTERNAL_ACCESS.

Zalecenie
ClR używa zabezpieczeń dostępu kodu (CAS) w programie .NET Framework, który nie jest już obsługiwany jako granica zabezpieczeń. Począwszy od aparatu bazy danych programu SQL Server 2017 (14.x), sp_configure wprowadzono opcję o nazwie clr strict security w celu zwiększenia bezpieczeństwa zestawów CLR. Clr ścisłe zabezpieczenia są domyślnie włączone i traktuje zestawy SAFE i EXTERNAL_ACCESS CLR tak, jakby zostały oznaczone jako NIEBEZPIECZNE. Gdy ścisłe zabezpieczenia clr są wyłączone, zestaw CLR utworzony za pomocą PERMISSION_SET = SAFE może mieć dostęp do zasobów systemu zewnętrznego, wywołać kod niezarządzany i uzyskać uprawnienia administratora systemu. Po włączeniu rygorystycznych zabezpieczeń wszystkie zestawy, które nie są podpisane, nie będą ładowane. Ponadto, jeśli baza danych ma zestawy SAFE lub EXTERNAL_ACCESS, instrukcje RESTORE lub ATTACH DATABASE mogą zakończyć się niepowodzeniem, ale zestawy mogą nie zostać załadowane. Aby załadować zestawy, należy zmienić lub usunąć i ponownie utworzyć każdy zestaw, aby był podpisany przy użyciu certyfikatu lub klucza asymetrycznego, który ma odpowiednie dane logowania z uprawnieniem NIEBEZPIECZNY ZESTAW na serwerze.

Więcej informacji: CLR strict security

Klauzula COMPUTE

Tytuł: Klauzula COMPUTE nie jest już obsługiwana i została usunięta.
Kategoria: Ostrzeżenie

Opis
Klauzula COMPUTE generuje sumy, które są wyświetlane jako dodatkowe kolumny podsumowania na końcu zestawu wyników. Jednak ta klauzula nie jest już obsługiwana w usłudze Azure SQL Managed Instance.

Zalecenie
Moduł T-SQL musi zostać przepisany przy użyciu operatora ROLLUP. Poniższy kod pokazuje, jak obliczenia można zastąpić funkcją 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;

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

Dostawca kryptograficzny

Tytuł: znaleziono użycie polecenia CREATE CRYPTOGRAPHIC PROVIDER lub ALTER CRYPTOGRAPHIC PROVIDER, który nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Usługa Azure SQL Managed Instance nie obsługuje instrukcji DOSTAWCY USŁUG KRYPTOGRAFICZNYCH, ponieważ nie może uzyskać dostępu do plików. Zobacz sekcję Obiekty, których dotyczy problem, aby zapoznać się z konkretnymi zastosowaniami instrukcji DOSTAWCY KRYPTOGRAFICZNYCH. Obiekty z elementem "CREATE CRYPTOGRAPHIC PROVIDER" lub "ALTER CRYPTOGRAPHIC PROVIDER" nie działają poprawnie po przeprowadzeniu migracji do usługi Azure SQL Managed Instance.

Zalecenie
Przejrzyj obiekty za pomocą polecenia "CREATE CRYPTOGRAPHIC PROVIDER" lub "ALTER CRYPTOGRAPHIC PROVIDER". W przypadku wszystkich wymaganych obiektów usuń użycie tych funkcji. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice dostawców kryptograficznych w usłudze Azure SQL Managed Instance

Zgodność bazy danych

Tytuł: Poziom zgodności bazy danych poniżej 100 nie jest obsługiwany
Kategoria: Ostrzeżenie

Opis
Poziom zgodności bazy danych jest cennym narzędziem ułatwiającym modernizację bazy danych, umożliwiając uaktualnienie aparatu bazy danych programu SQL Server przy zachowaniu stanu funkcjonalności łączenia aplikacji przez utrzymanie tego samego poziomu zgodności bazy danych przed uaktualnieniem. Usługa Azure SQL Managed Instance nie obsługuje poziomów zgodności poniżej 100. Gdy baza danych z poziomem zgodności poniżej 100 zostanie przywrócona w usłudze Azure SQL Managed Instance, poziom zgodności zostanie uaktualniony do 100.

Zalecenie
Sprawdź, czy funkcjonalność aplikacji jest nienaruszona, gdy poziom zgodności bazy danych został uaktualniony do 100 w usłudze Azure SQL Managed Instance. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Obsługiwane poziomy zgodności w usłudze Azure SQL Managed Instance

Alias podmiotu zabezpieczeń bazy danych

Tytuł: SYS. DATABASE_PRINCIPAL_ALIASES nie jest już obsługiwana i została usunięta.
Kategoria: Problem

Opis
SYS. DATABASE_PRINCIPAL_ALIASES nie jest już obsługiwana i została usunięta w usłudze Azure SQL Managed Instance.

Zalecenie
Użyj ról zamiast aliasów.

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

opcja DISABLE_DEF_CNST_CHK

Tytuł: opcja SET DISABLE_DEF_CNST_CHK nie jest już obsługiwana i została usunięta.
Kategoria: Problem

Opis
Opcja SET DISABLE_DEF_CNST_CHK nie jest już obsługiwana i została usunięta w usłudze Azure SQL Managed Instance.

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

WSKAZÓWKA FASTFIRSTROW

Tytuł: Wskazówka zapytania FASTFIRSTROW nie jest już obsługiwana i została usunięta.
Kategoria: Ostrzeżenie

Opis
Wskazówka zapytania FASTFIRSTROW nie jest już obsługiwana i została usunięta w usłudze Azure SQL Managed Instance.

Zalecenie
Zamiast wskazówek dotyczących zapytań FASTFIRSTROW użyj opcji (FAST n).

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

FILESTREAM

Tytuł: FILESTREAM i FileTable nie są obsługiwane w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Funkcja FILESTREAM, która umożliwia przechowywanie danych bez struktury, takich jak dokumenty tekstowe, obrazy i filmy wideo w systemie plików NTFS, nie jest obsługiwana w usłudze Azure SQL Managed Instance. Nie można migrować tej bazy danych, ponieważ nie można przywrócić kopii zapasowej zawierającej grupy plików FILESTREAM w usłudze Azure SQL Managed Instance.

Zalecenie
Przekaż pliki bez struktury do usługi Azure Blob Storage i zapisz metadane powiązane z tymi plikami (nazwa, typ, lokalizacja adresu URL, klucz magazynu itp.) w usłudze Azure SQL Managed Instance. Może być konieczne ponowne zaprojektowanie aplikacji w celu włączenia przesyłania strumieniowego obiektów blob do i z usługi Azure SQL Managed Instance. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Przesyłanie strumieniowe obiektów blob do i z Usługi SQL Azure blogu

Heterogeniczne ms DTC

Tytuł: BEGIN DISTRIBUTED TRANSACTION with non-SQL Server remote server is not supported in Azure SQL Managed Instance (ROZPOCZNIJ TRANSAKCJĘ ROZPROSZONĄ z serwerem zdalnym programu SQL Server nie jest obsługiwany w usłudze Azure SQL Managed Instance).
Kategoria: Problem

Opis
Transakcja rozproszona uruchomiona przez transakcję rozproszoną SQL BEGIN i zarządzana przez koordynatora transakcji rozproszonych firmy Microsoft (MS DTC) nie jest obsługiwana w usłudze Azure SQL Managed Instance, jeśli serwer zdalny nie jest programem SQL Server.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie obiekty przy użyciu FUNKCJI BEGIN DISTRUBUTED TRANSACTION. Rozważ migrację baz danych uczestników do usługi Azure SQL Managed Instance, w której obsługiwane są transakcje rozproszone w wielu wystąpieniach. Aby uzyskać więcej informacji, zobacz Transakcje na wielu serwerach dla usługi Azure SQL Managed Instance.

Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Homogeniczne ms DTC

Tytuł: FUNKCJA BEGIN DISTRIBUTED TRANSACTION jest obsługiwana na wielu serwerach dla usługi Azure SQL Managed Instance.
Kategoria: Problem

Opis
Transakcja rozproszona rozpoczęta przez transakcję rozproszoną SQL BEGIN i zarządzana przez koordynatora transakcji rozproszonych firmy Microsoft (MS DTC) jest obsługiwana na wielu serwerach dla usługi Azure SQL Managed Instance.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie obiekty przy użyciu FUNKCJI BEGIN DISTRUBUTED TRANSACTION. Rozważ migrację baz danych uczestników do usługi Azure SQL Managed Instance, w której obsługiwane są transakcje rozproszone w wielu wystąpieniach. Aby uzyskać więcej informacji, zobacz Transakcje na wielu serwerach dla usługi Azure SQL Managed Instance.

Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Serwer połączony (dostawca inny niż SQL)

Tytuł: Serwer połączony z dostawcą programu innego niż SQL Server nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Połączone serwery umożliwiają aparatowi bazy danych programu SQL Server wykonywanie poleceń względem źródeł danych OLE DB poza wystąpieniem programu SQL Server. Serwer połączony z dostawcą programu innego niż SQL Server nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Zalecenie
Usługa Azure SQL Managed Instance nie obsługuje funkcji serwera połączonego, jeśli dostawca serwera zdalnego nie jest programem SQL Server, np. Oracle, Sybase itp.

Zalecane są następujące akcje, aby wyeliminować konieczność korzystania z serwerów połączonych:

  • Zidentyfikuj zależne bazy danych z zdalnych serwerów innych niż SQL i rozważ przeniesienie ich do migrowanej bazy danych.
  • Przeprowadź migrację zależnych baz danych do obsługiwanych obiektów docelowych, takich jak wystąpienie zarządzane SQL, usługa SQL Database, usługa Azure Synapse i wystąpienia programu SQL Server.
  • Rozważ utworzenie serwera połączonego między usługą Azure SQL Managed Instance i programem SQL Server na maszynie wirtualnej platformy Azure .SQL. Następnie na maszynie wirtualnej SQL utwórz połączony serwer z bazą danych Oracle, Sybase itp. Takie podejście obejmuje dwa przeskoki, ale może być używane jako tymczasowe obejście.
  • Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice serwera połączonego w usłudze Azure SQL Managed Instance

Zadanie scalania

Tytuł: Krok zadania scalania nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Ostrzeżenie

Opis
Jest to krok zadania, który aktywuje agenta scalania replikacji. Agent scalania replikacji to plik wykonywalny narzędzia, który stosuje początkową migawkę przechowywaną w tabelach bazy danych do subskrybentów. Scala również przyrostowe zmiany danych, które wystąpiły w programie Publisher po utworzeniu początkowej migawki, i uzgadnia konflikty zgodnie z skonfigurowanymi regułami lub przy użyciu utworzonego niestandardowego narzędzia rozpoznawania nazw. Krok scalania zadania nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie zadania przy użyciu kroku scalania zadania i ocenić, czy można usunąć krok zadania lub obiekt, którego dotyczy problem. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice agenta programu SQL Server w usłudze Azure SQL Managed Instance

Rozmiar bazy danych wystąpienia zarządzanego

Tytuł: Usługa Azure SQL Managed Instance nie obsługuje rozmiaru bazy danych większego niż 16 TB.
Kategoria: Problem

Opis
Rozmiar bazy danych jest większy niż maksymalny rozmiar magazynu zarezerwowanego wystąpienia. Nie można wybrać tej bazy danych do migracji, ponieważ rozmiar przekroczył dozwolony limit.

Zalecenie
Oceń, czy dane można zarchiwizować skompresowane lub podzielone na fragmenty w wielu bazach danych. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Charakterystyka sprzętowa usługi Azure SQL Managed Instance

Rozmiar wystąpienia wystąpienia zarządzanego

Tytuł: Maksymalny rozmiar magazynu wystąpień w usłudze Azure SQL Managed Instance nie może być większy niż 8 TB.
Kategoria: Ostrzeżenie

Opis
Rozmiar wszystkich baz danych jest większy niż maksymalny rozmiar magazynu zarezerwowanego wystąpienia.

Zalecenie
Rozważ migrację baz danych do różnych wystąpień zarządzanych azure SQL lub do programu SQL Server na maszynie wirtualnej platformy Azure, jeśli wszystkie bazy danych muszą istnieć w tym samym wystąpieniu.

Więcej informacji: Charakterystyka sprzętowa usługi Azure SQL Managed Instance

Wiele plików dziennika

Tytuł: Usługa Azure SQL Managed Instance nie obsługuje wielu plików dziennika.
Kategoria: Problem

Opis
Program SQL Server umożliwia bazie danych rejestrowanie wielu plików. Ta baza danych ma wiele plików dziennika, które nie są obsługiwane w usłudze Azure SQL Managed Instance. **Nie można zmigrować tej bazy danych, ponieważ nie można przywrócić kopii zapasowej w usłudze Azure SQL Managed Instance.
**

Zalecenie
Usługa Azure SQL Managed Instance obsługuje tylko jeden dziennik na bazę danych. Przed migracją tej bazy danych na platformę Azure musisz usunąć wszystkie pliki dziennika, ale jeden z nich:

ALTER DATABASE [database_name] REMOVE FILE [log_file_name]

Więcej informacji: Nieobsługiwane opcje bazy danych w usłudze Azure SQL Managed Instance

Następna kolumna

Tytuł: Tabele i kolumny o nazwie NEXT spowodują błąd w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Wykryto tabele lub kolumny o nazwie NEXT. Sekwencje wprowadzone w programie Microsoft SQL Server używają standardowej funkcji NEXT VALUE FOR ANSI. Tabele lub kolumny o nazwach NEXT i kolumny aliasowane jako WARTOŚĆ ze standardem ANSI AS pominięte mogą spowodować błąd.

Zalecenie
Ponowne zapisywanie instrukcji w celu uwzględnienia standardowego słowa kluczowego AS ANSI podczas tworzenia aliasu tabeli lub kolumny. Na przykład gdy kolumna ma nazwę NEXT i ta kolumna jest aliasowana jako WARTOŚĆ, zapytanie SELECT NEXT VALUE FROM TABLE powoduje błąd i powinno zostać przepisane jako SELECT NEXT AS VALUE FROM TABLE. Podobnie dla tabeli o nazwie NEXT i aliased jako VALUE zapytanie SELECT Col1 FROM NEXT VALUE powoduje błąd i powinny zostać przepisane jako SELECT Col1 FROM NEXT AS VALUE.

Sprzężenia zewnętrzne inne niż ANSI

Tytuł: sprzężenia zewnętrzne ze stylem innych niż ANSI nie są już obsługiwane i zostały usunięte.
Kategoria: Ostrzeżenie

Opis
Sprzężenia zewnętrzne inne niż ANSI nie są już obsługiwane i zostały usunięte w usłudze Azure SQL Managed Instance.

Zalecenie
Użyj składni sprzężenia ANSI.

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

Sprzężenia zewnętrzne inne niż ANSI

Tytuł: Sprzężenia zewnętrzne w stylu niezwiązanym z anSI nie są już obsługiwane i zostały usunięte.
Kategoria: Ostrzeżenie

Opis
Sprzężenia zewnętrzne inne niż ANSI nie są już obsługiwane i zostały usunięte w usłudze Azure SQL Managed Instance.

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

Zalecenie
Użyj składni sprzężenia ANSI.

Bazy danych przekraczają 100

Tytuł: Usługa Azure SQL Managed Instance obsługuje maksymalnie 100 baz danych na wystąpienie.
Kategoria: Ostrzeżenie

Opis
Maksymalna liczba baz danych obsługiwanych w usłudze Azure SQL Managed Instance wynosi 100, chyba że osiągnięto limit rozmiaru magazynu wystąpień.

Zalecenie
Rozważ migrację baz danych do różnych wystąpień zarządzanych azure SQL lub do programu SQL Server na maszynie wirtualnej platformy Azure, jeśli wszystkie bazy danych muszą istnieć w tym samym wystąpieniu.

Więcej informacji: Limity zasobów usługi Azure SQL Managed Instance

OPENROWSET (źródło danych innych niż BLOB)

Tytuł: Funkcja OpenRowSet używana w operacji zbiorczej ze źródłem danych magazynu obiektów blob platformy Azure nie jest obsługiwana w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Funkcja OPENROWSET obsługuje operacje zbiorcze za pośrednictwem wbudowanego dostawcy BULK, który umożliwia odczytywanie i zwracanie danych z pliku jako zestawu wierszy. Zestaw OPENROWSET ze źródłem danych magazynu obiektów blob platformy Azure nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Zalecenie
Usługa Azure SQL Managed Instance nie może uzyskać dostępu do udziałów plików i folderów systemu Windows, więc pliki muszą być importowane z usługi Azure Blob Storage. W związku z tym tylko typ obiektu blob DATASOURCE jest obsługiwany w funkcji OPENROWSET. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Zbiorcze wstawianie i różnice openROWSET w usłudze Azure SQL Managed Instance

OPENROWSET (dostawca inny niż SQL)

Tytuł: Zestaw OpenRowSet z dostawcą innych niż SQL nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Ta metoda jest alternatywą dla uzyskiwania dostępu do tabel na serwerze połączonym i jest jednorazową metodą ad hoc łączenia się i uzyskiwania dostępu do danych zdalnych przy użyciu OLE DB. Zestaw OpenRowSet z dostawcą innych niż SQL nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Zalecenie
Funkcja OPENROWSET może służyć do wykonywania zapytań tylko w wystąpieniach programu SQL Server (zarządzanych, lokalnych lub w usłudze Virtual Machines). Obsługiwane są dostawcy SQLNCLI, SQLNCLI11, SQLOLEDBi MSOLEDBSQL (zalecane). Sterownik Microsoft OLE DB (MSOLEDBSQL) dla programu SQL Server jest zalecany do tworzenia nowych rozwiązań.

Zalecane jest zidentyfikowanie zależnych baz danych z zdalnych serwerów innych niż SQL i rozważ przeniesienie ich do migrowanego wystąpienia.

Więcej informacji: Zbiorcze wstawianie i różnice openROWSET w usłudze Azure SQL Managed Instance

Zadanie programu PowerShell

Tytuł: krok zadania programu PowerShell nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Ostrzeżenie

Opis
Jest to krok zadania, który uruchamia skrypt programu PowerShell. Krok zadania programu PowerShell nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie zadania przy użyciu kroku zadania programu PowerShell i ocenić, czy można usunąć krok zadania lub obiekt, którego dotyczy problem. Oceń, czy można użyć usługi Azure Automation. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice agenta programu SQL Server w usłudze Azure SQL Managed Instance

Zadanie czytelnika kolejki

Tytuł: Krok zadania Czytelnik kolejki nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Ostrzeżenie

Opis
Jest to krok zadania, który aktywuje agenta czytelnika kolejki replikacji. Agent czytelnika kolejki replikacji jest plikiem wykonywalnym, który odczytuje komunikaty przechowywane w kolejce programu Microsoft SQL Server lub w kolejce komunikatów firmy Microsoft, a następnie stosuje te komunikaty do wydawcy. Agent czytnika kolejek jest używany z migawkami i publikacjami transakcyjnymi, które umożliwiają aktualizowanie w kolejce. Krok zadania czytelnika kolejki nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie zadania przy użyciu kroku zadania czytelnika kolejki i ocenić, czy można usunąć krok zadania lub obiekt, którego dotyczy problem. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice agenta programu SQL Server w usłudze Azure SQL Managed Instance

RAISERROR

Tytuł: Starsze wywołania RAISERROR stylu powinny zostać zastąpione nowoczesnymi odpowiednikami.
Kategoria: Ostrzeżenie

Opis
Wywołania RAISERROR, takie jak w poniższym przykładzie, są nazywane starszym stylem, ponieważ nie zawierają przecinków i nawiasów. RAISERROR 50001 'this is a test'. Ta metoda wywoływania błędu RAISERROR nie jest już obsługiwana i usuwana w usłudze Azure SQL Managed Instance.

Zalecenie
Ponownie zapisz instrukcję przy użyciu bieżącej składni RAISERROR lub oceń, czy nowoczesne podejście BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH jest możliwe.

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

Poczta SQL

Tytuł: Poczta SQL nie jest już obsługiwana.
Kategoria: Ostrzeżenie

Opis
Usługa SQL Mail nie jest już obsługiwana i usuwana w usłudze Azure SQL Managed Instance.

Zalecenie
Użyj Poczta bazy danych.

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

SystemProcedures110

Tytuł: Wykryte instrukcje odwołujące się do usuniętych procedur składowanych systemu, które nie są dostępne w usłudze Azure SQL Managed Instance.
Kategoria: Ostrzeżenie

Opis
Po nieobsługiwanym systemie i rozszerzonych procedurach składowanych nie można używać w usłudze Azure SQL Managed Instance — sp_dboption, , sp_addserver, sp_activedirectory_scpsp_dropaliassp_activedirectory_obj, i .sp_activedirectory_start

Zalecenie
Usuń odwołania do nieobsługiwanych procedur systemowych, które zostały usunięte w usłudze Azure SQL Managed Instance.

Więcej informacji: Nieobsługiwane funkcje aparatu bazy danych w programie SQL Server

Zadanie języka Transact-SQL

Tytuł: krok zadania TSQL zawiera nieobsługiwane polecenia w usłudze Azure SQL Managed Instance
Kategoria: Ostrzeżenie

Opis
Jest to krok zadania, który uruchamia skrypty Języka Transact-SQL w zaplanowanym czasie. Krok zadania TSQL obejmuje nieobsługiwane polecenia, które nie są obsługiwane w usłudze Azure SQL Managed Instance.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie zadania zawierające nieobsługiwane polecenia w usłudze Azure SQL Managed Instance i ocenić, czy można usunąć krok zadania lub obiekt, którego dotyczy problem. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice agenta programu SQL Server w usłudze Azure SQL Managed Instance

Flagi śledzenia

Tytuł: Znaleziono flagi śledzenia nieobsługiwane w usłudze Azure SQL Managed Instance
Kategoria: Ostrzeżenie

Opis
Usługa Azure SQL Managed Instance obsługuje tylko ograniczoną liczbę flag śledzenia globalnego. Flagi śledzenia sesji nie są obsługiwane.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie flagi śledzenia, które nie są obsługiwane w usłudze Azure SQL Managed Instance i ocenić, czy można je usunąć. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Flagi śledzenia

Uwierzytelnianie systemu Windows

Tytuł: Użytkownicy bazy danych mapowane przy użyciu uwierzytelniania systemu Windows (zintegrowane zabezpieczenia) nie są obsługiwane w usłudze Azure SQL Managed Instance
Kategoria: Ostrzeżenie

Opis
Usługa Azure SQL Managed Instance obsługuje dwa typy uwierzytelniania:

  • Uwierzytelnianie SQL, które używa nazwy użytkownika i hasła
  • Uwierzytelnianie entra firmy Microsoft, które korzysta z tożsamości zarządzanych przez usługę Microsoft Entra ID (dawniej Azure Active Directory) i jest obsługiwane w przypadku domen zarządzanych i zintegrowanych.

Użytkownicy bazy danych mapowane przy użyciu uwierzytelniania systemu Windows (zintegrowane zabezpieczenia) nie są obsługiwane w usłudze Azure SQL Managed Instance.

Zalecenie
Sfederuj lokalną usługę Active Directory przy użyciu identyfikatora Microsoft Entra. Tożsamość systemu Windows można następnie zastąpić równoważnymi tożsamościami firmy Microsoft Entra. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Funkcje zabezpieczeń usługi SQL Managed Instance

Xp_cmdshell

Tytuł: xp_cmdshell nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Kategoria: Problem

Opis
Xp_cmdshell, co powoduje utworzenie powłoki poleceń systemu Windows i przekazanie ciągu do wykonania nie jest obsługiwane w usłudze Azure SQL Managed Instance.

Zalecenie
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie obiekty przy użyciu funkcji xp_cmdshell i ocenić, czy odwołanie do xp_cmdshell lub obiekt, którego dotyczy problem, można usunąć. Rozważ eksplorowanie usługi Azure Automation, która zapewnia usługę automatyzacji i konfiguracji opartej na chmurze. Alternatywnie przeprowadź migrację do programu SQL Server na maszynie wirtualnej platformy Azure.

Więcej informacji: Różnice procedury składowanej w usłudze Azure SQL Managed Instance