Підвищуйте продуктивність розробника за допомогою інструментів та інтегрованих сервісів
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, або відредагуйте її для точності.
Ці функції дозволяють розробникам створювати більш складні, ефективні та підтримувані програми баз даних, одночасно підвищуючи продуктивність за допомогою штучного інтелекту та сучасних інструментів.