Regras de avaliação para migração do SQL Server para o Banco de Dados SQL do Azure
Aplica-se a:Banco de Dados SQL do Azure
As ferramentas de migração validam sua instância do SQL Server de origem executando várias regras de avaliação para identificar problemas que devem ser resolvidos antes de migrar seu banco de dados do SQL Server para o Banco de Dados SQL do Azure.
Este artigo fornece uma lista das regras usadas para avaliar a viabilidade de migrar seu banco de dados do SQL Server para o Banco de Dados SQL do Azure.
Resumo das regras
BULK INSERT
Título: BULK INSERT com fonte de dados de blob não Azure não é suportada no Banco de Dados SQL do Azure.
Categoria: Edição
Descrição
O Banco de Dados SQL do Azure não pode acessar compartilhamentos de arquivos ou pastas do Windows. Consulte a seção "Objetos afetados" para os usos específicos de BULK INSERT
instruções que não fazem referência a um blob do Azure. Os objetos com os quais BULK INSERT
a origem não é o Armazenamento de Blobs do Azure não funcionam após a migração para o Banco de Dados SQL do Azure.
Recomendação
Você precisa converter BULK INSERT
instruções que usam arquivos locais ou compartilhamentos de arquivos para usar arquivos do Armazenamento de Blob do Azure ao migrar para o Banco de Dados SQL do Azure. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Cláusula COMPUTE
Título: A cláusula COMPUTE não é mais suportada e foi removida.
Categoria: Aviso
Descrição
A cláusula COMPUTE gera totais que aparecem como colunas de resumo adicionais no final do conjunto de resultados. No entanto, essa cláusula não é mais suportada no Banco de Dados SQL do Azure.
Recomendação
O módulo T-SQL precisa ser reescrito usando o operador ROLLUP. O código abaixo demonstra como COMPUTE
pode ser substituído 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;
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Montagens CLR
Título: assemblies SQL CLR não são suportados no Banco de Dados SQL do Azure
Categoria: Edição
Descrição
O Banco de Dados SQL do Azure não oferece suporte a assemblies SQL CLR.
Recomendação
Atualmente, não há nenhuma maneira de conseguir isso no Banco de Dados SQL do Azure. As soluções alternativas recomendadas exigem alterações no código do aplicativo e no banco de dados para usar apenas assemblies suportados pelo Banco de Dados SQL do Azure. Como alternativa, migre para a Instância Gerenciada SQL do Azure ou para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Diferenças Transact-SQL sem suporte no Banco de dados SQL
Provedor de criptografia
Título: Foi encontrado um uso de CREATE CRYPTOGRAPHIC PROVIDER ou ALTER CRYPTOGRAPHIC PROVIDER, que não é suportado no Banco de Dados SQL do Azure
Categoria: Edição
Descrição
O Banco de Dados SQL do Azure não dá suporte a instruções CRYPTOGRAPHIC PROVIDER porque não pode acessar arquivos. Consulte a seção Objetos afetados para os usos específicos das instruções CRYPTOGRAPHIC PROVIDER. Objetos com CREATE CRYPTOGRAPHIC PROVIDER
ou ALTER CRYPTOGRAPHIC PROVIDER
não funcionam corretamente após a migração para o Banco de Dados SQL do Azure.
Recomendação
Revise objetos com CREATE CRYPTOGRAPHIC PROVIDER
ou ALTER CRYPTOGRAPHIC PROVIDER
. Em quaisquer objetos necessários, remova os usos desses recursos. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Referências cruzadas de bases de dados
Título: Não há suporte para consultas entre bancos de dados no Banco de Dados SQL do Azure
Categoria: Edição
Descrição
Os bancos de dados neste servidor usam consultas entre bancos de dados, que não têm suporte no Banco de Dados SQL do Azure.
Recomendação
O Banco de Dados SQL do Azure não oferece suporte a consultas entre bancos de dados. Recomendam-se as seguintes ações:
- Migre os bancos de dados dependentes para o Banco de Dados SQL do Azure e use a funcionalidade Consulta de Banco de Dados Elástico (atualmente em visualização) para consultar bancos de dados SQL do Azure.
- Mova os conjuntos de dados dependentes de outros bancos de dados para o banco de dados que está sendo migrado.
- Migre para a Instância Gerenciada SQL do Azure.
- Migre para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Verificar consulta de banco de dados elástico do Banco de Dados SQL do Azure (Visualização)
Compatibilidade da base de dados
Título: A Base de Dados SQL do Azure não suporta níveis de compatibilidade inferiores a 100.
Categoria: Aviso
Descrição
O nível de compatibilidade do banco de dados é uma ferramenta valiosa para ajudar na modernização do banco de dados, permitindo que o Mecanismo de Banco de Dados do SQL Server seja atualizado, mantendo o status funcional dos aplicativos conectando o mesmo nível de compatibilidade do banco de dados pré-atualização. A Base de Dados SQL do Azure não suporta níveis de compatibilidade inferiores a 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 SQL do Azure. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Database Mail (Correio de Base de Dados)
Título: O Database Mail não tem suporte no Banco de Dados SQL do Azure.
Categoria: Aviso
Descrição
Este servidor utiliza a funcionalidade Database Mail, que não tem suporte na Base de Dados SQL do Azure.
Recomendação
Considere migrar para a Instância Gerenciada SQL do Azure que ofereça suporte ao Database Mail. Como alternativa, considere usar as funções do Azure e o SendGrid para realizar a funcionalidade de email no Banco de Dados SQL do Azure.
Alias principal do banco de dados
Título: SYS. DATABASE_PRINCIPAL_ALIASES não é mais suportado e foi removido.
Categoria: Edição
Descrição
SISTEMA. DATABASE_PRINCIPAL_ALIASES não tem mais suporte e foi removido do Banco de Dados SQL do Azure.
Recomendação
Use funções em vez de aliases.
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
DISABLE_DEF_CNST_CHK opção
Título: A opção SET DISABLE_DEF_CNST_CHK foi descontinuada e removida.
Categoria: Edição
Descrição
A opção SET DISABLE_DEF_CNST_CHK foi descontinuada e foi removida no Banco de Dados SQL do Azure.
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Dica FASTFIRSTROW
Título: A dica de consulta FASTFIRSTROW não é mais suportada e foi removida.
Categoria: Aviso
Descrição
A dica de consulta FASTFIRSTROW não tem mais suporte e foi removida do Banco de Dados SQL do Azure.
Recomendação
Em vez da dica de consulta FASTFIRSTROW, use OPTION (FAST n).
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
FILESTREAM
Título: FILESTREAM não é suportado na Base de Dados SQL do Azure
Categoria: Edição
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 é suportado no Banco de Dados SQL do Azure.
Recomendação
Carregue os arquivos não estruturados no armazenamento de Blob do Azure e armazene metadados relacionados a esses arquivos (nome, tipo, local da URL, chave de armazenamento, etc.) no Banco de Dados SQL do Azure. Talvez seja necessário reformular seu aplicativo para habilitar blobs de streaming de e para o Banco de Dados SQL do Azure. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Streaming de blobs de e para o blog SQL do Azure
Servidor ligado
Título: A funcionalidade de servidor vinculado não é suportada no Banco de Dados SQL do Azure
Categoria: Edição
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.
Recomendação
O Banco de Dados SQL do Azure não oferece suporte à funcionalidade de servidor vinculado. As seguintes ações são recomendadas para eliminar a necessidade de servidores vinculados:
- Identifique os conjuntos de dados dependentes de servidores SQL remotos e considere movê-los para o banco de dados que está sendo migrado.
- Migre os bancos de dados dependentes para o Azure e use a funcionalidade Consulta de Banco de Dados Elástico (visualização) para consultar bancos de dados no Banco de Dados SQL do Azure.
Para obter mais informações: Verifique a consulta elástica do Banco de Dados SQL do Azure (Visualização).
MS DTC
Título: NÃO HÁ SUPORTE PARA BEGIN DISTRIBUTED TRANSACTION no Banco de Dados SQL do Azure.
Categoria: Edição
Descrição
A transação distribuída iniciada pelo Transact SQL BEGIN DISTRIBUTED TRANSACTION e gerenciada pelo Microsoft Distributed Transaction Coordinator (MS DTC) não é suportada no Banco de Dados SQL do Azure.
Recomendação
Revise a seção de objetos afetados no Azure Migrate para ver todos os objetos usando BEGIN DISTRUBUTED TRANSACTION. Considere migrar os bancos de dados participantes para a Instância Gerenciada SQL do Azure, onde há suporte para transações distribuídas em várias instâncias. Para obter mais informações, consulte Transações entre vários servidores para a Instância Gerenciada SQL do Azure.
Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
OPENROWSET (em massa)
Título: OpenRowSet usado em operação em massa com fonte de dados de armazenamento de blob não Azure não é suportado no Banco de Dados SQL do Azure.
Categoria: Edição
Descrição OPENROWSET suporta operações em massa por meio de um provedor BULK interno que permite que os dados de um arquivo sejam lidos e retornados como um conjunto de linhas. OPENROWSET com fonte de dados de armazenamento de blob não Azure não é suportado no Banco de Dados SQL do Azure.
Recomendação
O Banco de Dados SQL do Azure não pode acessar compartilhamentos de arquivos e pastas do Windows, portanto, os arquivos devem ser importados do Armazenamento de Blobs do Azure. Portanto, apenas o tipo de blob DATASOURCE é suportado na função OPENROWSET. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure
Para obter mais informações: Resolvendo diferenças do Transact-SQL durante a migração para o Banco de dados SQL
OPENROWSET (provedor)
Título: OpenRowSet com provedor SQL ou não-SQL não é suportado no Banco de Dados SQL do Azure.
Categoria: Edição
Descrição
OpenRowSet com provedor SQL ou não-SQL é uma alternativa para acessar tabelas em um servidor vinculado e é um método único e ad hoc de conexão e acesso a dados remotos usando OLE DB. OpenRowSet com provedor SQL ou não-SQL não é suportado no Banco de Dados SQL do Azure.
Recomendação
O Banco de Dados SQL do Azure dá suporte a OPENROWSET apenas para importar do Armazenamento de Blobs do Azure. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Resolvendo diferenças do Transact-SQL durante a migração para o Banco de dados SQL
Junção externa esquerda não-ANSI
Título: A junção externa esquerda no estilo não-ANSI não é mais suportada e foi removida.
Categoria: Aviso
Descrição
A associação externa à esquerda no estilo não-ANSI não é mais suportada e foi removida no Banco de Dados SQL do Azure.
Recomendação
Use a sintaxe de junção ANSI.
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Junção externa direita não-ANSI
Título: A junção externa direita não estilo ANSI não é mais suportada e foi removida.
Categoria: Aviso
Descrição
A associação externa direita no estilo não-ANSI não é mais suportada e foi removida no Banco de Dados SQL do Azure.
Recomendação
Use a sintaxe de junção ANSI.
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Próxima coluna
Título: Tabelas e colunas chamadas NEXT levarão a um erro no Banco de Dados SQL do Azure.
Categoria: Edição
Descrição
Foram detetadas tabelas ou colunas denominadas NEXT. As sequências, introduzidas no Microsoft SQL Server, usam o padrão ANSI NEXT VALUE FOR função. Se uma tabela ou coluna for denominada NEXT e a coluna for aliased como VALUE, e se o padrão ANSI AS for omitido, a instrução resultante poderá causar um erro.
Recomendação
Reescreva instruções para incluir a palavra-chave AS padrão ANSI ao atribuir um aliasing a uma tabela ou coluna. Por exemplo, quando uma coluna é nomeada NEXT e essa coluna é aliased como 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, quando uma tabela é denominada NEXT e essa tabela é aliased como VALUE, a consulta SELECT Col1 FROM NEXT VALUE
causa um erro e deve ser reescrita como SELECT Col1 FROM NEXT AS VALUE
.
RAISERROR
Título: As chamadas RAISERROR de estilo herdado devem ser substituídas por equivalentes modernos.
Categoria: Aviso
Descrição
Chamadas RAISERROR como o exemplo abaixo são denominadas como estilo legado porque não incluem as vírgulas e os parênteses. RAISERROR 50001 'this is a test'
. Esse método de chamar RAISERROR não é mais suportado e removido no Banco de Dados SQL do Azure.
Recomendação
Reescreva a instrução usando a sintaxe RAISERROR atual ou avalie se a abordagem moderna de BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH
é viável.
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Auditorias de servidor
Título: Usar os recursos de auditoria do Banco de Dados SQL do Azure para substituir as Auditorias de Servidor
Categoria: Aviso
Descrição
Não há suporte para Auditorias de Servidor no Banco de Dados SQL do Azure.
Recomendação
Considere os recursos de auditoria do Banco de Dados SQL do Azure para substituir as Auditorias de Servidor. O SQL do Azure dá suporte à auditoria e os recursos são mais ricos do que o SQL Server. O Banco de Dados SQL do Azure pode auditar várias ações e eventos do banco de dados, incluindo: Acesso a dados, Alterações de esquema (DDL), Alterações de dados (DML), Contas, funções e permissões (DCL, Exceções de segurança. A Auditoria da Base de Dados SQL do Azure aumenta a capacidade de uma organização obter informações aprofundadas sobre eventos e alterações que ocorrem na sua base de dados, incluindo atualizações e consultas em relação aos dados. Como alternativa, migre para a Instância Gerenciada SQL do Azure ou para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Auditoria do Banco de Dados SQL do Azure
Credenciais do servidor
Título: A credencial com escopo do servidor não é suportada no Banco de Dados SQL do Azure
Categoria: Aviso
Descrição
Uma credencial é um registro que contém as informações de autenticação (credenciais) necessárias para se conectar a um recurso fora do SQL Server. O Banco de Dados SQL do Azure dá suporte a credenciais de banco de dados, mas não às criadas no escopo do SQL Server.
Recomendação
O Banco de Dados SQL do Azure dá suporte a credenciais com escopo de banco de dados. Converta credenciais com escopo de servidor em credenciais com escopo de banco de dados. Como alternativa, migre para a Instância Gerenciada SQL do Azure ou para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Criando credenciais com escopo de banco de dados
Service Broker
Título: O recurso Service Broker não é suportado no Banco de Dados SQL do Azure
Categoria: Edição
Descrição
O SQL Server Service Broker fornece suporte nativo para aplicativos de mensagens e enfileiramento no Mecanismo de Banco de Dados do SQL Server. O recurso Service Broker não é suportado no Banco de Dados SQL do Azure.
Recomendação
O recurso Service Broker não é suportado no Banco de Dados SQL do Azure. Considere migrar para a Instância Gerenciada SQL do Azure que dá suporte ao agente de serviço na mesma instância. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Gatilhos com escopo de servidor
Título: O gatilho com escopo de servidor não é suportado no Banco de Dados SQL do Azure
Categoria: Aviso
Descrição
Um gatilho é um tipo especial de procedimento armazenado que é executado em resposta a determinada ação em uma tabela, como inserção, exclusão ou atualização de dados. Não há suporte para gatilhos com escopo de servidor no Banco de Dados SQL do Azure. O Banco de Dados SQL do Azure não oferece suporte às seguintes opções para gatilhos: PARA LOGON, CRIPTOGRAFIA, COM ACRÉSCIMO, NÃO PARA REPLICAÇÃO, opção de nome externo (não há suporte a método externo), Opção ALL SERVER (Gatilho DDL), Gatilho em um evento LOGON (Gatilho de Logon), O Banco de Dados SQL do Azure não oferece suporte a gatilhos CLR.
Recomendação
Em vez disso, use o gatilho no nível do banco de dados. Como alternativa, migre para a Instância Gerenciada SQL do Azure ou para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Resolvendo diferenças do Transact-SQL durante a migração para o Banco de dados SQL
Trabalhos do SQL Agent
Título: Os trabalhos do SQL Server Agent não estão disponíveis no Banco de Dados SQL do Azure
Categoria: Aviso
Descrição
O SQL Server Agent é um serviço do Microsoft Windows que executa tarefas administrativas agendadas, que são chamadas de trabalhos no SQL Server. Os trabalhos do SQL Server Agent não estão disponíveis no Banco de Dados SQL do Azure.
Recomendação
Use trabalhos elásticos (visualização), que são a substituição para trabalhos do SQL Server Agent no Banco de Dados SQL do Azure. Os trabalhos do Banco de Dados Elástico para o Banco de Dados SQL do Azure permitem que você execute de forma confiável scripts T-SQL que abrangem vários bancos de dados enquanto tenta novamente automaticamente e fornece eventuais garantias de conclusão. Como alternativa, considere migrar para a Instância Gerenciada SQL do Azure ou para o SQL Server em Máquinas Virtuais do Azure.
Para obter mais informações: Introdução aos trabalhos do Elastic Database (Visualização)
Tamanho do Banco de Dados SQL
Título: A Base de Dados SQL do Azure não suporta o tamanho da base de dados superior a 100 TB.
Categoria: Edição
Descrição
O tamanho do banco de dados é maior do que o tamanho máximo suportado de 100 TB.
Recomendação
Avalie se os dados podem ser arquivados ou compactados ou fragmentados em vários bancos de dados. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: vCore resource limits
Correio SQL
Título: SQL Mail foi descontinuado.
Categoria: Aviso
Descrição
O SQL Mail foi descontinuado e removido no Banco de Dados SQL do Azure.
Recomendação
Considere migrar para a Instância Gerenciada SQL do Azure ou para o SQL Server em Máquinas Virtuais do Azure e use o Database Mail.
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
ProcedimentosSistema110
Título: Instruções detetadas que fazem referência a procedimentos armazenados do sistema removidos que não estão disponíveis no Banco de Dados SQL do Azure.
Categoria: Aviso
Descrição
Os seguintes procedimentos armazenados estendidos e do sistema sem suporte não podem ser usados no Banco de Dados SQL do Azure - sp_dboption
, , ,, sp_addserver
sp_activedirectory_scp
, sp_dropalias
sp_activedirectory_obj
sp_activedirectory_start
.
Recomendação
Remova referências a procedimentos de sistema sem suporte que foram removidos no Banco de Dados SQL do Azure.
Para obter mais informações: Funcionalidade descontinuada do Mecanismo de Banco de Dados no SQL Server
Sinalizadores de rastreio
Título: O Banco de Dados SQL do Azure não oferece suporte a sinalizadores de rastreamento
Categoria: Aviso
Descrição
Os sinalizadores de rastreamento são usados para definir temporariamente características específicas do servidor ou para desativar um comportamento específico. Os sinalizadores de rastreamento são frequentemente usados para diagnosticar problemas de desempenho ou para depurar procedimentos armazenados ou sistemas de computador complexos. O Banco de Dados SQL do Azure não oferece suporte a sinalizadores de rastreamento.
Recomendação
Revise a seção de objetos afetados em Migrar do Azure para ver todos os sinalizadores de rastreamento sem suporte no Banco de Dados SQL do Azure e avaliar se eles podem ser removidos. Como alternativa, migre para a Instância Gerenciada SQL do Azure, que dá suporte a um número limitado de sinalizadores de rastreamento global ou ao SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Resolvendo diferenças do Transact-SQL durante a migração para o Banco de dados SQL
Autenticação do Windows
Título: Os usuários do banco de dados mapeados com autenticação do Windows (segurança integrada) não têm suporte no Banco de Dados SQL do Azure.
Categoria: Aviso
Descrição
O Banco de Dados SQL do Azure dá suporte a dois tipos de autenticação:
- Autenticação SQL: usa um nome de usuário e senha
- Autenticação do Microsoft Entra: usa identidades gerenciadas pela ID do Microsoft Entra (anteriormente Azure Ative Directory) e tem suporte para domínios gerenciados e integrados.
Os usuários de banco de dados mapeados com autenticação do Windows (segurança integrada) não têm suporte no Banco de Dados SQL do Azure.
Recomendação
Federar o Ative Directory local com o Microsoft Entra ID. A identidade do Windows pode então ser substituída pelas identidades equivalentes do Microsoft Entra. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Para obter mais informações: Recursos de segurança do Banco de dados SQL
XP_cmdshell
Título: xp_cmdshell
não tem suporte no Banco de Dados SQL do Azure.
Categoria: Edição
Descrição
xp_cmdshell
, que gera um shell de comando do Windows e passa uma cadeia de caracteres para execução, não tem suporte no Banco de Dados SQL do Azure.
Recomendação
Revise a seção de objetos afetados no Azure Migrate para ver todos os objetos que usam xp_cmdshell
e avaliar se a referência ou xp_cmdshell
o objeto afetado pode ser removido. Considere também explorar a Automação do Azure que fornece automação e serviço de configuração baseados em nuvem. Como alternativa, migre para o SQL Server na Máquina Virtual do Azure.
Conteúdos relacionados
- Guia de migração: SQL Server para o Banco de Dados SQL do Azure
- Serviço e ferramentas para migração de dados
- O que é a Base de Dados SQL do Azure?
- Calculadora de Custo Total de Propriedade do Azure
- Framework de Adoção da Cloud para o Azure
- Práticas recomendadas para cálculo de custos e dimensionamento de cargas de trabalho migram para o Azure
- Kit de ferramentas de migração de acesso a dados (visualização)
- Assistente de Experimentação de Bases de Dados
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários