共用方式為


SQL Server 至 Azure SQL 受控執行個體移轉的評估規則

適用於:Azure SQL 受控執行個體

移轉工具會執行一些評量規則,以驗證您的來源 SQL Server 執行個體。 這些規則會識別將 SQL Server 資料庫遷移至 Azure SQL 受控執行個體之前必須先解決的問題。

本文提供相關的規則清單,用以評估將 SQL Server 資料庫遷移至 Azure SQL 受控執行個體的可行性。

規則摘要

規則標題 層級 類別 詳細資料
AnalysisCommandJob 執行個體 警告 Azure SQL 受控執行個體不支援 AnalysisCommand 作業步驟。
AnalysisQueryJob 執行個體 警告 Azure SQL 受控執行個體不支援 AnalysisQuery 作業步驟。
AssemblyFromFile Database 問題 Azure SQL 受控執行個體不支援將 'CREATE ASSEMBLY' 和 'ALTER ASSEMBLY' 用於檔案參數。
BulkInsert Database 問題 Azure SQL 受控執行個體不支援將 BULK INSERT 用於非 Azure Blob 資料來源。
ClrStrictSecurity Database 警告 標記為 SAFE 或 EXTERNAL_ACCESS 的 CLR 組件會被視為 UNSAFE。
ComputeClause Database 警告 COMPUTE 子句已不受支援且已移除。
CryptographicProvider Database 問題 發現使用了 CREATE CRYPTOGRAPHIC PROVIDER 或 ALTER CRYPTOGRAPHIC PROVIDER。 Azure SQL 受控執行個體不支援此功能。
DatabasePrincipalAlias Database 問題 SYS.DATABASE_PRINCIPAL_ALIASES 已不受支援且已移除。
DbCompatLevelLowerThan100 Database 警告 不支援低於 100 的資料庫相容性層級。
DisableDefCNSTCHK Database 問題 SET 選項 DISABLE_DEF_CNST_CHK 已不受支援且已移除。
FastFirstRowHint Database 警告 FASTFIRSTROW 查詢提示已不受支援且已移除。
FileStream Database 問題 Azure SQL 受控執行個體不支援 FILESTREAM 和 Filetable。
LinkedServerWithNonSQLProvider Database 問題 Azure SQL 受控執行個體不支援將連結的伺服器用於非 SQL Server 提供者。
MergeJob 執行個體 警告 Azure SQL 受控執行個體不支援合併作業步驟。
MIDatabaseSize Database 問題 Azure SQL 受控執行個體不支援大於 16 TB 的資料庫大小。
MIHeterogeneousMSDTCTransactSQL Database 問題 Azure SQL 受控執行個體不支援將 BEGIN DISTRIBUTED TRANSACTION 用於非 SQL Server 遠端伺服器。
MIHomogeneousMSDTCTransactSQL Database 問題 Azure SQL 受控執行個體支援跨多個伺服器的 BEGIN DISTRIBUTED TRANSACTION。
MIInstanceSize 執行個體 警告 Azure SQL 受控執行個體中的執行個體儲存體大小上限不可大於 8 TB。
MultipleLogFiles Database 問題 Azure SQL 受控執行個體不支援具有多個記錄檔的資料庫。
NextColumn Database 問題 名為 NEXT 的資料表和資料行會導致 Azure SQL 受控執行個體發生錯誤。
NonANSILeftOuterJoinSyntax Database 警告 非 ANSI 樣式左方外部聯結已不受支援且已移除。
NonANSIRightOuterJoinSyntax Database 警告 非 ANSI 樣式右方外部聯結已不受支援且已移除。
NumDbExceeds100 執行個體 警告 Azure SQL 受控執行個體的每個執行個體最多可支援 100 個資料庫。
OpenRowsetWithNonBlobDataSourceBulk Database 問題 Azure SQL 受控執行個體不支援將大量作業中使用的 OpenRowSet 用於非 Azure Blob 儲存體資料來源。
OpenRowsetWithNonSQLProvider Database 問題 Azure SQL 受控執行個體不支援將 OpenRowSet 用於非 SQL 提供者。
PowerShellJob 執行個體 警告 Azure SQL 受控執行個體不支援 PowerShell 作業步驟。
QueueReaderJob 執行個體 警告 Azure SQL 受控執行個體不支援佇列讀取器作業步驟。
RAISERROR Database 警告 舊版樣式 RAISERROR 呼叫應取代為新式對等項目。
SqlMail Database 警告 SQL Mail 已不受支援。
SystemProcedures110 Database 警告 偵測到陳述式參考了已移除而無法在 Azure SQL 受控執行個體中使用的系統預存程序。
TraceFlags 執行個體 警告 發現在 Azure SQL 受控執行個體中不支援的追蹤旗標。
TransactSqlJob 執行個體 警告 TSQL 作業步驟包含在 Azure SQL 受控執行個體中不支援的命令。
WindowsAuthentication 執行個體 警告 Azure SQL 受控執行個體不支援與 Windows 驗證 (整合式安全性) 對應的資料庫使用者。
XpCmdshell Database 問題 Azure SQL 受控執行個體不支援 xp_cmdshell。

