Zwiększanie produktywności deweloperów za pomocą narzędzi i zintegrowanych usług

Ukończone

SQL Server 2025 udostępnia funkcje i narzędzia dla deweloperów do pracy z danymi, zdarzeniami i interfejsami API. W tej lekcji omówiono możliwości programowania w SQL Server 2025 r.

Implementowanie funkcji wzbogacania danych

SQL Server 2025 znacznie poprawia możliwości wzbogacania danych o kilka kluczowych funkcji:

Praca z natywnym kodem JSON

SQL Server 2025 oferuje ulepszoną natywną obsługę kodu JSON, umożliwiając przechowywanie, wykonywanie zapytań i manipulowanie formatem JSON bezpośrednio w języku T-SQL. Nowe funkcje, takie jak JSON_OBJECT i JSON_VALUE upraszczają pracę z danymi częściowo ustrukturyzowanymi, a ulepszone indeksowanie zwiększa wydajność zapytań JSON. Ułatwia to łączenie danych relacyjnych i hierarchicznych w nowoczesnych aplikacjach.

JSON obsługa SQL Server umożliwia przechowywanie i pracę z danymi JSON natywnie.

  • Przetwarzanie dokumentów JSON bezpośrednio w SQL Server
  • Wykonywanie zapytań i aktualizowanie kodu JSON przy użyciu języka T-SQL
  • Właściwości indeksu JSON w celu zwiększenia wydajności
  • Weryfikowanie kodu JSON na poziomie bazy danych
  • Użyj typu danych JSON do ścisłego wymuszania typu

W poniższym przykładzie pokazano, jak SQL Server 2025 używa nowego typu danych JSON z automatyczną walidacją i notacją kropkową, umożliwiając przechowywanie danych JSON w kolumnie i właściwościach zapytania, takich jak nazwa i cena bezpośrednio w języku T-SQL bez dodatkowych funkcji.

-- 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;

Wskazówka

ISJSON() Użyj funkcji , aby zweryfikować dane JSON przed zapisaniem ich w bazie danych.

Integrowanie interfejsów API REST

SQL Server 2025 wprowadzono wbudowaną obsługę interfejsu API REST, umożliwiając bezpośrednią interakcję z obiektami bazy danych za pośrednictwem protokołu HTTP bez dodatkowego oprogramowania pośredniczącego. Deweloperzy mogą uwidaczniać tabele, widoki i procedury składowane jako punkty końcowe RESTful, co ułatwia integrację SQL Server z nowoczesnymi aplikacjami internetowymi i mobilnymi. Funkcja obsługuje bezpieczne uwierzytelnianie, ładunki JSON dla danych wejściowych i wyjściowych oraz szczegółową kontrolę nad tym, które operacje są uwidocznione. Upraszcza to tworzenie uproszczonych usług i mikrousług korzystających z SQL Server jako zaplecza przy jednoczesnym zmniejszeniu nakładu pracy związanego z programowaniem.

Operacje interfejsu API REST są wykonywane w bazie danych, poprawiając bezpieczeństwo i zmniejszając zależności zewnętrzne.

Funkcja Opis Przykładowy przypadek użycia
Integracja interfejsu API Wywoływanie zewnętrznych interfejsów API z języka T-SQL Wzbogacanie danych za pomocą usług innych niż microsoft
Uwierzytelnianie interfejsu API Bezpieczne wywołania interfejsu API za pomocą tożsamości zarządzanych Bezpieczne nawiązywanie połączenia z usługami Azure
Obsługa odpowiedzi Przetwarzanie odpowiedzi JSON/XML natywnie Automatyczne przekształcanie danych zewnętrznych
Zarządzanie żądaniami Konfigurowanie limitów czasu i ponownych prób Zapewnianie niezawodnej komunikacji interfejsu API

Użyj operacji wyrażeń regularnych

