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ł
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
, SQLOLEDB
i 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_scp
i 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
Powiązana zawartość
- Przewodnik migracji : z SQL Server do Azure SQL Managed Instance
- usługi i narzędzia dostępne dla scenariuszy migracji danych
- Warstwy Usług w Azure SQL Managed Instance
- różnice języka T-SQL między programem SQL Server & azure SQL Managed Instance
- Kalkulator całkowitego kosztu posiadania platformy Azure
- Cloud Adoption Framework dla platformy Azure
- Najlepsze praktyki dotyczące kosztowania i określania rozmiaru obciążeń migrowanych na platformę Azure
- Omówienie Asystenta Eksperymentów z Bazą Danych