Elevar a produtividade do desenvolvedor com ferramentas e serviços integrados

Concluído

O SQL Server 2025 fornece recursos e ferramentas para os desenvolvedores trabalharem com dados, eventos e APIs. Esta unidade aborda os recursos de desenvolvimento no SQL Server 2025.

Implementar recursos de enriquecimento de dados

O SQL Server 2025 melhora significativamente os recursos de enriquecimento de dados com vários recursos importantes:

Trabalhar com JSON nativo

O SQL Server 2025 oferece suporte JSON nativo aprimorado, permitindo que você armazene, consulte e manipule JSON diretamente no T-SQL. Novas funções como JSON_OBJECT e JSON_VALUE simplificam o trabalho com dados semiestruturados, enquanto a indexação aprimorada aumenta o desempenho de consultas JSON. Isso facilita a mesclagem de dados relacionais e hierárquicos para aplicativos modernos.

O suporte JSON no SQL Server permite que você armazene e trabalhe com dados JSON nativamente.

  • Processar documentos JSON diretamente no SQL Server
  • Consultar e atualizar JSON usando T-SQL
  • Indexar propriedades JSON para um desempenho mais rápido
  • Validar JSON no nível do banco de dados
  • Usar o tipo de dados JSON para impor tipos de forma rigorosa

O exemplo a seguir mostra como o SQL Server 2025 usa o novo tipo de dados JSON com validação automática e notação de ponto, permitindo que você armazene JSON em uma coluna e consulte propriedades como nome e preço diretamente no T-SQL sem funções extras.

-- Create a table with a JSON column
CREATE TABLE Products (
    ProductId int PRIMARY KEY,
    ProductData JSON
);

-- Insert valid JSON data with automatic validation
INSERT INTO Products (ProductId, ProductData)
VALUES (1, '{"name": "Widget", "price": 19.99, "features": ["durable", "lightweight"]}');

-- Query JSON properties using dot notation
SELECT 
    ProductId,
    ProductData.name,
    ProductData.price
FROM Products;

Dica

Use a ISJSON() função para validar dados JSON antes de armazená-los no banco de dados.

Integrar APIs REST

O SQL Server 2025 apresenta suporte interno à API REST, permitindo a interação direta com objetos de banco de dados via HTTP sem middleware extra. Os desenvolvedores podem expor tabelas, exibições e procedimentos armazenados como pontos de extremidade RESTful, facilitando a integração do SQL Server com aplicativos web e móveis modernos. O recurso dá suporte à autenticação segura, cargas JSON para entrada e saída e controle refinado sobre quais operações são expostas. Isso simplifica a criação de serviços leves e microsserviços que usam o SQL Server como um back-end, reduzindo a sobrecarga de desenvolvimento.

As operações da API REST são executadas no banco de dados, melhorando a segurança e reduzindo as dependências externas.

Característica Description Exemplo de Caso de Uso
Integração de API Chamar APIs externas do T-SQL Enriquecer dados com serviços que não são da Microsoft
Autenticação de API Proteger chamadas à API com identidades gerenciadas Conectar-se aos serviços do Azure com segurança
Tratamento de resposta Processar respostas JSON/XML nativamente Transformar dados externos automaticamente
Gerenciamento de solicitações Configurar tempos limite e novas tentativas Garantir uma comunicação de API confiável

Usar operações RegEx

O SQL Server 2025 adiciona suporte nativo para expressões regulares (RegEx) no T-SQL, permitindo uma correspondência avançada de padrões e manipulação de texto diretamente em consultas. Com novas funções, como REGEXP_MATCHES, REGEXP_REPLACEe REGEXP_LIKE, os desenvolvedores podem validar a entrada, extrair padrões complexos e executar transformações de cadeia de caracteres avançadas sem depender de CLR (Common Language Runtime) ou scripts externos. Esse recurso simplifica tarefas como limpeza de dados, validação de formato e pesquisa de padrões dinâmicos, tornando o SQL Server mais versátil para cenários modernos de processamento de dados.

O suporte a expressões regulares adiciona recursos de correspondência de padrões:

Função Propósito Example
REGEXP_MATCHES Testar se uma cadeia de caracteres corresponde a um padrão Validar formatos de email
REGEXP_REPLACE Substituir texto usando padrões Limpar e padronizar dados
REGEXP_EXTRACT Extrair as subcadeias correspondentes Analisar texto estruturado
REGEXP_LIKE Comparação de cadeia de caracteres baseada em padrão Filtrar dados usando padrões

O exemplo a seguir mostra como o SQL Server 2025 pode chamar APIs externas diretamente usando sp_invoke_external_service, enviando uma solicitação POST com dados dinâmicos e cabeçalhos seguros e capturando a resposta JSON para uso imediato no T-SQL.

-- Call an external API to enrich customer data
DECLARE @apiResponse JSON;
EXEC sp_invoke_external_service 
    @service_name = 'CustomerEnrichment',
    @url = 'https://api.example.com/enrich',
    @method = 'POST',
    @headers = '{"Authorization": "Bearer {{azure_token}}"}',
    @request_body = '{"customerId": @customerId}',
    @response = @apiResponse OUTPUT;

O exemplo a seguir mostra como o SQL Server 2025 usa funções RegEx como REGEXP_MATCHES validar formatos de email e REGEXP_REPLACE padronizar números de telefone, permitindo validação e transformação de texto avançadas diretamente no T-SQL.

-- Validate email addresses using RegEx
SELECT 
    CustomerID,
    Email,
    CASE 
        WHEN Email REGEXP_MATCHES '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
        THEN 'Valid'
        ELSE 'Invalid'
    END AS EmailStatus
