Підвищуйте продуктивність розробника за допомогою інструментів та інтегрованих сервісів

Завершено

SQL Server 2025 надає розробникам функції та інструменти для роботи з даними, подіями та API. Цей розділ охоплює можливості розробки в SQL Server 2025.

Впровадьте функції збагачення даних

SQL Server 2025 суттєво покращує можливості збагачення даних кількома ключовими функціями:

Робота з рідним JSON

SQL Server 2025 пропонує покращену підтримку нативного JSON, дозволяючи зберігати, звертати запити та маніпулювати JSON безпосередньо в T-SQL. Нові функції, як JSON_OBJECT і JSON_VALUE спрощують роботу з напівструктурованими даними, а покращена індексація підвищує продуктивність для запитів JSON. Це спрощує змішування реляційних та ієрархічних даних для сучасних програм.

Підтримка JSON у SQL Server дозволяє зберігати та працювати з JSON-даними нативно.

  • Обробляйте JSON-документи безпосередньо в SQL Server
  • Запитуйте та оновлюйте JSON за допомогою T-SQL
  • Індексуйте властивості JSON для швидшої роботи
  • Перевірка JSON на рівні бази даних
  • Використовуйте тип даних JSON для суворого контролю за дотриманням типів

Наступний приклад показує, як SQL Server 2025 використовує новий тип даних JSON з автоматичною валідацією та крапковою нотацією, що дозволяє зберігати JSON у стовпці та звертати властивості запиту, такі як ім'я та ціна, безпосередньо в T-SQL без додаткових функцій.

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

Порада

Використовуйте цю ISJSON() функцію для перевірки даних JSON перед їх зберіганням у базі даних.

Інтегруйте REST API

SQL Server 2025 вводить вбудовану підтримку REST API, що дозволяє безпосередньо взаємодіяти з об'єктами бази даних через HTTP без додаткового проміжного програмного забезпечення. Розробники можуть показувати таблиці, перегляди та збережені процедури як RESTful кінцеві точки, що полегшує інтеграцію SQL Server із сучасними веб- та мобільними додатками. Ця функція підтримує безпечну автентифікацію, корисне навантаження JSON для введення та виведення, а також точний контроль над тим, які операції розкриваються. Це спрощує створення легких сервісів і мікросервісів, які використовують SQL Server як бекенд, водночас зменшуючи накладні витрати на розробку.

Операції REST API виконуються в базі даних, покращуючи безпеку та зменшуючи зовнішні залежності.

Функція Опис Приклад використання
Інтеграція з API Виклик зовнішніх API від T-SQL Збагачення даних за допомогою сторонніх служб
Аутентифікація через API Безпечні виклики API з керованими ідентифікаційними даними Connect to Azure services securely
Обробка відповідей Обробка відповідей JSON/XML за замовчуванням Автоматичне перетворення зовнішніх даних
Управління запитами Налаштування тайм-аутів і повторних спроб Забезпечте надійний обмін даними API

Використання операцій RegEx

SQL Server 2025 додає нативну підтримку регулярних виразів (RegEx) у T-SQL, що дозволяє ефективно підбирати шаблони та обробляти текст безпосередньо у запитах. Завдяки новим функціям, таким як REGEXP_MATCHES, REGEXP_REPLACEі REGEXP_LIKE, розробники можуть перевіряти введення, витягувати складні шаблони та виконувати розширені перетворення рядків, не покладаючись на CLR (Common Language Runtime) або зовнішні скрипти. Ця функція спрощує такі завдання, як очищення даних, валідація форматів і пошук динамічних шаблонів, роблячи SQL Server більш універсальним для сучасних сценаріїв обробки даних.

Підтримка регулярних виразів додає можливості зіставлення зі зразком:

Function Мета Приклад
REGEXP_MATCHES Перевірте, чи рядок збігається зі зразком Перевіряйте формати електронної пошти
REGEXP_REPLACE Заміна тексту за допомогою шаблонів Очистіть і стандартизуйте дані
REGEXP_EXTRACT Витягування відповідних підрядків Розбір структурованого тексту
REGEXP_LIKE Порівняння рядків на основі шаблону Фільтрування даних за допомогою шаблонів

Наступний приклад показує, як SQL Server 2025 може безпосередньо викликати зовнішні API за допомогою sp_invoke_external_service, надсилати POST-запит із динамічними даними та захищеними заголовками, а також захоплювати відповідь JSON для негайного використання в 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;

Наступний приклад показує, як SQL Server 2025 використовує функції RegEx, такі як REGEXP_MATCHES для перевірки форматів електронної пошти та REGEXP_REPLACE для стандартизації номерів телефонів, що дозволяє ефективно валідувати та трансформувати текст безпосередньо в 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;

Налаштування потокової трансляції подій

SQL Server 2025 вводить можливості нативного потокового потоку подій, дозволяючи даним у реальному часі надходити безпосередньо з бази даних до зовнішніх споживачів без складних ETL-конвеєрів. Використовуючи вбудовану підтримку протоколів потоку, ви можете публікувати зміни з таблиць, переглядів або запитів як безперервні потоки на платформи, такі як Azure Event Hubs.

Як налаштувати трансляцію подій змін

Переконайтеся, що ваш простір імен Azure Event Hubs коректно налаштований перед тим, як налаштовувати трансляцію подій змін.

Зміна трансляції подій забезпечує:

  • Зміни журналу транзакцій потоку безпосередньо до Azure Event Hubs
  • Зменшення накладних витрат на вводу/виводу порівняно з традиційним CDC
  • Увімкніть реплікацію даних у режимі реального часу
  • Підтримка подієво-орієнтованих архітектур

Деякі з ключових переваг трансляції подій змін включають:

  • Зменшена затримка: пряме потокове передавання з журналів транзакцій усуває потребу в проміжному сховищі
  • Менше використання ресурсів: оптимізовані операції вводу/виводу порівняно з CDC
  • Інтеграція зі штучним інтелектом у режимі реального часу: дозвольте агентам штучного інтелекту миттєво обробляти та реагувати на зміни даних
  • Масштабована архітектура: створена для обробки середовищ з великими обсягами транзакцій

Використовуйте інструменти та мови розробника

SQL Server 2025 розширює продуктивність розробників завдяки широкому підтримці мови та інструментів. Розробники можуть працювати з T-SQL разом із сучасними мовами, такими як Python, R і JavaScript, через інтегровані середовища виконання, що дозволяє просунуту аналітику та AI-робочі процеси безпосередньо в базі даних.

Розширені розширення Visual Studio надають багатші функції налагодження, IntelliSense та розгортання, тоді як нові інструменти CLI спрощують автоматизацію та Azure Pipelines. У поєднанні з кінцевими точками REST API та нативними можливостями JSON, RegEx та потокового обміну подій, SQL Server 2025 пропонує єдину платформу для ефективного створення сучасних додатків на основі даних.

Встановити драйвер Python

Новий драйвер Python для SQL Server 2025 пропонує:

  • Простий монтаж через pip: pip install mssql-python
  • Підтримка асинхронного/очікування для кращої продуктивності
  • Вбудований пул з'єднань
  • Підказки для кращої інтеграції IDE
  • Комплексна обробка помилок

Наступний фрагмент Python показує, як виконати асинхронний запит до бази даних SQL Server за допомогою Python. Він використовує бібліотеку mssql.async для встановлення неблокуючого з'єднання з connect('connection_string'), забезпечуючи ефективне управління ресурсами за допомогою асинхронності. Усередині з'єднання він створює курсор, виконує SQL-запит за допомогою SELECT TOP 10 * FROM Customers асинхронно з 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()

Покращуйте досвід роботи з VS Code за допомогою GitHub Copilot

Розширення MSSQL для Visual Studio Code тепер включає функції на базі ШІ через GitHub Copilot інтеграцію:

  • Інтелектуальна генерація SQL:

    • Повні SQL-запити на основі описів природною мовою
    • Пропонуйте оптимізовані шаблони запитів
    • Генерація модифікацій схеми бази даних
  • Дослідження розумної схеми:

    • Рекомендації щодо схем на основі штучного інтелекту
    • Автоматичне виявлення відносин
    • Аналіз впливу на зміну схеми
  • Оптимізація запитів:

    • Пропозиції щодо підвищення продуктивності
    • Рекомендації індексу
    • Аналіз плану виконання
  • Підтримка ORM:

    • Створення міграції Entity Framework
    • Пропозиція змін у моделі на основі схеми бази даних
    • Створення коду рівня доступу до даних

Використовуйте розширення MSSQL, щоб настроїти профіль підключення та відкрити новий редактор запитів. Коли ви починаєте вводити коментарі на кшталт:

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

Copilot автоматично читає задум і пропонує повний 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;

Натисніть Tab або Enter щоб прийняти пропозицію Copilot, або відредагуйте її для точності.

Ці функції дозволяють розробникам створювати більш складні, ефективні та підтримувані програми баз даних, одночасно підвищуючи продуктивність за допомогою штучного інтелекту та сучасних інструментів.