AnalysisCommand 作業

標題:Azure SQL 受控執行個體不支援 AnalysisCommand 作業步驟。
類別:警告

描述
這是執行 Analysis Services 命令的作業步驟。 Azure SQL 受控執行個體不支援 AnalysisCommand 作業步驟。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看所有使用 Analysis Service 命令作業步驟的作業,並評估作業步驟或受影響的物件是否可移除。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的 SQL Server Agent 差異

AnalysisQuery 作業

標題:Azure SQL 受控執行個體不支援 AnalysisQuery 作業步驟。
類別:警告

描述
這是執行 Analysis Services 查詢的作業步驟。 Azure SQL 受控執行個體不支援 AnalysisQuery 作業步驟。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看所有使用 Analysis Service 查詢作業步驟的作業,並評估作業步驟或受影響的物件是否可移除。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的 SQL Server Agent 差異

檔案中的組件

標題:Azure SQL 受控執行個體不支援將 'CREATE ASSEMBLY' 和 'ALTER ASSEMBLY' 用於檔案參數。
類別:問題

說明
Azure SQL 受控執行個體不支援具有檔案參數的 CREATE ASSEMBLYALTER ASSEMBLY。 支援二進位參數。 請參閱「受影響的物件」一節,以了解使用檔案參數的特定物件。

建議
使用 CREATE ASSEMBLYALTER ASSEMBLY搭配檔案參數檢閱物件。 如果需要任何這類物件,請將檔案參數轉換為二進位參數。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的 CLR 差異

BULK INSERT

標題:Azure SQL 受控執行個體不支援將 BULK INSERT 用於非 Azure Blob 資料來源。
類別:問題

說明
Azure SQL 受控執行個體無法存取檔案共用或 Windows 資料夾。 請參閱「受影響的物件」一節,以了解 BULK INSERT 陳述式未參考 Azure Blob 的特定用法。 物件若具有來源不是 Azure Blob 儲存體的 'BULK INSERT',在移轉至 Azure SQL 受控執行個體後將無法運作。

建議
在移轉至 Azure SQL 受控執行個體時,您必須轉換使用本機檔案或檔案共用的 BULK INSERT 陳述式以改用來自 Azure Blob 儲存體的檔案。

詳細資訊:Azure SQL 受控執行個體中的大量插入和 OPENROWSET 差異

CLR 安全性

標題:標記為 SAFE 或 EXTERNAL_ACCESS 的 CLR 組件會被視為 UNSAFE
類別:警告

描述
Azure SQL 受控執行個體中強制執行 CLR 嚴格安全性模式。 依預設會啟用此模式,並且為包含使用者定義的 CLR 組件 (標示為 SAFE 或 EXTERNAL_ACCESS) 的資料庫導入重大變更。

