Regras de avaliação para a migração do SQL Server para a Instância Gerenciada de SQL do Azure
Aplica-se a: Instância Gerenciada de SQL do Azure
As ferramentas de migração validam a instância do SQL Server de origem executando várias regras de avaliação. As regras identificam problemas que precisam ser resolvidos antes da migração do banco de dados do SQL Server para a Instância Gerenciada de SQL do Azure.
Este artigo apresenta uma lista das regras usadas para avaliar a viabilidade de migrar o seu banco de dados do SQL Server para a Instância Gerenciada de SQL do Azure.
Resumo de regras
Trabalho AnalysisCommand
Título: a Instância Gerenciada de SQL do Azure não dá suporte à etapa de trabalho AnalysisCommand.
Categoria: aviso
Descrição
Ela é uma etapa de trabalho que executa um comando do Analysis Services. Não há suporte para a etapa de trabalho AnalysisCommand na Instância Gerenciada de SQL do Azure.
Recomendação
Revise a seção de objetos afetados do Migrações para Azure para ver todos os trabalhos que usam a etapa de trabalho Command do Analysis Services e avalie se é possível remover a etapa de trabalho ou o objeto afetado. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças do SQL Server Agent na Instância Gerenciada de SQL do Azure
Trabalho AnalysisQuery
Título: a Instância Gerenciada de SQL do Azure não dá suporte à etapa de trabalho AnalysisQuery.
Categoria: aviso
Descrição
Ela é uma etapa de trabalho que executa uma consulta do Analysis Services. Não há suporte para a etapa de trabalho AnalysisQuery na Instância Gerenciada de SQL do Azure.
Recomendação
Revise a seção de objetos afetados do Migrações para Azure para ver todos os trabalhos que usam a etapa de trabalho Query do Analysis Services e avalie se é possível remover a etapa de trabalho ou o objeto afetado. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças do SQL Server Agent na Instância Gerenciada de SQL do Azure
Assembly do arquivo
Título: a Instância Gerenciada de SQL do Azure não dá suporte a 'CREATE ASSEMBLY' e 'ALTER ASSEMBLY' com um parâmetro de arquivo.
Categoria: problema
Descrição
A Instância Gerenciada de SQL do Azure não dá suporte a CREATE ASSEMBLY
ou ALTER ASSEMBLY
com um parâmetro de arquivo. Há suporte para parâmetro binário. Consulte a seção Objetos Afetados para o objeto específico em que o parâmetro de arquivo é usado.
Recomendação
Revise objetos usando CREATE ASSEMBLY
ou ALTER ASSEMBLY
com um parâmetro de arquivo. Se algum desses objetos for necessário, converta o parâmetro de arquivo em um parâmetro binário. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças do CLR na Instância Gerenciada de SQL do Azure
BULK INSERT
Título: a Instância Gerenciada de SQL do Azure não dá suporte a BULK INSERT com uma fonte de dados não relacionada a blobs do Azure.
Categoria: problema
Descrição
A Instância Gerenciada de SQL do Azure não pode acessar compartilhamentos de arquivos nem pastas do Windows. Confira a seção "Objetos Afetados" para ver os usos específicos das instruções BULK INSERT que não fazem referência a um blob do Azure. Quando a origem não é o Armazenamento de Blobs do Azure, os objetos com “BULK INSERT” não funcionam depois de migrar para a Instância Gerenciada de SQL do Azure.
Recomendação
Ao migrar para a Instância Gerenciada de SQL do Azure, você precisará converter as instruções BULK INSERT que usam compartilhamentos de arquivos ou arquivos locais para usar os arquivos do Armazenamento de Blobs do Azure.
Mais informações: diferenças de Bulk Insert e OPENROWSET na Instância Gerenciada de SQL do Azure
Segurança do CLR
Título: os assemblies do CLR marcados como SAFE ou EXTERNAL_ACCESS são considerados UNSAFE
Categoria: aviso
Descrição
O modo de segurança estrita do CLR é imposto na Instância Gerenciada de SQL do Azure. Esse modo é habilitado por padrão e introduz alterações interruptivas para bancos de dados que contêm assemblies do CLR definidos pelo usuário, marcados como SAFE ou EXTERNAL_ACCESS.
Recomendação
O CLR usa o CAS (Segurança de Acesso do Código) no .NET Framework, para o qual não há mais suporte como um limite de segurança. Um assembly CLR criado com o PERMISSION_SET = SAFE
pode conseguir acessar recursos externos do sistema, chamar um código não gerenciado e adquirir privilégios sysadmin. No SQL Server 2017 (14.x) e versões posteriores, a opção a opção de sp_configure
, clr strict security aprimora a segurança dos assemblies CLR. A clr strict security
está habilitada por padrão e trata assemblies SAFE
e EXTERNAL_ACCESS
como se eles fossem marcados como UNSAFE
. A opção clr strict security
pode ser desabilitada para compatibilidade com versões anteriores, mas não é recomendado.
Recomendamos que você assine todos os assemblies por um certificado ou uma chave assimétrica com um logon correspondente que tenha recebido a permissão UNSAFE ASSEMBLY
no banco de dados master
. Os administradores do SQL Server também podem adicionar assemblies a uma lista de assemblies, na qual o Mecanismo de Banco de Dados deve confiar. Para obter mais informações, consulte sys.sp_add_trusted_assembly.
Cláusula COMPUTE
Título: não há mais suporte para a cláusula COMPUTE. Ela foi removida.
Categoria: aviso
Descrição
A cláusula COMPUTE gera os totais que são exibidos como colunas de resumo adicionais ao fim do conjunto de resultados. No entanto, a Instância Gerenciada de SQL do Azure não dá mais suporte a essa cláusula.
Recomendação
É necessário reescrever o módulo T-SQL usando o operador ROLLUP. O código a seguir demonstra como substituir a cláusula COMPUTE por 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;
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Provedor de criptografia
Título: foi encontrado um uso de CREATE CRYPTOGRAPHIC PROVIDER ou ALTER CRYPTOGRAPHIC PROVIDER, que não é permitido na Instância Gerenciada de SQL do Azure.
Categoria: problema
Descrição
A Instância Gerenciada de SQL do Azure não dá suporte às instruções CRYPTOGRAPHIC PROVIDER porque ela não pode acessar os arquivos. Confira a seção Objetos afetados para ver usos específicos das instruções CRYPTOGRAPHIC PROVIDER. Os objetos com 'CREATE CRYPTOGRAPHIC PROVIDER' ou 'ALTER CRYPTOGRAPHIC PROVIDER' não funcionam corretamente depois da migração para a Instância Gerenciada de SQL do Azure.
Recomendação
Revise os objetos com 'CREATE CRYPTOGRAPHIC PROVIDER' ou 'ALTER CRYPTOGRAPHIC PROVIDER'. Remova os usos desses recursos de todos os objetos necessários. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças de provedor de criptografia na Instância Gerenciada de SQL do Azure
Compatibilidade do banco de dados
Título: o nível de compatibilidade do banco de dados abaixo de 100 não tem suporte.
Categoria: aviso
Descrição
O nível de compatibilidade do banco de dados é uma ferramenta valiosa que ajuda na modernização do banco de dados, permitindo a atualização do Mecanismo de Banco de Dados do SQL Server e a manutenção do status funcional dos aplicativos conectados, garantindo o mesmo nível de compatibilidade do banco de dados de antes da atualização. A Instância Gerenciada de SQL do Azure não dá suporte a níveis de compatibilidade abaixo de 100. Quando um banco de dados com nível de compatibilidade abaixo de 100 é restaurado na Instância Gerenciada de SQL do Azure, o nível de compatibilidade é atualizado para 100.
Recomendação
Avalie se a funcionalidade do aplicativo está intacta quando o nível de compatibilidade do banco de dados é atualizado para 100 na Instância Gerenciada de SQL do Azure. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: níveis de compatibilidade permitidos na Instância Gerenciada de SQL do Azure
Alias da entidade de segurança do banco de dados
Título: não há mais suporte para SYS. DATABASE_PRINCIPAL_ALIASES. Ele foi removido.
Categoria: problema
Descrição
Não há mais suporte para o sys.database_principal_aliases
e ele foi removido da Instância Gerenciada de SQL do Azure.
Recomendação
Use funções em vez de aliases.
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Opção DISABLE_DEF_CNST_CHK
Título: não há mais suporte para a opção DISABLE_DEF_CNST_CHK de SET. Ela foi removida.
Categoria: problema
Descrição
Não há mais suporte para a opção DISABLE_DEF_CNST_CHK de SET e ela foi removida da Instância Gerenciada de SQL do Azure.
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Dica FASTFIRSTROW
Título: não há mais suporte para a dica de consulta FASTFIRSTROW. Ela foi removida.
Categoria: aviso
Descrição
A dica de consulta FASTFIRSTROW não é mais compatível com a Instância Gerenciada de SQL do Azure e foi removida.
Recomendação
Em vez da dica de consulta FASTFIRSTROW, use OPTION (FAST n).
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
FILESTREAM
Título: FILESTREAM e Filetable não são permitidos na Instância Gerenciada de SQL do Azure.
Categoria: problema
Descrição
O recurso FILESTREAM, que permite armazenar dados não estruturados, como documentos de texto, imagens e vídeos, no sistema de arquivos NTFS não é permitido na Instância Gerenciada de SQL do Azure. Não é possível migrar esse banco de dados, já que não é possível restaurar o backup que contém grupos de dados do FILESTREAM na Instância Gerenciada de SQL do Azure.
Recomendação
Carregue os arquivos não estruturados no armazenamento de blobs do Azure e armazene os metadados relacionados a esses arquivos (nome, tipo, local da URL, chave de armazenamento etc.) na Instância Gerenciada de SQL do Azure. Talvez você precise reprojetar o seu aplicativo para habilitar o streaming de blobs da Instância Gerenciada de SQL do Azure. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: Blog do Azure: Streaming de blobs do SQL e para ele
MS DTC heterogêneo
Título: a Instância Gerenciada de SQL do Azure não dá suporte a BEGIN DISTRIBUTED TRANSACTION com o servidor remoto não relacionado ao SQL Server.
Categoria: problema
Descrição
A Instância Gerenciada de SQL do Azure não dá suporte à transação distribuída iniciada pelo Transact SQL BEGIN DISTRIBUTED TRANSACTION e gerenciada pelo MS DTC (Coordenador de Transações Distribuídas da Microsoft) se o servidor remoto não é o SQL Server.
Recomendação
Revise a seção de objetos afetados do Migrações para Azure para ver todos os objetos que usam BEGIN DISTRUBUTED TRANSACTION. Considere migrar os bancos de dados participantes para a Instância Gerenciada de SQL do Azure, que dá suporte a transações distribuídas entre várias instâncias. Para mais informações, confira Transações em vários servidores da Instância Gerenciada de SQL do Azure.
Como alternativa, migre para o SQL Server em VMs do Azure.
MS DTC homogêneo
Título: a Instância Gerenciada de SQL do Azure dá suporte a BEGIN DISTRIBUTED TRANSACTION em vários servidores.
Categoria: problema
Descrição
A Instância Gerenciada de SQL do Azure dá suporte à transação distribuída iniciada pelo Transact SQL BEGIN DISTRIBUTED TRANSACTION e gerenciada pelo MS DTC (Coordenador de Transações Distribuídas da Microsoft) em vários servidores.
Recomendação
Revise a seção de objetos afetados do Migrações para Azure para ver todos os objetos que usam BEGIN DISTRUBUTED TRANSACTION. Considere migrar os bancos de dados participantes para a Instância Gerenciada de SQL do Azure, que dá suporte a transações distribuídas entre várias instâncias. Para mais informações, confira Transações em vários servidores da Instância Gerenciada de SQL do Azure.
Como alternativa, migre para o SQL Server em VMs do Azure.
Servidor vinculado (provedor não relacionado a SQL)
Título: a Instância Gerenciada de SQL do Azure não dá suporte a um servidor vinculado com provedores não relacionados ao SQL Server.
Categoria: problema
Descrição
Os servidores vinculados permitem que o Mecanismo de Banco de Dados do SQL Server execute comandos em fontes de dados OLE DB fora da instância do SQL Server. Não há suporte para servidor vinculado com um provedor que não seja do SQL Server na Instância Gerenciada de SQL do Azure.
Recomendação
A Instância Gerenciada de SQL do Azure não dará suporte à funcionalidade de servidor vinculado se o provedor do servidor remoto não estiver relacionado ao SQL Server, como Oracle, Sybase etc.
As seguintes ações são recomendadas para eliminar a necessidade de servidores vinculados:
- Identifique os bancos de dados dependentes nos servidores remotos não relacionados a SQL Server e considere movê-los para o banco de dados que está sendo migrado.
- Migre os bancos de dados dependentes para destinos compatíveis, como Instância Gerenciada de SQL, Banco de Dados SQL e Azure Synapse e Instâncias do SQL Server.
- Considere a criação de um servidor vinculado entre a Instância Gerenciada de SQL do Azure e o SQL Server na VM SQL (máquinas virtuais do Azure). Em seguida, na VM do SQL, crie um servidor vinculado para Oracle, Sybase etc. Essa abordagem envolve dois saltos, mas pode ser usada como uma solução temporária.
- Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: Diferenças de servidor vinculado na Instância Gerenciada de SQL do Azure
Trabalho Merge
Título: a Instância Gerenciada de SQL do Azure não dá suporte à etapa de trabalho Merge.
Categoria: aviso
Descrição
Ela é uma etapa de trabalho que ativa o Agente de Mesclagem de replicação. O Agente de Mesclagem de Replicação é um executável utilitário que aplica o instantâneo inicial contido nas tabelas do banco de dados aos Assinantes. Ele também mescla as alterações incrementais de dados que ocorreram no Publicador depois que o instantâneo inicial foi criado e reconcilia conflitos de acordo com as regras que você configura ou usando um resolvedor personalizado que você cria. Não há suporte para a etapa de trabalho de mesclagem na Instância Gerenciada de SQL do Azure.
Recomendação
Revise a seção de objetos afetados do Migrações para Azure para ver todos os trabalhos que usam a etapa de trabalho Merge e avalie se é possível remover a etapa de trabalho ou o objeto afetado. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças do SQL Server Agent na Instância Gerenciada de SQL do Azure
Tamanho do banco de dados de Instância Gerenciada de SQL
Título: Instância Gerenciada de SQL do Azure não dá suporte a bancos de dados maiores que 16 TB.
Categoria: problema
Descrição
O tamanho do banco de dados é maior que o armazenamento máximo reservado para instâncias. Não é possível escolher esse banco de dados para migração, pois o tamanho excedeu o limite permitido.
Recomendação
Avalie se é possível arquivar, compactar ou fragmentar os dados em vários bancos de dados. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: características do hardware da Instância Gerenciada de SQL do Azure
Tamanho da instância da Instância Gerenciada de SQL
Título: o tamanho máximo do armazenamento para instâncias da Instância Gerenciada de SQL do Azure não pode ser maior que 8 TB.
Categoria: aviso
Descrição
O tamanho de todos os bancos de dados é maior que o armazenamento máximo reservado para instâncias.
Recomendação
Considere migrar os bancos de dados para diferentes Instâncias Gerenciadas de SQL do Azure ou para o SQL Server nas máquinas virtuais do Azure se todos os bancos de dados precisam existir na mesma instância.
Mais informações: características do hardware da Instância Gerenciada de SQL do Azure
Vários arquivos de log
Título: a Instância Gerenciada de SQL do Azure não dá suporte a vários arquivos de log.
Categoria: problema
Descrição
O SQL Server permite que um banco de dados registre vários arquivos. Esse banco de dados tem vários arquivos de log, o que não é permitido na Instância Gerenciada de SQL do Azure. Não é possível migrar esse banco de dados, pois não é possível restaurar o backup na Instância Gerenciada de SQL do Azure.
Recomendação
A Instância Gerenciada de SQL do Azure dá suporte apenas a um só log por banco de dados. Você precisa excluir todos, exceto um, dos arquivos de log antes de migrar esse banco de dados para o Azure:
ALTER DATABASE [database_name] REMOVE FILE [log_file_name]
Mais informações: opções incompatíveis de banco de dados na Instância Gerenciada de SQL do Azure
Próxima coluna
Título: as tabelas e as colunas denominadas NEXT resultarão em erro na Instância Gerenciada de SQL do Azure.
Categoria: problema
Descrição
Foram detectadas tabelas ou colunas denominadas NEXT. As sequências, introduzidas no Microsoft SQL Server, usam a função NEXT VALUE FOR do padrão ANSI. As tabelas ou colunas chamadas NEXT e as colunas com o alias VALUE com o padrão ANSI como omitidas podem causar um erro.
Recomendação
Reescreva instruções para incluir a palavra-chave AS do padrão ANSI no alias de uma tabela ou coluna. Por exemplo, quando uma coluna é denominada NEXT e recebe o alias VALUE, a consulta SELECT NEXT VALUE FROM TABLE causa um erro e deve ser reescrita como SELECT NEXT AS VALUE FROM TABLE. Da mesma forma, para uma tabela chamada NEXT e com o alias VALUE, a consulta SELECT Col1 FROM NEXT VALUE causa um erro e deverá ser reescrita como SELECT Col1 FROM NEXT AS VALUE.
Junção externa esquerda em outro estilo que não ANSI
Título: não há mais suporte para a junção externa esquerda em um estilo diferente de ANSI. Ela foi removida.
Categoria: aviso
Descrição
Não há mais suporte para a junção externa esquerda em um estilo diferente de ANSI e ela foi removida da Instância Gerenciada de SQL do Azure.
Recomendação
Use a sintaxe de junção ANSI.
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Junção externa direita em outro estilo que não ANSI
Título: não há mais suporte para a junção externa direita em um estilo diferente de ANSI. Ela foi removida.
Categoria: aviso
Descrição
Não há mais suporte para a junção externa direita em um estilo diferente de ANSI e ela foi removida da Instância Gerenciada de SQL do Azure.
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Recomendação
Use a sintaxe de junção ANSI.
Os bancos de dados excedem 100
Título: a Instância Gerenciada de SQL do Azure dá suporte a no máximo 100 bancos de dados por instância.
Categoria: aviso
Descrição
O número máximo de bancos de dados permitidos na Instância Gerenciada de SQL do Azure é 100, a menos que o limite de tamanho de armazenamento para instâncias tenha sido atingido.
Recomendação
Considere migrar os bancos de dados para diferentes Instâncias Gerenciadas de SQL do Azure ou para o SQL Server nas máquinas virtuais do Azure se todos os bancos de dados precisam existir na mesma instância.
Mais informações: limites de recursos da Instância Gerenciada de SQL do Azure
OPENROWSET (fonte de dados não relacionada a BLOB)
Título: a função OpenRowSet usada em operações em massa com fontes de dados de armazenamento não relacionadas a blobs do Azure não é permitida na Instância Gerenciada de SQL do Azure.
Categoria: problema
Descrição
A função OPENROWSET dá suporte a operações em massa por meio de um provedor em massa integrado que permite que os dados de um arquivo sejam lidos e exibidos como um conjunto de linhas. A função OPENROWSET com fontes de dados de armazenamento não relacionadas a blobs do Azure não é permitida na Instância Gerenciada de SQL do Azure.
Recomendação
Uma Instância Gerenciada de SQL do Azure não pode acessar compartilhamentos de arquivo nem pastas do Windows, então os arquivos devem ser importados do Armazenamento de Blobs do Azure. Portanto, somente o blob tipo DATASOURCE tem suporte na função OPENROWSET. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças de Bulk Insert e OPENROWSET na Instância Gerenciada de SQL do Azure
OPENROWSET (provedor não relacionado a SQL)
Título: a função OpenRowSet com um provedor não relacionado a SQL não é permitida na Instância Gerenciada de SQL do Azure.
Categoria: problema
Descrição
Este método é uma alternativa para acessar tabelas em um servidor vinculado e se trata de um método de uso único e ad hoc para conexão e acesso a dados remotos por meio de OLE DB. Não há suporte para OpenRowSet com um provedor que não seja SQL na Instância Gerenciada de SQL do Azure.
Recomendação
É possível usar a função OPENROWSET para executar consultas apenas nas instâncias do SQL Server (gerenciadas, locais ou em máquinas virtuais). Há suporte para os provedores SQLNCLI
, SQLNCLI11
, SQLOLEDB
e MSOLEDBSQL
(recomendado). O Driver do Microsoft OLE DB para SQL Server é recomendado para um novo desenvolvimento.
A ação recomendada é identificar os bancos de dados dependentes nos servidores remotos não relacionados ao SQL Server e considerar movê-los para a instância que está sendo migrada.
Mais informações: diferenças de Bulk Insert e OPENROWSET na Instância Gerenciada de SQL do Azure
Trabalho PowerShell
Título: a Instância Gerenciada de SQL do Azure não dá suporte à etapa de trabalho PowerShell.
Categoria: aviso
Descrição
Ela é uma etapa de trabalho que executa um script do PowerShell. Não há suporte para a etapa de trabalho do PowerShell na Instância Gerenciada de SQL do Azure.
Recomendação
Revise a seção de objetos afetados do Migrações para Azure para ver todos os trabalhos que usam a etapa de trabalho PowerShell e avalie se é possível remover a etapa de trabalho ou o objeto afetado. Avalie se é possível usar a Automação do Azure. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças do SQL Server Agent na Instância Gerenciada de SQL do Azure
Trabalho Queue Reader
Título: a Instância Gerenciada de SQL do Azure não dá suporte à etapa de trabalho Queue Reader.
Categoria: aviso
Descrição
Ela é uma etapa de trabalho que ativa o Queue Reader Agent de replicação. Queue Reader Agent de replicação é um executável que lê mensagens armazenadas em uma fila do Microsoft SQL Server ou do Microsoft Message Queuing e, depois, aplica essas mensagens ao publicador. O Queue Reader Agent é usado com publicações de instantâneo e transacionais que permitem atualização em fila. Não há suporte para a etapa de trabalho do Queue Reader na Instância Gerenciada de SQL do Azure.
Recomendação
Revise a seção de objetos afetados do Migrações para Azure para ver todos os trabalhos que usam a etapa de trabalho Queue Reader e avalie se é possível remover a etapa de trabalho ou o objeto afetado. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças do SQL Server Agent na Instância Gerenciada de SQL do Azure
RAISERROR
Título: as chamadas RAISERROR com estilo herdado devem ser substituídas por equivalentes modernos.
Categoria: aviso
Descrição
O estilo das chamadas RAISERROR como no exemplo abaixo é denominado como herdado porque elas não incluem as vírgulas e os parênteses. RAISERROR 50001 'this is a test'
. Não há mais suporte para esse método de chamar RAISERROR e ele foi removido da Instância Gerenciada de SQL do Azure.
Recomendação
Reescreva a instrução usando a sintaxe atual da RAISERROR ou avalie se a abordagem moderna de BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH
é viável.
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
SQL Mail
Título: não há mais suporte para o SQL Mail.
Categoria: aviso
Descrição
Não há mais suporte para o SQL Mail e ele foi removido da Instância Gerenciada de SQL do Azure.
Recomendação
Use o Database Mail.
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
SystemProcedures110
Título: foram detectadas instruções que fazem referência a procedimentos armazenados do sistema que foram removidos e não estão disponíveis na Instância Gerenciada de SQL do Azure.
Categoria: aviso
Descrição
Os procedimentos armazenados estendidos e de sistema incompatíveis a seguir não podem ser usados na Instância Gerenciada de SQL do Azure – sp_dboption
, sp_addserver
, sp_dropalias
,sp_activedirectory_obj
, sp_activedirectory_scp
e sp_activedirectory_start
.
Recomendação
Remova as referências a procedimentos de sistema incompatíveis que foram removidos da Instância Gerenciada de SQL do Azure.
Mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Trabalho Transact-SQL
Título: a etapa de trabalho TSQL inclui comandos não permitidos na Instância Gerenciada de SQL do Azure.
Categoria: aviso
Descrição
Ela é uma etapa de trabalho que executa scripts do Transact-SQL no horário agendado. A etapa de trabalho TSQL inclui comandos incompatíveis, não permitidos na Instância Gerenciada de SQL do Azure.
Recomendação
Revise a seção de objetos afetados do Migrações para Azure para ver todos os trabalhos que incluem comandos incompatíveis na Instância Gerenciada de SQL do Azure e avalie se é possível remover a etapa de trabalho ou o objeto afetado. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: diferenças do SQL Server Agent na Instância Gerenciada de SQL do Azure
Sinalizadores de rastreamento
Título: foram encontrados sinalizadores de rastreamento não permitidos na Instância Gerenciada de SQL do Azure.
Categoria: aviso
Descrição
A Instância Gerenciada de SQL do Azure dá suporte somente a um número limitado de sinalizadores de rastreamento globais. Não há suporte a sinalizadores de rastreamento de sessão.
Recomendação
Revise a seção de objetos afetados no Migrações para Azure para ver todos os sinalizadores de rastreamento que não são permitidos na Instância Gerenciada de SQL do Azure e avalie se é possível removê-los. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: Sinalizadores de rastreamento
Autenticação do Windows
Título: a Instância Gerenciada de SQL do Azure não dá suporte aos usuários de banco de dados mapeados com autenticação do Windows (segurança integrada).
Categoria: aviso
Descrição
A Instância Gerenciada de SQL do Azure dá suporte a dois tipos de autenticação:
- Autenticação do SQL, que usa um nome de usuário e uma senha
- Autenticação do Microsoft Entra, que usa identidades gerenciadas pelo Microsoft Entra ID e tem suporte para domínios gerenciados e integrados.
A Instância Gerenciada de SQL do Azure não dá suporte aos usuários de banco de dados mapeados com autenticação do Windows (segurança integrada).
Recomendação
Faça a federação do Active Directory local com o Microsoft Entra ID. Em seguida, a identidade do Windows poderá ser substituída pelas identidades equivalentes do Microsoft Entra. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: Recursos de segurança da Instância Gerenciada de SQL do Azure
xp_cmdshell
Título: a Instância Gerenciada de SQL do Azure não dá suporte a xp_cmdshell.
Categoria: problema
Descrição
xp_cmdshell
, que gera um shell de comando do Windows e transmite uma cadeia de caracteres para execução que não é compatível com a Instância Gerenciada de SQL do Azure.
Recomendação
Revise a seção de objetos afetados no Migrações para Azure para ver todos os objetos que usam xp_cmdshell
e avalie se é possível remover a referência a xp_cmdshell
ou o objeto afetado. Considere explorar a Automação do Azure que oferece a automação baseada em nuvem e o serviço de configuração. Como alternativa, migre para o SQL Server em VMs do Azure.
Mais informações: Diferenças de procedimento armazenado na Instância Gerenciada de SQL do Azure
Conteúdo relacionado
- Guia de migração: de SQL Server SQL para a Instância Gerenciada de SQL do Azure
- Serviços e ferramentas disponíveis para cenários de migração de dados
- Camadas de serviço da Instância Gerenciada de SQL do Azure
- Diferenças de T-SQL entre o SQL Server e a Instância Gerenciada de SQL do Azure
- Calculadora de Custo Total de Propriedade do Azure
- Cloud Adoption Framework para Azure
- Práticas recomendadas para estimar os custos e dimensionar as cargas de trabalho migradas para o Azure
- Kit de ferramentas de migração de acesso a dados (Visualização)
- Visão geral do Assistente para Experimentos de Banco de Dados