Udostępnij za pośrednictwem


Reguły oceny migracji programu SQL Server 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 Instancja Ostrzeżenie Krok zadania AnalysisCommand nie jest obsługiwany w Azure SQL Managed Instance.
AnalysisQueryJob Instancja 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 W Azure SQL Managed Instance nie jest obsługiwane BULK INSERT ze źródłem danych obiektów blob spoza platformy Azure.
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 Kwestia 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, więc 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 Połączony serwer z dostawcą innym niż SQL Server nie jest obsługiwany w usłudze SQL Managed Instance Azure.
MergeJob Instancja Ostrzeżenie Etap zadania scalania nie jest obsługiwany w usłudze Azure SQL Managed Instance.
MIDatabaseSize Baza danych Kwestia usługa Azure SQL Managed Instance nie obsługuje rozmiaru bazy danych większego niż 16 TB.
MIHeterogeneousMSDTCTransactSQL Baza danych Problem BEGIN DISTRIBUTED TRANSACTION z zdalnym serwerem innym niż SQL Server nie jest obsługiwany w usłudze Azure SQL Managed Instance.
MIHomogeneousMSDTCTransactSQL Baza danych Problem FUNKCJA BEGIN DISTRIBUTED TRANSACTION jest obsługiwana na wielu serwerach w usłudze Azure SQL Managed Instance.
MIInstanceSize Instancja 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 Kwestia usługa Azure SQL Managed Instance nie obsługuje baz danych z wieloma plikami dziennika.
NextColumn Baza danych Problem Tabele i kolumny o nazwie NEXT powodują błąd w usłudze Azure SQL Managed Instance.
NonANSILeftOuterJoinSyntax Baza danych Ostrzeżenie Lewe zewnętrzne sprzężenie w stylu non-ANSI nie jest już obsługiwane i zostało usunięte.
NonANSIRightOuterJoinSyntax Baza danych Ostrzeżenie Sprzężenia prawostronne zewnętrzne w stylu nie-ANSI nie są już obsługiwane i zostały usunięte.
NumDbExceeds100 Instancja Ostrzeżenie usługa Azure SQL Managed Instance obsługuje maksymalnie 100 baz danych na wystąpienie.
OpenRowsetWithNonBlobDataSourceBulk Baza danych Kwestia OpenRowSet używane w operacji zbiorczej ze źródłem danych magazynu obiektów blob spoza platformy Azure nie jest obsługiwane w usłudze Azure SQL Managed Instance.
OpenRowsetWithNonSQLProvider Baza danych Problem OpenRowSet z dostawcą nie-SQL nie jest obsługiwany w usłudze Azure SQL Managed Instance.
PowerShellJob Instancja Ostrzeżenie krok zadania programu PowerShell nie jest obsługiwany w usłudze Azure SQL Managed Instance.
QueueReaderJob Instancja Ostrzeżenie krok zadania Czytnik kolejki nie jest obsługiwany w usłudze Azure SQL Managed Instance.
RAISERROR Baza danych Ostrzeżenie Wywołania RAISERROR w stylu starszym powinny zostać zastąpione ich nowoczesnymi odpowiednikami.
SqlMail Baza danych Ostrzeżenie poczta SQL 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 Instancja Ostrzeżenie Flagi śledzenia nieobsługiwane w usłudze Azure SQL Managed Instance zostały znalezione.
TransactSqlJob Instancja Ostrzeżenie Krok zadania TSQL zawiera nieobsługiwane polecenia w Azure SQL Managed Instance.
WindowsAuthentication Przykład Ostrzeżenie Użytkownicy usługi Database 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.
Kategorii: Ostrzeżenie

opis
Jest to etap zadania, który uruchamia polecenie w usługach 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 maszynach wirtualnych 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 Azure SQL Managed Instance.
Kategorii: Ostrzeżenie

opis
Jest to krok zadania, który uruchamia zapytanie 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 maszynach wirtualnych platformy Azure.