建議
CLR 使用 .NET Framework 中的程式碼存取安全性 (CAS),而這不再作為安全性界限受支援。 從 SQL Server 2017 (14.x) 資料庫引擎開始導入了名為 CLR 嚴格安全性的 sp_configure 選項,以增強 CLR 組件的安全性。 依預設會啟用 CLR 嚴格安全性,並將 SAFE 和 EXTERNAL_ACCESS CLR 組件視同標示了 UNSAFE。 停用 CLR 嚴格安全性時,使用 PERMISSION_SET = SAFE 所建立的 CLR 組件或許能存取外部系統資源、呼叫 Unmanaged 程式碼,以及需要 sysadmin 權限。 啟用嚴格安全性之後,將無法載入任何未簽署的組件。 此外,如果資料庫具有 SAFE 或 EXTERNAL_ACCESS 組件,則可以完成 RESTORE 或 ATTACH DATABASE 陳述式,但是組件可能無法載入。 若要載入組件,您必須改變或置放並重新建立每個組件,以便使用憑證或非對稱金鑰簽署,該金鑰有具有伺服器 UNSAFE ASSEMBLY 權限的對應登入。

詳細資訊:CLR 嚴格安全性

COMPUTE 子句

標題:COMPUTE 子句已不受支援且已移除。
類別:警告

描述
COMPUTE 子句會產生在結果集結尾顯示為其他摘要資料行的總計。 不過,Azure SQL 受控執行個體已不再支援此子句。

建議
您必須改用 ROLLUP 運算子來重寫 T-SQL 模組。 下列程式碼示範如何將 COMPUTE 取代為 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;

詳細資訊:SQL Server 中已中止的資料庫引擎功能

密碼編譯提供者

標題:發現使用了 CREATE CRYPTOGRAPHIC PROVIDER 或 ALTER CRYPTOGRAPHIC PROVIDER,這在 Azure SQL 受控執行個體中不支援。
類別:問題

說明
Azure SQL 受控執行個體不支援 CRYPTOGRAPHIC PROVIDER 陳述式,因為它無法存取檔案。 請參閱「受影響的物件」一節,以了解 CRYPTOGRAPHIC PROVIDER 陳述式的特定用法。 具有 'CREATE CRYPTOGRAPHIC PROVIDER' 或 'ALTER CRYPTOGRAPHIC PROVIDER' 的物件在移轉至 Azure SQL 受控執行個體後將無法正確運作。

建議
檢閱具有 'CREATE CRYPTOGRAPHIC PROVIDER' 或 'ALTER CRYPTOGRAPHIC PROVIDER' 的物件。 如果需要任何這類物件,請移除這些功能的使用。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的密碼編譯提供者差異

資料庫相容性

標題:不支援低於 100 的資料庫相容性層級
類別:警告

說明
資料庫相容性層級是協助資料庫現代化的重要工具,它允許升級 SQL Server 資料庫引擎,同時透過維護升級前的相同資料庫相容性層級,讓連線的應用程式保持在運作狀態。 Azure SQL 受控執行個體不支援低於 100 的相容性層級。 在 Azure SQL 受控執行個體上還原相容性層級低於 100 的資料庫時,相容性層級會升級至 100。

建議
在 Azure SQL 受控執行個體上的資料庫相容性層級升級至 100 時,評估應用程式功能是否完整。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中支援的相容性層級

資料庫主體別名

標題:SYS.DATABASE_PRINCIPAL_ALIASES 已不受支援且已移除。
類別:問題

說明
sys.database_principal_aliases 在 Azure SQL 受控執行個體中已不受支援且已移除。

建議
請使用角色,而非別名。

詳細資訊:SQL Server 中已中止的資料庫引擎功能

DISABLE_DEF_CNST_CHK 選項

標題:SET 選項 DISABLE_DEF_CNST_CHK 已不受支援且已移除。
類別:問題

描述
SET 選項 DISABLE_DEF_CNST_CHK 在 Azure SQL 受控執行個體中已不受支援且已移除。

詳細資訊:SQL Server 中已中止的資料庫引擎功能

FASTFIRSTROW 提示

標題:FASTFIRSTROW 查詢提示已不受支援且已移除。
類別:警告

描述
FASTFIRSTROW 查詢提示在 Azure SQL 受控執行個體中已不受支援且已移除。

建議
不要使用 FASTFIRSTROW 查詢提示,而改用 OPTION (FAST n)。

詳細資訊:SQL Server 中已中止的資料庫引擎功能

FILESTREAM

標題:Azure SQL 受控執行個體不支援 FILESTREAM 和 Filetable。
類別:問題

說明
Azure SQL 受控執行個體不支援可讓您在 NTFS 檔案系統中儲存非結構化資料 (例如文字文件、影像和影片) 的 FILESTREAM 功能。 無法移轉此資料庫,因為無法在 Azure SQL 受控執行個體上還原包含 Filestream 檔案群組的備份。

建議
在 Azure SQL 受控執行個體中將非結構化檔案上傳至 Azure Blob 儲存體,並儲存與這些檔案相關的中繼資料 (名稱、類型、URL 位置、儲存體金鑰等)。 您可能必須重新設計您的應用程式,以啟用對 Azure SQL 受控執行個體輸入和輸出 Blob 的功能。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:對 SQL Azure 輸入和輸出 Blob 的部落格

異質 MS DTC

標題:Azure SQL 受控執行個體不支援將 BEGIN DISTRIBUTED TRANSACTION 用於非 SQL Server 遠端伺服器。
類別:問題

說明
如果遠端伺服器不是 SQL Server,則 Azure SQL 受控執行個體不支援由 Transact SQL BEGIN DISTRIBUTED TRANSACTION 啟動,並且由 Microsoft 分散式交易協調器 (MS DTC) 管理的分散式交易。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看所有使用 BEGIN DISTRUBUTED TRANSACTION 的物件。 請考慮將參與者資料庫移轉至支援跨多個執行個體的分散式交易的 Azure SQL 受控執行個體。 若需詳細資訊,請見 Azure SQL 受控執行個體的跨多個伺服器的交易

或者,移轉至 Azure VM 上的 SQL Server。

同質 MS DTC

標題:Azure SQL 受控執行個體支援跨多個伺服器的 BEGIN DISTRIBUTED TRANSACTION。
類別:問題

描述
支援將由 Transact SQL BEGIN DISTRIBUTED TRANSACTION 啟動,並且由 Microsoft 分散式交易協調器 (MS DTC) 管理的分散式交易跨多個伺服器用於 Azure SQL 受控執行個體。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看所有使用 BEGIN DISTRUBUTED TRANSACTION 的物件。 請考慮將參與者資料庫移轉至支援跨多個執行個體的分散式交易的 Azure SQL 受控執行個體。 若需詳細資訊,請見 Azure SQL 受控執行個體的跨多個伺服器的交易

或者,移轉至 Azure VM 上的 SQL Server。

連結的伺服器 (非 SQL 提供者)

標題:Azure SQL 受控執行個體不支援將連結的伺服器用於非 SQL Server 提供者。
類別:問題

描述
連結的伺服器可讓 SQL Server 資料庫引擎對 SQL Server 執行個體以外的 OLE DB 資料來源執行命令。 Azure SQL 受控執行個體不支援將連結的伺服器用於非 SQL Server 提供者。

建議
如果遠端伺服器提供者為非 SQL Server (例如 Oracle、Sybase 等),則 Azure SQL 受控執行個體不支援連結的伺服器功能。

建議您執行下列動作,以免除連結伺服器的需求:

  • 從遠端的非 SQL 伺服器找出相依資料庫,並考慮將其移至要移轉的資料庫。
  • 將相依資料庫移轉至支援的目標,例如 SQL 受控執行個體、SQL Database、Azure Synapse SQL 和 SQL Server 執行個體。
  • 考慮在 Azure SQL 受控執行個體與 Azure 虛擬機器上的 SQL Server (SQL VM) 之間建立連結伺服器。 然後,從 SQL VM 建立對 Oracle、Sybase 等平台的連結伺服器。此方法牽涉到兩個躍點,但可用來作為暫時因應措施。
  • 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的連結伺服器差異

合併作業

標題:Azure SQL 受控執行個體不支援合併作業步驟。
類別:警告

描述
這是啟動複寫合併代理程式的作業步驟。 「複寫合併代理程式」是一個公用程式可執行檔,它會將資料庫資料表中保存的初始快照集套用至「訂閱者」。 此外,它也會合併建立初始快照集之後在「發行者」端發生的累加資料變更,並根據您設定的規則或使用您建立的自訂解析程式來調解衝突。 Azure SQL 受控執行個體不支援合併作業步驟。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看所有使用合併作業步驟的作業,並評估作業步驟或受影響的物件是否可移除。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的 SQL Server Agent 差異

MI 資料庫大小

標題:Azure SQL 受控執行個體不支援大於 16 TB 的資料庫大小。
類別:問題

描述
資料庫的大小超過執行個體保留儲存體上限。 無法選取此資料庫進行移轉,因為其大小超過允許的限制。

建議
評估資料是否可封存、壓縮或分區至多個資料庫。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體的硬體特性

MI 執行個體大小

標題:Azure SQL 受控執行個體中的執行個體儲存體大小上限不可大於 8 TB。
類別:警告

描述
所有資料庫的大小超過執行個體保留儲存體上限。

建議
如果所有資料庫必須存在於相同的執行個體上,則請考慮將資料庫移轉至不同的 Azure SQL 受控執行個體,或移轉至 Azure 虛擬機器上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體的硬體特性

多個記錄檔

標題:Azure SQL 受控執行個體不支援多個記錄檔。
類別:問題

描述
SQL Server 允許資料庫記錄至多個檔案。 此資料庫具有多個記錄檔,這在 Azure SQL 受控執行個體中不受支援。 **此資料庫無法遷移,因為無法在 Azure SQL 受控執行個體上還原備份。
**

建議
Azure SQL 受控執行個體僅支援每個資料庫一個記錄。 將此資料庫遷移至 Azure 之前,您必須留下其中一個記錄檔,而將其餘的全部刪除:

ALTER DATABASE [database_name] REMOVE FILE [log_file_name]

詳細資訊:Azure SQL 受控執行個體中不支援的資料庫選項

下一個資料行

標題:名為 NEXT 的資料表和資料行會導致 Azure SQL 受控執行個體發生錯誤。
類別:問題

描述
偵測到名為 NEXT 的資料表或資料行。 在 Microsoft SQL Server 中導入的序列會使用 ANSI 標準 NEXT VALUE FOR 函式。 若資料表或資料行的名稱為 NEXT,且資料行的別名為省略了 ANSI 標準 AS 的 VALUE,則可能會造成錯誤。

建議
設定資料表或資料行的別名時,請將陳述式重寫為包含 ANSI 標準 AS 關鍵字。 例如,如果某個資料行的名稱為 NEXT,且其別名為 VALUE,則查詢 SELECT NEXT VALUE FROM TABLE 將會導致錯誤,而應重寫為 SELECT NEXT AS VALUE FROM TABLE。 同樣地,若某個資料表的名稱為 NEXT,且別名為 VALUE,則查詢 SELECT Col1 FROM NEXT VALUE 將會導致錯誤,而應重寫為 SELECT Col1 FROM NEXT AS VALUE。

非 ANSI 樣式左方外部聯結