FROM Customers;

-- Standardize phone numbers using RegEx
SELECT 
    PhoneNumber,
    REGEXP_REPLACE(
        PhoneNumber,
        '^\+?1?[-. ]?(\d{3})[-. ]?(\d{3})[-. ]?(\d{4})$',
        '($1) $2-$3'
    ) AS FormattedPhone
FROM Contacts;

Configurar o streaming de eventos

O SQL Server 2025 apresenta recursos de streaming de eventos nativos, permitindo que os dados em tempo real fluam diretamente do banco de dados para consumidores externos sem pipelines ETL complexos. Usando o suporte interno para protocolos de streaming, você pode publicar alterações de tabelas, exibições ou consultas como fluxos contínuos para plataformas como Hubs de Eventos do Azure.

Configurar o streaming de eventos de alteração

Verifique se o namespace dos Hubs de Eventos do Azure está configurado corretamente antes de configurar o streaming de eventos de alteração.

O streaming de eventos de alteração fornece:

  • Transmitir alterações de log de transações diretamente para os Hubs de Eventos do Azure
  • Reduzir a sobrecarga de E/S em comparação com o CDC tradicional
  • Habilitar a replicação de dados em tempo real
  • Dar suporte a arquiteturas controladas por eventos

Alguns dos principais benefícios do streaming de eventos de mudança incluem:

  • Latência reduzida: o streaming direto dos logs de transações elimina a necessidade de armazenamento intermediário
  • Menor uso de recursos: operações de E/S otimizadas em comparação com CDC
  • Integração de IA em tempo real: habilitar agentes de IA para processar e reagir às alterações de dados instantaneamente
  • Arquitetura escalonável: criada para lidar com ambientes de transação de alto volume

Usar ferramentas e idiomas para desenvolvedores

O SQL Server 2025 expande a produtividade do desenvolvedor com amplo suporte a ferramentas e linguagens. Os desenvolvedores podem trabalhar com o T-SQL juntamente com linguagens modernas como Python, R e JavaScript por meio de ambientes de runtime integrados, permitindo análises avançadas e fluxos de trabalho de IA diretamente no banco de dados.

As extensões aprimoradas do Visual Studio fornecem recursos mais avançados de depuração, IntelliSense e implantação, enquanto novas ferramentas da CLI simplificam a automação e o Azure Pipelines. Combinado com pontos de extremidade da API REST e recursos nativos de JSON, RegEx e streaming de eventos, o SQL Server 2025 oferece uma plataforma unificada para criar aplicativos modernos e controlados por dados com eficiência.

Instalar o driver do Python

O novo driver Python para SQL Server 2025 oferece:

  • Instalação simples por meio do pip: pip install mssql-python
  • Suporte para async/await visando melhor desempenho
  • Agrupamento de conexões interno
  • Dicas de tipo para melhor integração com o IDE
  • Tratamento abrangente de erros

O snippet do Python a seguir mostra como executar uma consulta assíncrona em um banco de dados do SQL Server usando Python. Usa a biblioteca mssql.async para estabelecer uma conexão não bloqueante com connect('connection_string'), garantindo gerenciamento eficiente de recursos com async. Dentro da conexão, ele cria um cursor, executa uma consulta SQL usando SELECT TOP 10 * FROM Customers de forma await cursor.execute()assíncrona e recupera todos os resultados usando await cursor.fetchall().

from mssql.async import connect

async with connect('connection_string') as conn:
    async with conn.cursor() as cursor:
        await cursor.execute('SELECT TOP 10 * FROM Customers')
        results = await cursor.fetchall()

Aprimorar a experiência do VS Code com o GitHub Copilot

A extensão MSSQL para Visual Studio Code agora inclui recursos de IA por meio da integração do GitHub Copilot:

  • Geração de SQL inteligente:

    • Concluir consultas SQL com base em descrições de linguagem natural
    • Sugerir padrões de consulta otimizados
    • Gerar modificações de esquema de banco de dados
  • Exploração de esquema inteligente:

    • Recomendações de estrutura alimentadas por IA
    • Detecção automática de relação
    • Análise de impacto para alterações de esquema
  • Otimização de consulta:

    • Sugestões de melhoria de desempenho
    • Recomendações de índice
    • Análise do plano de execução
  • Suporte a ORM:

    • Gerar migrações do Entity Framework
    • Sugerir alterações de modelo com base no esquema de banco de dados
    • Criar código de camada de acesso a dados

Use a extensão MSSQL para configurar seu perfil de conexão e abrir um novo editor de consultas. Quando você começa a digitar comentários como:

-- Find all customers who made purchases in the last 30 days
-- and calculate their total spending

Copilot lê a intenção e sugere uma consulta SQL completa automaticamente.

SELECT 
    c.CustomerID,
    c.Name,
    COUNT(o.OrderID) as OrderCount,
    SUM(o.TotalAmount) as TotalSpending
FROM 
    Customers c
    JOIN Orders o ON c.CustomerID = o.CustomerID
WHERE 
    o.OrderDate >= DATEADD(day, -30, GETDATE())
GROUP BY 
    c.CustomerID,
    c.Name
HAVING 
    COUNT(o.OrderID) > 0
ORDER BY 
    TotalSpending DESC;

Pressione Tab ou Enter para aceitar a sugestão do Copilot ou editá-la para precisão.

Esses recursos permitem que os desenvolvedores criem aplicativos de banco de dados mais sofisticados, eficientes e manteneveis, melhorando a produtividade por meio da assistência de IA e ferramentas modernas.