Więcej informacji: różnice SQL Server Agent w usłudze Azure SQL Managed Instance

Montaż z pliku

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

Opis
Usługa Azure SQL Managed Instance nie obsługuje CREATE ASSEMBLY ani ALTER ASSEMBLY z parametrem pliku. 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 lub ALTER ASSEMBLY z parametrem pliku. Jeśli są wymagane takie obiekty, przekonwertuj parametr pliku na parametr binarny. Alternatywnie przeprowadź migrację do programu SQL Server na maszynach wirtualnych platformy Azure.

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

WSTAWIANIE ZBIORCZE

Tytuł: FUNKCJA BULK INSERT z użyciem źródła danych niepochodzącego z 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.

Rekomendacja
Podczas migracji do usługi Azure SQL Managed Instance należy przekonwertować instrukcje BULK INSERT, które używają lokalnych plików lub udostępnionych zasobów plikowych, aby zamiast tego korzystały z plików dostępnych z usługi Azure Blob Storage.

Więcej informacji: Bulk Insert i różnice OPENROWSET w Azure SQL Managed Instance

Bezpieczeństwo CLR

Tytuł: zestawy CLR oznaczone jako BEZPIECZNE lub EXTERNAL_ACCESS są uważane za NIEBEZPIECZNE
Kategorii: 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 niekompatybilność dla baz danych zawierających zestawy CLR definiowane przez użytkownika i 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 bezpieczeństwa. 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. W programie SQL Server 2017 (14.x) i nowszych wersjach opcja sp_configure, clr strict security, zwiększa bezpieczeństwo zestawów CLR. clr strict security jest domyślnie włączona i traktuje zestawy SAFE i EXTERNAL_ACCESS tak, jakby zostały oznaczone UNSAFE. Opcja clr strict security może być wyłączona w celu zapewnienia zgodności z poprzednimi wersjami, ale nie jest zalecana.

Zalecamy podpisanie wszystkich zestawów certyfikatem lub kluczem asymetrycznym, z odpowiadającym loginem, któremu udzielono uprawnienia UNSAFE ASSEMBLY w bazie danych master. Administratorzy programu SQL Server mogą również dodawać zestawy do listy zestawów, którym aparat bazy danych powinien ufać. Aby uzyskać więcej informacji, zobacz sys.sp_add_trusted_assembly.

Klauzula COMPUTE

Tytuł: klauzula COMPUTE nie jest już obsługiwana i została usunięta.
Kategorii: 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 demonstruje, jak COMPUTE 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: Wycofane funkcje silnika bazy danych w programie SQL Server

Dostawca kryptograficzny

Tytuł: Znaleziono użycie polecenia CREATE CRYPTOGRAPHIC PROVIDER lub ALTER CRYPTOGRAPHIC PROVIDER, które nie są obsługiwane 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.

Rekomendacja
Przejrzyj obiekty z 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 maszynach wirtualnych 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
Kategorii: 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 maszynach wirtualnych 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: Zagadnienie

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

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

Więcej informacji: Wycofane funkcje aparatu bazy danych w programie SQL Server

opcja WYŁĄCZ_DEF_CNST_CHK

Tytuł: opcja SET DISABLE_DEF_CNST_CHK nie jest już obsługiwana i została usunięta.
Category: 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: Zaprzestana funkcjonalność aparatu bazy danych w SQL Server

WSKAZÓWKA FASTFIRSTROW

Title: wskazówka zapytania FASTFIRSTROW nie jest już obsługiwana i została usunięta.
Kategorii: Ostrzeżenie

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

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

Więcej informacji: Wycofane funkcjonalności silnika bazy danych w programie SQL Server

FILESTREAM

Tytuł: FILESTREAM i FileTable nie są obsługiwane w usłudze Azure SQL Managed Instance.
Category: 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 maszynach wirtualnych platformy Azure.

Więcej informacji: Transmisja strumieniowa obiektów Blob do i z bazy danych SQL Azure blog

Heterogeniczne MS DTC