標題:非 ANSI 樣式左方外部聯結已不受支援且已移除。
類別:警告

描述
非 ANSI 樣式左方外部聯結在 Azure SQL 受控執行個體中已不受支援且已移除。

建議
使用 ANSI 聯結語法。

詳細資訊:SQL Server 中已中止的資料庫引擎功能

非 ANSI 樣式右方外部聯結

標題:非 ANSI 樣式右方外部聯結已不受支援且已移除。
類別:警告

描述
非 ANSI 樣式右方外部聯結在 Azure SQL 受控執行個體中已不受支援且已移除。

詳細資訊:SQL Server 中已中止的資料庫引擎功能

建議
使用 ANSI 聯結語法。

資料庫超過 100

標題:Azure SQL 受控執行個體的每個執行個體最多可支援 100 個資料庫。
類別:警告

描述
Azure SQL 受控執行個體中支援的資料庫數目上限為 100,除非達到執行個體儲存體大小限制。

建議
如果所有資料庫必須存在於相同的執行個體上,則請考慮將資料庫移轉至不同的 Azure SQL 受控執行個體,或移轉至 Azure 虛擬機器上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體資源限制

OPENROWSET (非 Blob 資料來源)

標題:Azure SQL 受控執行個體不支援將大量作業中使用的 OpenRowSet 用於非 Azure Blob 儲存體資料來源。
類別:問題

描述
OPENROWSET 支援透過內建 BULK 提供者執行大量作業,可讓檔案資料被讀取,並且當做資料列集傳回。 Azure SQL 受控執行個體不支援將 OPENROWSET 用於非 Azure Blob 儲存體資料來源。

建議
Azure SQL 受控執行個體無法存取檔案共用及 Windows 資料夾,因此必須從 Azure Blob 儲存體匯入這些檔案。 因此,OPENROWSET 函式中僅支援 Blob 類型 DATASOURCE。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的大量插入和 OPENROWSET 差異

OPENROWSET (非 SQL 提供者)

標題:Azure SQL 受控執行個體不支援將 OpenRowSet 用於非 SQL 提供者。
類別:問題

描述
這個方法是存取連結伺服器資料表的另一個方法,而且是使用 OLE DB 來連接和存取遠端資料的單次特定方法。 Azure SQL 受控執行個體不支援將 OpenRowSet 用於非 SQL 提供者。

建議
OPENROWSET 函式只可用來在 SQL Server 執行個體 (受控、內部部署或在虛擬機器中) 上執行查詢。 支援提供者 SQLNCLISQLNCLI11SQLOLEDBMSOLEDBSQL (建議)。 新部署建議使用 Microsoft OLE DB Driver for SQL Server

建議動作是從遠端的非 SQL 伺服器找出相依資料庫,並考慮將其移至要移轉的執行個體。

詳細資訊:Azure SQL 受控執行個體中的大量插入和 OPENROWSET 差異

PowerShell 作業

標題:Azure SQL 受控執行個體不支援 PowerShell 作業步驟。
類別:警告

描述
這是執行 PowerShell 指令碼的作業步驟。 Azure SQL 受控執行個體不支援 PowerShell 作業步驟。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看所有使用 PowerShell 作業步驟的作業,並評估作業步驟或受影響的物件是否可移除。 評估是否可使用 Azure 自動化。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的 SQL Server Agent 差異

佇列讀取器作業

標題:Azure SQL 受控執行個體不支援佇列讀取器作業步驟。
類別:警告

描述
這是啟動「複寫佇列讀取器代理程式」的作業步驟。 「複寫佇列讀取器代理程式」是一個可執行檔,會讀取儲存在 Microsoft SQL Server 佇列或 Microsoft Message 佇列中的訊息,然後將這些訊息套用至發行者。 佇列讀取器代理程式可搭配允許佇列更新的快照式和交易式發行集使用。 Azure SQL 受控執行個體不支援佇列讀取器作業步驟。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看所有使用 Queue Reader 作業步驟的作業,並評估作業步驟或受影響的物件是否可移除。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的 SQL Server Agent 差異

