Partilhar via


Alterações de destaque às funcionalidades do Motor de Base de Dados no SQL Server 2025

Aplica-se a: SQL Server 2025 (17.x)

Este artigo descreve as mudanças marcantes nas funcionalidades do Motor de Base de Dados SQL Server introduzidas com o SQL Server 2025 (17.x). Essas alterações podem interromper aplicativos, scripts ou funcionalidades baseados em versões anteriores do SQL Server.

As conexões do servidor vinculado falham após uma atualização

O SQL Server 2025 (17.x) inclui alterações à encriptação que introduzem uma alteração disruptiva nos servidores ligados. Essas alterações podem interromper aplicativos, scripts ou funcionalidades baseados em versões anteriores do SQL Server.

Quando atualiza das versões anteriores do SQL Server para o SQL Server 2025 (17.x) com o Microsoft OLE DB Driver 19, as configurações existentes de servidores ligados podem falhar. Valores padrão diferentes para o parâmetro de criptografia podem causar essa falha, a menos que um certificado válido seja fornecido.

No SQL Server 2025 (17.x):

Para informações sobre como se ligar de forma segura a instâncias SQL Server 2025 (17.x), consulte TDS 8.0.

Os componentes de replicação falham após um upgrade

O SQL Server 2025 (17.x) inclui alterações na encriptação que introduzem uma alteração disruptiva na replicação Transacional, Instantânea, Ponto-a-ponto e Mesclagem.

Os componentes de replicação podem falhar após uma atualização para o SQL Server 2025 (17.x) a partir de qualquer versão anterior do SQL Server, se a sua instância do SQL Server:

  • Está configurado como um editor de replicação.
  • Tem um distribuidor remoto na topologia de replicação.
  • Não está configurado com um certificado confiável.

Poderá ver o seguinte comportamento após a atualização:

  • A replicação continua a ser bem-sucedida, mas as alterações na publicação falham.
  • O Monitor de Replicação no SQL Server Management Studio (SSMS) falha.
  • O status do agente na interface do usuário do SSMS falha.

Um distribuidor remoto usa um servidor vinculado para comunicação entre o editor e o distribuidor. O padrão seguro introduzido no SQL Server 2025 (17.x) do fornecedor OLEDB 19 exige que TrustServerCertificate=False.

Você pode resolver esse problema preventivamente antes de iniciar a atualização ou pode resolver o problema se os componentes de replicação falharem após uma atualização.

Antes de iniciar a atualização

Se você souber que sua instância do SQL Server enfrentará esse problema após uma atualização, poderá atenuar preventivamente a falha configurando a instância do SQL Server para usar um certificado comercial público ou um certificado de uma autoridade de certificação interna.

Esta é a opção recomendada para máxima segurança.

Componentes com falha após uma atualização

Se os componentes de replicação falharem após uma atualização, você ainda poderá configurar a instância do SQL Server para usar um certificado comercial público ou um certificado de uma autoridade de certificação interna.

Como alternativa, você pode escolher a opção menos segura para substituir o padrão seguro do provedor OLEDB 19 e definir trust_distributor_certificate=yes para que o distribuidor confie no certificado autoassinado.

Para substituir o novo padrão seguro, use o procedimento armazenado sp_changedistributor_property para definir a opção trust_distributor_certificate para yes.

EXECUTE sp_changedistributor_property
    @property = N'trust_distributor_certificate',
    @value = N'yes';

Observação

Os padrões seguros dizem respeito ao fornecedor OLEDB subjacente 19, que aumenta a segurança. A opção para substituir o padrão é menos segura do que configurar sua instância para usar um certificado confiável. Depois de substituir o padrão, pode optar por configurar o SQL Server para usar um certificado e, em seguida, usar o procedimento armazenado sp_changedistributor_property para redefinir a trust_distributor_certificate=no propriedade para o padrão seguro.

Falha ao adicionar um distribuidor de replicação remota

O SQL Server 2025 (17.x) inclui alterações à encriptação que introduzem uma alteração disruptiva na replicação Transacional, replicação de Captura Instantânea, replicação Peer-to-peer e replicação de Mesclagem.

Ao configurar um distribuidor para replicação, o procedimento armazenado sp_adddistributor falha quando:

  • O publicador é uma instância SQL Server 2025 (17.x).
  • O distribuidor é remoto.
  • O distribuidor não está configurado com um certificado confiável.

Você pode ver o seguinte erro ao executar sp_adddistributor na instância do editor:

OLE DB provider "MSOLEDBSQL19" for linked server "repl_distributor" returned message
"Client unable to establish connection".
Msg -2146893019, Level 16, State 1, Line 21
SSL Provider: The certificate chain was issued by an authority that is not trusted.

Um distribuidor remoto usa um servidor vinculado para comunicação entre o editor e o distribuidor. O padrão seguro introduzido no SQL Server 2025 (17.x) do provedor OLEDB 19 requer que TrustServerCertificate=False.

Para resolver esse problema, configure a instância do SQL Server do distribuidor para usar um certificado comercial público ou um certificado de uma autoridade de certificação interna.

Como alternativa, você pode escolher a opção menos segura para substituir o padrão seguro do provedor OLEDB 19 e definir TrustServerCertificate=True para que o distribuidor confie no certificado autoassinado. Para substituir o padrão, use o trust_distributor_certificate parâmetro ao chamar o sp_adddistributor procedimento armazenado:

EXECUTE sys.sp_adddistributor @trust_distributor_certificate = 'yes';

Observação

Os padrões seguros dizem respeito ao fornecedor OLEDB subjacente 19, que aumenta a segurança. A opção para substituir o padrão é menos segura do que configurar sua instância para usar um certificado confiável. Depois de substituir o padrão, pode optar por configurar o SQL Server para usar um certificado e, em seguida, usar o procedimento armazenado sp_changedistributor_property para redefinir a trust_distributor_certificate=no propriedade para o padrão seguro.

O monitoramento remoto de envio de logs pode falhar

O SQL Server 2025 (17.x) inclui alterações à encriptação que introduzem uma alteração significativa no transporte de registos. Você pode encontrar esses problemas ao atualizar.

A monitorização do envio de registos pode falhar se o monitor for uma instância remota do SQL Server 2025 (17.x), quando outras instâncias do SQL Server na topologia de envio de registos utilizam uma versão anterior.

Para informações sobre como se ligar de forma segura a instâncias SQL Server 2025 (17.x), consulte TDS 8.0.

Full-Text consultas e populações falham após a atualização

O SQL Server 2025 (17.x) remove todos os binários legados de quebra-palavras e filtros usados pelo Full-Text Search. Estes componentes são reconstruídos com um conjunto de ferramentas moderno e oferecem suporte alargado para mais linguagens e tipos de documentos. Os índices existentes após a atualização são designados com index_version = 1 conforme .sys.fulltext_indexes Os índices recém-criados são designados como versão 2 e utilizam os novos componentes, salvo indicação em contrário pelo uso da FULLTEXT_INDEX_VERSION configuração com âmbito definido para a base de dados.

Qualquer consulta Full-Text num índice da versão 1 falha em encontrar os binários quebradores de palavras no disco imediatamente após a atualização:

Msg 30010, Level 16, State 2, Line 8
An error has occurred during the full-text query. Common causes include: word-breaking errors or timeout, FDHOST permissions/ACL issues, service account missing privileges, malfunctioning IFilters, communication channel issues with FDHost and sqlservr.exe, etc. If recently performed in-place upgrade to SQL2025, For help please see https://aka.ms/sqlfulltext.

De forma semelhante, qualquer população de texto completo emitida num índice de versão 1 não consegue encontrar os binários de filtro no disco após a atualização.

Warning: No appropriate filter was found during full-text index population for table or indexed view '[db].[dbo].[table_name]' (table or indexed view ID '901578250', database ID '5'), full-text key value '1'. Some columns of the row were not indexed.

Reconstruir índices existentes com nova versão

A forma recomendada de continuar a usar os índices é reconstruí-los com os componentes mais recentes da versão 2.

-- Verify value = 2
SELECT *
FROM sys.database_scoped_configurations
WHERE [name] = 'FULLTEXT_INDEX_VERSION';

-- Per catalog upgrade
ALTER FULLTEXT CATALOG [FtCatalog] REBUILD;

A única forma de atualizar índices individuais sem reconstruir todo o catálogo é retirá-los e recriá-los.

Continua a usar a versão 1

Se for necessário manter a versão 1 para compatibilidade com a aplicação, primeiro certifique-se de definir FULLTEXT_INDEX_VERSION = 1 para evitar uma atualização não intencional na reconstrução.

ALTER DATABASE SCOPED CONFIGURATION
    SET FULLTEXT_INDEX_VERSION = 1;

Deve então copiar o word breaker antigo e filtrar binários de uma instância mais antiga para a pasta da binn instância de destino.