Tytuł: BEGIN DISTRIBUTED TRANSACTION with non-SQL Server remote server is not supported in Azure SQL Managed Instance (Rozpocznij transakcję rozproszoną za pomocą serwera zdalnego programu innego niż SQL Server) nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Category: Problem

opis
Transakcja rozproszona uruchomiona przez instrukcję Transact-SQL "BEGIN DISTRIBUTED TRANSACTION" i zarządzana przez Koordynatora Transakcji Rozproszonych Microsoft (MS DTC) nie jest obsługiwana w Azure SQL Managed Instance, jeśli zdalny serwer nie jest serwerem 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 DISTRIBUTED TRANSACTION. Rozważ migrację baz danych uczestników do usługi Azure SQL Managed Instance, gdzie obsługiwane są transakcje rozproszone pomiędzy wieloma wystąpieniami. Aby uzyskać więcej informacji, zobacz Transakcje na wielu serwerach dla Azure SQL Managed Instance.

Alternatywnie przeprowadź migrację do programu SQL Server na maszynach wirtualnych platformy Azure.

Jednorodne MS DTC

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

opis
Transakcja rozproszona rozpoczęta przez polecenie Transact SQL BEGIN DISTRIBUTED TRANSACTION i zarządzana przez Koordynatora Transakcji Rozproszonych 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 DISTRIBUTED TRANSACTION. Rozważ przeniesienie baz danych uczestników do usługi Azure SQL Managed Instance, gdzie obsługiwane są transakcje rozproszone pomiędzy wieloma wystąpieniami. Aby uzyskać więcej informacji, zobacz Transakcje pomiędzy wieloma serwerami w usłudze Azure SQL Managed Instance.

Alternatywnie przeprowadź migrację do programu SQL Server na maszynach wirtualnych platformy Azure.

Serwer połączony (inne źródło niż SQL)

Tytuł: Serwer połączony z dostawcą programu innego niż SQL Server nie jest obsługiwany w usłudze Azure SQL Managed Instance.
Category: 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.

Rekomendacja
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 celów, takich jak SQL Managed Instance, usługa SQL Database, usługa Azure Synapse oraz bazy danych SQL Server.
  • Rozważ utworzenie serwera połączonego między usługą Azure SQL Managed Instance i programem SQL Server w usłudze Azure Virtual Machines (maszyna wirtualna SQL). Najpierw na maszynie wirtualnej SQL utwórz połączony serwer do Oracle, Sybase itp. Takie podejście obejmuje dwa etapy, ale może być stosowane jako tymczasowe rozwiązanie.
  • Alternatywnie przeprowadź migrację do programu SQL Server na maszynach wirtualnych platformy Azure.

Więcej informacji: różnice między Połączonymi Serwerami w usłudze Azure SQL Managed Instance

Zadanie scalania

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

Opis
Jest to krok zadania, który aktywuje agenta scalania replikacji. Agent scalania replikacji to wykonywalny plik narzędzia, który wprowadza początkową migawkę przechowywaną w tabelach bazy danych do subskrybentów. Oprócz tego łączy zmiany danych, które zaszły w wydawcy po stworzeniu początkowej migawki, oraz rozwiązuje konflikty zgodnie z zdefiniowanymi przez Ciebie regułami lub przy użyciu stworzonego przez Ciebie niestandardowego rozwiązywacza konfliktów. 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 maszynach wirtualnych platformy Azure.

Więcej informacji: różnice Agent SQL Server w usłudze Azure SQL Managed Instance

Rozmiar bazy danych wystąpienia zarządzanego SQL

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

Opis
Rozmiar bazy danych jest większy niż maksymalna zarezerwowana pamięć na wystąpienie. Nie można wybrać tej bazy danych do migracji, ponieważ rozmiar przekroczył dozwolony limit.

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

Więcej informacji: Właściwości sprzętowe usługi Azure SQL Managed Instance

Rozmiar wystąpienia usługi SQL Managed Instance

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