SQL Server 2025 dodaje natywną obsługę wyrażeń regularnych (RegEx) w języku T-SQL, umożliwiając zaawansowane dopasowywanie wzorców i manipulowanie tekstem bezpośrednio w zapytaniach. Dzięki nowym funkcjom, takich jak REGEXP_MATCHES, REGEXP_REPLACEi REGEXP_LIKE, deweloperzy mogą weryfikować dane wejściowe, wyodrębniać złożone wzorce i wykonywać zaawansowane przekształcenia ciągów bez polegania na środowisku CLR (Common Language Runtime) lub skryptach zewnętrznych. Ta funkcja upraszcza zadania, takie jak czyszczenie danych, walidacja formatu i wyszukiwanie wzorców dynamicznych, dzięki czemu SQL Server bardziej wszechstronny w nowoczesnych scenariuszach przetwarzania danych.

Obsługa wyrażeń regularnych dodaje funkcje dopasowywania wzorców:

Funkcja Przeznaczenie Example
REGEXP_MATCHES Testowanie, czy ciąg pasuje do wzorca Weryfikowanie formatów poczty e-mail
REGEXP_REPLACE Zastępowanie tekstu przy użyciu wzorców Czyszczenie i standaryzacja danych
REGEXP_EXTRACT Wyodrębnianie pasujących podciągów Analizowanie tekstu strukturalnego
REGEXP_LIKE Porównanie ciągów opartych na wzorcu Filtrowanie danych przy użyciu wzorców

W poniższym przykładzie pokazano, jak SQL Server 2025 może wywoływać zewnętrzne interfejsy API bezpośrednio przy użyciu sp_invoke_external_service, wysyłając żądanie POST z dynamicznymi danymi i bezpiecznymi nagłówkami oraz przechwytując odpowiedź JSON w celu natychmiastowego użycia w języku 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;

W poniższym przykładzie pokazano, jak SQL Server 2025 używa funkcji RegEx, takich jak REGEXP_MATCHES do weryfikowania formatów poczty e-mail i REGEXP_REPLACE w celu standaryzacji numerów telefonów, umożliwiając zaawansowaną walidację tekstu i transformację bezpośrednio w języku 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;

Konfigurowanie przesyłania strumieniowego zdarzeń

SQL Server 2025 r. wprowadza natywne możliwości przesyłania strumieniowego zdarzeń, umożliwiając przepływ danych w czasie rzeczywistym bezpośrednio z bazy danych do zewnętrznych odbiorców bez złożonych potoków ETL. Korzystając z wbudowanej obsługi protokołów przesyłania strumieniowego, można publikować zmiany z tabel, widoków lub zapytań jako ciągłe strumienie na platformy, takie jak Azure Event Hubs.

Ustawienie strumieniowego przesyłania zdarzeń zmian

Przed skonfigurowaniem przesyłania strumieniowego zdarzeń zmiany upewnij się, że Azure Event Hubs przestrzeń nazw jest prawidłowo skonfigurowana.

Strumieniowe przesyłanie zdarzeń zmiany zapewnia:

  • Przesyłaj zmiany w dzienniku transakcji bezpośrednio do Azure Event Hubs
  • Zmniejszenie obciążenia we/wy w porównaniu z tradycyjną usługą CDC
  • Włączanie replikacji danych w czasie rzeczywistym
  • Obsługa architektur sterowanych zdarzeniami

Oto niektóre z kluczowych zalet strumieniowania zmian zdarzeń:

  • Mniejsze opóźnienie: bezpośrednie przesyłanie strumieniowe z dzienników transakcji eliminuje konieczność magazynowania pośredniego
  • Mniejsze użycie zasobów: zoptymalizowane operacje we/wy w porównaniu z CDC
  • Integracja sztucznej inteligencji w czasie rzeczywistym: Umożliwianie agentom sztucznej inteligencji natychmiastowego przetwarzania i reagowania na zmiany danych
  • Skalowalna architektura: skompilowana do obsługi środowisk transakcji o dużej ilości