RAISERROR

標題:舊版樣式 RAISERROR 呼叫應取代為新式對等項目。
類別:警告

說明
類似於下列範例的 RAISERROR 呼叫稱為舊版樣式,因為其中不包含逗號和括弧。 RAISERROR 50001 'this is a test'. 這個呼叫 RAISERROR 的方法在 Azure SQL 受控執行個體中已不受支援且已移除。

建議
使用目前的 RAISERROR 語法重寫陳述式,或評估新式方法 BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH 是否可行。

詳細資訊:SQL Server 中已中止的資料庫引擎功能

SQL Mail

標題:SQL Mail 已不受支援。
類別:警告

描述
SQL Mail 在 Azure SQL 受控執行個體中已不受支援且已移除。

建議
使用 Database Mail。

詳細資訊:SQL Server 中已中止的資料庫引擎功能

SystemProcedures110

標題:偵測到陳述式參考了已移除而無法在 Azure SQL 受控執行個體中使用的系統預存程序。
類別:警告

說明
下列不支援的系統和擴充預存程序無法在 Azure SQL 受控執行個體中使用 - sp_dboptionsp_addserversp_dropaliassp_activedirectory_objsp_activedirectory_scpsp_activedirectory_start

建議
移除對不受支援、且已從 Azure SQL 受控執行個體中移除的系統程序的參考。

詳細資訊:SQL Server 中已中止的資料庫引擎功能

Transact-SQL 作業

標題:TSQL 作業步驟包含在 Azure SQL 受控執行個體中不支援的命令
類別:警告

說明
這是在排程時間執行 Transact-SQL 指令碼的作業步驟。 TSQL 作業步驟包含在 Azure SQL 受控執行個體中不支援的命令。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以完整查看有哪些作業包含在 Azure SQL 受控執行個體中不支援的命令,並評估作業步驟或受影響的物件是否可移除。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的 SQL Server Agent 差異

追蹤旗標

標題:發現在 Azure SQL 受控執行個體中不支援的追蹤旗標
類別:警告

描述
Azure SQL 受控執行個體僅支援有限數量的全域追蹤旗標。 不支援工作階段追蹤旗標。

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看 Azure SQL 受控執行個體中不支援的所有追蹤旗標,並評估這些旗標是否可移除。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:追蹤旗標

Windows 驗證

標題:Azure SQL 受控執行個體不支援與 Windows 驗證 (整合式安全性) 對應的資料庫使用者
類別:警告

描述
Azure SQL 受控執行個體支援兩種類型的驗證:

  • SQL 驗證,需用到使用者名稱和密碼
  • Microsoft Entra 驗證使用由 Microsoft Entra ID (之前稱為 Azure Active Directory) 管理的身分識別,並且受控網域和整合式網域都支援此驗證。

Azure SQL 受控執行個體不支援與 Windows 驗證 (整合式安全性) 對應的資料庫使用者。

建議
將本機 Active Directory 與 Microsoft Entra ID 同盟。 然後,Windows 身分識別可以取代為對等的 Microsoft Entra 身分識別。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:SQL 受控執行個體安全性功能

xp_cmdshell

標題:Azure SQL 受控執行個體不支援 xp_cmdshell。
類別:問題

說明
Azure SQL 受控執行個體不支援會繁衍 Windows 命令殼層,並傳入字串以執行的 xp_cmdshell

建議
檢閱 Azure Migrate 中的 [受影響的物件] 區段,以查看所有使用 xp_cmdshell 的物件,並評估 xp_cmdshell 的參考或受影響的物件是否可移除。 請考慮探索可提供雲端式自動化和設定服務的 Azure 自動化。 或者,移轉至 Azure VM 上的 SQL Server。

詳細資訊:Azure SQL 受控執行個體中的預存程序差異