opis
Rozmiar wszystkich baz danych jest większy niż maksymalny rozmiar zarezerwowanej pamięci instancji.

Zalecenia
Rozważ migrację baz danych do różnych wystąpień zarządzanych usługi Azure SQL lub do programu SQL Server na maszynach wirtualnych platformy Azure, jeśli wszystkie bazy danych muszą istnieć w tym samym wystąpieniu.

Więcej informacji: Właściwości sprzętowe usługi Azure SQL Managed Instance

wiele plików dziennika

Title: 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 przeprowadzić migracji 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 do Azure musisz usunąć wszystkie pliki dziennika, pozostawiając tylko jeden.

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

Title: Tabele i kolumny o nazwie NEXT spowodują błąd w usłudze Azure SQL Managed Instance.
Category: 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 oraz kolumny z aliasem WARTOŚĆ, z pominięciem standardu ANSI AS, mogą spowodować błąd.

Zalecenie
Przepisz instrukcje, aby uwzględnić słowo kluczowe AS zgodne ze standardem ANSI podczas tworzenia aliasu dla 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 aliasowanej jako VALUE, zapytanie SELECT Col1 FROM NEXT VALUE powoduje błąd i powinno zostać przepisanym jako SELECT Col1 FROM NEXT AS VALUE.

Sprzężenia zewnętrzne inne niż ANSI

Tytuł: Lewe sprzężenie zewnętrzne w stylu niezgodnym z ANSI nie jest już obsługiwane i zostało usunięte.
Kategorii: Ostrzeżenie

Opis
Sprzężenia lewostronne w stylu nie-ANSI nie są już obsługiwane i zostały usunięte w usłudze Azure SQL Managed Instance.

Zalecenie
Użyj składni łączenia ANSI.

Więcej informacji: Wycofana funkcjonalność silnika bazy danych w programie SQL Server

Styl sprzężenia zewnętrznego prawego inny niż ANSI

Tytuł: sprzężenia zewnętrzne prawe niezgodne z ANSI nie są już obsługiwane i zostały usunięte.
Kategorii: Ostrzeżenie

opis
Styl złączeń zewnętrznych po prawej stronie, które nie są zgodne ze standardem ANSI, nie jest już obsługiwany i został usunięty w usłudze Azure SQL Managed Instance.

Więcej informacji: Wycofane funkcje aparatu bazy danych w programie SQL Server

Zalecenie
Użyj składni łączenia ANSI.

Bazy danych przekraczają 100

Title: Usługa Azure SQL Managed Instance obsługuje maksymalnie 100 baz danych na wystąpienie.
Kategorii: 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 instancji.

Zalecenie
Rozważ migrację baz danych do różnych wystąpień zarządzanych usługi Azure SQL lub do programu SQL Server na maszynach wirtualnych 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)

Title: funkcja OpenRowSet używana w operacji zbiorczej z źródłem danych magazynu obiektów blob spoza platformy Azure nie jest obsługiwana w usłudze Azure SQL Managed Instance.
Category: 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. OPENROWSET z źródłem danych magazynu obiektów blob spoza platformy Azure nie jest obsługiwany w usłudze Azure SQL Managed Instance.

Rekomendacja
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 w funkcji OPENROWSET obsługiwany jest tylko obiekt typu blob DATASOURCE. Alternatywnie przeprowadź migrację do programu SQL Server na maszynach wirtualnych platformy Azure.

Więcej informacji: Bulk Insert i różnice OPENROWSET w usłudze Azure SQL Managed Instance

OPENROWSET (dostawca inny niż SQL)

Title: W usłudze Azure SQL Managed Instance nie jest obsługiwany program OpenRowSet z dostawcą niebędącym SQL.
Kategoria: Zagadnienie

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. Użycie OpenRowSet z dostawcą innym niż SQL nie jest wspierane w usłudze Azure SQL Managed Instance.