Korzystanie z narzędzi deweloperskich i języków

SQL Server 2025 r. rozszerza produktywność deweloperów dzięki szerokiej obsłudze języków i narzędzi. Deweloperzy mogą pracować z językiem T-SQL wraz z nowoczesnymi językami, takimi jak Python, R i JavaScript, za pomocą zintegrowanych środowisk uruchomieniowych, umożliwiając zaawansowane przepływy pracy analizy i sztucznej inteligencji bezpośrednio w bazie danych.

Ulepszone rozszerzenia Visual Studio zapewniają bogatsze debugowanie, funkcję IntelliSense i funkcje wdrażania, a nowe narzędzia interfejsu wiersza polecenia upraszczają automatyzację i Azure Pipelines. W połączeniu z punktami końcowymi interfejsu API REST i natywnymi funkcjami przesyłania strumieniowego JSON, RegEx i zdarzeń SQL Server 2025 oferuje ujednoliconą platformę do wydajnego tworzenia nowoczesnych aplikacji opartych na danych.

Instalowanie sterownika Python

Nowy sterownik Python dla SQL Server 2025 oferuje:

  • Prosta instalacja za pomocą pip: pip install mssql-python
  • Obsługa mechanizmu async/await dla poprawy wydajności
  • Wbudowane buforowanie połączeń
  • Wskazówki dotyczące typów w celu uzyskania lepszej integracji środowiska IDE
  • Kompleksowa obsługa błędów

Poniższy fragment kodu Python pokazuje, jak wykonać zapytanie asynchroniczne względem bazy danych SQL Server przy użyciu Python. Używa biblioteki mssql.async do ustanowienia nieblokującego połączenia z connect('connection_string'), zapewniając wydajne zarządzanie zasobami z pomocą asynchroniczności. Wewnątrz połączenia tworzy kursor, wykonuje asynchronicznie zapytanie SQL używając SELECT TOP 10 * FROM Customers, i pobiera wszystkie wyniki przy użyciu await cursor.execute()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()

Ulepszanie środowiska programu VS Code za pomocą GitHub Copilot

Rozszerzenie MSSQL dla Visual Studio Code zawiera teraz funkcje oparte na sztucznej inteligencji za pośrednictwem integracji GitHub Copilot:

  • Inteligentne generowanie kodu SQL:

    • Wykonywanie zapytań SQL na podstawie opisów języka naturalnego
    • Sugerowanie zoptymalizowanych wzorców zapytań
    • Generowanie modyfikacji schematu bazy danych
  • Eksploracja inteligentnego schematu:

    • Zalecenia dotyczące schematu opartego na sztucznej inteligencji
    • Automatyczne wykrywanie relacji
    • Analiza wpływu zmian schematu
  • Optymalizacja zapytań:

    • Sugestie dotyczące poprawy wydajności
    • Rekomendacje dotyczące indeksów
    • Analiza planu wykonania
  • Obsługa ORM:

    • Generowanie migracji programu Entity Framework
    • Sugerowanie zmian modelu na podstawie schematu bazy danych
    • Tworzenie kodu warstwy dostępu do danych

Użyj rozszerzenia MSSQL, aby skonfigurować profil połączenia i otworzyć nowy edytor zapytań. Po rozpoczęciu wpisywania komentarzy, takich jak:

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

Copilot odczytuje intencję i sugeruje automatyczne pełne zapytanie SQL.

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;

Naciśnij Tab lub Enter, aby zaakceptować sugestię Copilot lub edytować ją w celu uzyskania dokładności.

Te funkcje umożliwiają deweloperom tworzenie bardziej zaawansowanych, wydajnych i konserwowalnych aplikacji baz danych przy jednoczesnym zwiększeniu produktywności dzięki pomocy sztucznej inteligencji i nowoczesnym narzędziom.