Rekomendacja
Funkcja OPENROWSET może służyć do wykonywania zapytań tylko w wystąpieniach programu SQL Server (zarządzanych, lokalnych lub na maszynach wirtualnych). Dostawcy SQLNCLI, SQLNCLI11, SQLOLEDBi MSOLEDBSQL są obsługiwani (przy czym MSOLEDBSQL jest zalecany). Sterownik Microsoft OLE DB dla programu SQL Server jest zalecany do tworzenia nowych rozwiązań.

Zaleca się zidentyfikowanie zależnych baz danych z zdalnych serwerów innych niż SQL oraz rozważenie ich przeniesienia do instancji będącej w trakcie migracji.

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.
Kategorii: Ostrzeżenie

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

Rekomendacja
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 maszynach wirtualnych platformy Azure.

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

Zadanie czytelnika kolejki

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

Opis
Jest to etap zadania, który aktywuje agenta Queue Reader replikacji. Agent Odczytujący Kolejkę Replikacyjną jest programem wykonywalnym, który odczytuje komunikaty przechowywane w kolejce programu Microsoft SQL Server lub Microsoft Message Queue, a następnie stosuje te komunikaty do serwera publikującego. 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ę dotkniętych obiektów w usłudze Azure Migrate, aby wyświetlić wszystkie zadania korzystające z kroku zadania czytnika kolejki i ocenić, czy można usunąć ten krok lub dotknięty obiekt. Alternatywnie przeprowadź migrację do programu SQL Server na maszynach wirtualnych platformy Azure.

Więcej informacji: różnice agenta SQL Server w instancji zarządzanej Azure SQL

RAISERROR

Tytuł: wywołania RAISERROR w starszym stylu powinny zostać zastąpione nowoczesnymi odpowiednikami.
Kategorii: 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 została usunięta w usłudze Azure SQL Managed Instance.

Zalecenia
Ponownie zapisz instrukcję, używając bieżącej składni RAISERROR, lub oceń, czy nowoczesne podejście z użyciem BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH jest wykonalne.

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

Poczta SQL

Title: Usługa SQL Mail nie jest już obsługiwana.
Kategorii: Ostrzeżenie

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

zalecenie
Użyj poczty bazy danych.

Więcej informacji: Wycofane funkcje aparatu bazy danych w programie SQL Server

SystemProcedures110

Title: 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.
Kategorii: Ostrzeżenie

opis
Następujące nieobsługiwane systemowe i rozszerzone procedury składowane nie mogą być używane w usłudze Azure SQL Managed Instance: sp_dboption, sp_addserver, sp_dropalias,sp_activedirectory_obj, sp_activedirectory_scpi sp_activedirectory_start.

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

Więcej informacji: Wycofana funkcjonalność silnika bazy danych w programie SQL Server

zadanie Transact-SQL

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

Opis
Jest to etap zadania, który uruchamia skrypty Transact-SQL w zaplanowanym czasie. Krok zadania T-SQL obejmuje 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 maszynach wirtualnych 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
Kategorii: 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 maszynach wirtualnych platformy Azure.

Więcej informacji: flagi śledzenia

Uwierzytelnianie systemu Windows

tytuł : Użytkownicy bazy danych mapowani przy użyciu uwierzytelniania Windows (zintegrowane zabezpieczenia) nie są obsługiwani w Azure SQL Managed Instance
Kategorii: 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 Microsoft Entra, które korzysta z tożsamości zarządzanych przez Microsoft Entra ID 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 maszynach wirtualnych platformy Azure.

Więcej informacji: możliwości zabezpieczeń usługi SQL Managed Instance

xp_cmdshell

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

Opis
xp_cmdshell, który uruchamia powłokę poleceń Windows i przekazuje ciąg do wykonania, nie jest obsługiwany w Azure SQL Managed Instance.

Zalecenia
Przejrzyj sekcję obiektów, których dotyczy problem w usłudze Azure Migrate, aby wyświetlić wszystkie obiekty korzystające z 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 maszynach wirtualnych platformy Azure.

Więcej informacji: różnice w procedurach składowanych w Azure SQL Managed Instance