Nâng cao năng suất của nhà phát triển với các công cụ và dịch vụ tích hợp
SQL Server 2025 cung cấp các tính năng và công cụ để nhà phát triển làm việc với dữ liệu, sự kiện và API. Bài học này bao gồm các khả năng phát triển trong SQL Server 2025.
Triển khai các tính năng làm giàu dữ liệu
SQL Server 2025 cải thiện đáng kể khả năng làm giàu dữ liệu với một số tính năng chính:
Làm việc với JSON gốc
SQL Server 2025 cung cấp hỗ trợ JSON gốc được cải thiện, cho phép bạn lưu trữ, truy vấn và thao tác JSON trực tiếp trong T-SQL. Các chức năng mới như JSON_OBJECT và JSON_VALUE đơn giản hóa việc làm việc với dữ liệu bán cấu trúc, trong khi lập chỉ mục nâng cao giúp tăng hiệu suất cho các truy vấn JSON. Điều này làm cho việc kết hợp dữ liệu quan hệ và phân cấp dễ dàng hơn cho các ứng dụng hiện đại.
Hỗ trợ JSON trong SQL Server cho phép bạn lưu trữ và làm việc với dữ liệu JSON nguyên bản.
- Xử lý tài liệu JSON trực tiếp trong SQL Server
- Truy vấn và cập nhật JSON bằng T-SQL
- Lập chỉ mục thuộc tính JSON để có hiệu suất nhanh hơn
- Xác thực JSON ở cấp cơ sở dữ liệu
- Sử dụng kiểu dữ liệu JSON để thực thi loại nghiêm ngặt
Ví dụ sau đây cho thấy cách SQL Server 2025 sử dụng kiểu dữ liệu JSON mới với tính năng xác thực tự động và ký hiệu dấu chấm, cho phép bạn lưu trữ JSON trong một cột và truy vấn các thuộc tính như tên và giá trực tiếp trong T-SQL mà không cần thêm chức năng.
-- 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;
Tiền bo
Sử dụng hàm này ISJSON() để xác thực dữ liệu JSON trước khi lưu trữ trong cơ sở dữ liệu.
Tích hợp API REST
SQL Server 2025 giới thiệu hỗ trợ REST API tích hợp, cho phép tương tác trực tiếp với các đối tượng cơ sở dữ liệu qua HTTP mà không cần thêm phần mềm trung gian. Các nhà phát triển có thể hiển thị bảng, dạng xem và thủ tục được lưu trữ dưới dạng điểm cuối RESTful, giúp tích hợp SQL Server với các ứng dụng web và di động hiện đại dễ dàng hơn. Tính năng này hỗ trợ xác thực an toàn, tải trọng JSON cho đầu vào và đầu ra cũng như kiểm soát chi tiết các hoạt động được hiển thị. Điều này giúp đơn giản hóa việc xây dựng các dịch vụ nhẹ và vi dịch vụ sử dụng SQL Server làm phần phụ trợ đồng thời giảm chi phí phát triển.
Các hoạt động API REST được thực hiện trong cơ sở dữ liệu, cải thiện bảo mật và giảm sự phụ thuộc bên ngoài.
| Đặc điểm | Mô tả | Ví dụ về trường hợp sử dụng |
|---|---|---|
| Tích hợp API | Gọi API bên ngoài từ T-SQL | Làm phong phú dữ liệu với các dịch vụ không phải của Microsoft |
| Xác thực API | Bảo mật lệnh gọi API với danh tính được quản lý | Kết nối với các dịch vụ Azure một cách an toàn |
| Xử lý phản hồi | Xử lý phản hồi JSON/XML nguyên bản | Tự động chuyển đổi dữ liệu bên ngoài |
| Quản lý yêu cầu | Đặt cấu hình thời gian chờ và thử lại | Đảm bảo giao tiếp API đáng tin cậy |
Sử dụng các thao tác RegEx
SQL Server 2025 bổ sung hỗ trợ gốc cho biểu thức chính quy (RegEx) trong T-SQL, cho phép khớp mẫu mạnh mẽ và thao tác văn bản trực tiếp trong các truy vấn. Với các chức năng mới như REGEXP_MATCHES, REGEXP_REPLACE, và REGEXP_LIKE, các nhà phát triển có thể xác thực đầu vào, trích xuất các mẫu phức tạp và thực hiện các chuyển đổi chuỗi nâng cao mà không cần dựa vào CLR (Common Language Runtime) hoặc các tập lệnh bên ngoài. Tính năng này đơn giản hóa các tác vụ như làm sạch dữ liệu, xác thực định dạng và tìm kiếm các mẫu động, giúp SQL Server linh hoạt hơn cho các tình huống xử lý dữ liệu hiện đại.
Hỗ trợ biểu thức chính quy bổ sung khả năng đối sánh mẫu:
| Hàm | Mục đích | Ví dụ: |
|---|---|---|
| REGEXP_MATCHES | Kiểm tra xem một chuỗi có khớp với một mẫu hay không | Xác thực định dạng email |
| REGEXP_REPLACE | Thay thế văn bản bằng cách sử dụng mẫu | Làm sạch và chuẩn hóa dữ liệu |
| REGEXP_EXTRACT | Trích xuất các chuỗi con phù hợp | Phân tích cú pháp văn bản có cấu trúc |
| REGEXP_LIKE | So sánh chuỗi dựa trên mẫu | Lọc dữ liệu bằng cách sử dụng các mẫu |
Ví dụ sau đây cho thấy cách SQL Server 2025 có thể gọi trực tiếp các API bên ngoài bằng cách sử dụng sp_invoke_external_service, gửi yêu cầu POST với dữ liệu động và tiêu đề bảo mật, đồng thời ghi lại phản hồi JSON để sử dụng ngay lập tức trong 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;
Ví dụ sau đây cho thấy cách SQL Server 2025 sử dụng các hàm RegEx như REGEXP_MATCHES để xác thực định dạng email và REGEXP_REPLACE để chuẩn hóa số điện thoại, cho phép xác thực và chuyển đổi văn bản mạnh mẽ trực tiếp trong 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;
Định cấu hình phát trực tuyến sự kiện
SQL Server 2025 giới thiệu khả năng phát trực tuyến sự kiện gốc, cho phép dữ liệu thời gian thực truyền trực tiếp từ cơ sở dữ liệu đến người tiêu dùng bên ngoài mà không cần quy trình ETL phức tạp. Sử dụng hỗ trợ tích hợp cho các giao thức phát trực tuyến, bạn có thể phát hành các thay đổi từ bảng, dạng xem hoặc truy vấn dưới dạng luồng liên tục lên các nền tảng như Azure Event Hubs.
Thiết lập phát trực tiếp sự kiện thay đổi
Đảm bảo không gian tên Azure Event Hubs của bạn được định cấu hình đúng cách trước khi thiết lập phát trực tiếp sự kiện thay đổi.
Thay đổi tính năng phát trực tiếp sự kiện cung cấp:
- Truyền trực tiếp các thay đổi nhật ký giao dịch đến Azure Event Hubs
- Giảm chi phí I/O so với CDC truyền thống
- Cho phép sao chép dữ liệu theo thời gian thực
- Hỗ trợ kiến trúc theo hướng sự kiện
Một số lợi ích chính của phát trực tuyến sự kiện thay đổi bao gồm:
- Giảm độ trễ: Truyền trực tiếp từ nhật ký giao dịch giúp loại bỏ nhu cầu lưu trữ trung gian
- Sử dụng tài nguyên thấp hơn: Hoạt động I/O được tối ưu hóa so với CDC
- Tích hợp AI thời gian thực: Cho phép các tác nhân AI xử lý và phản ứng với các thay đổi dữ liệu ngay lập tức
- Kiến trúc có thể mở rộng: Được xây dựng để xử lý các môi trường giao dịch khối lượng lớn
Sử dụng các công cụ và ngôn ngữ dành cho nhà phát triển
SQL Server 2025 mở rộng năng suất của nhà phát triển với hỗ trợ công cụ và ngôn ngữ rộng rãi. Các nhà phát triển có thể làm việc với T-SQL cùng với các ngôn ngữ hiện đại như Python, R và JavaScript thông qua môi trường thời gian chạy tích hợp, cho phép phân tích nâng cao và quy trình làm việc AI trực tiếp trong cơ sở dữ liệu.
Các tiện ích mở rộng Visual Studio nâng cao cung cấp các tính năng gỡ lỗi, IntelliSense và triển khai phong phú hơn, trong khi các công cụ CLI mới đơn giản hóa tự động hóa và Azure Pipelines. Kết hợp với các điểm cuối API REST và khả năng phát trực tuyến JSON, RegEx và sự kiện gốc, SQL Server 2025 cung cấp một nền tảng thống nhất để xây dựng các ứng dụng hiện đại, dựa trên dữ liệu một cách hiệu quả.
Cài đặt trình điều khiển Python
Trình điều khiển Python mới cho SQL Server 2025 cung cấp:
- Cài đặt đơn giản qua pip:
pip install mssql-python - Hỗ trợ không đồng bộ/chờ để có hiệu suất tốt hơn
- Kết nối tích hợp
- Gợi ý loại để tích hợp IDE tốt hơn
- Xử lý lỗi toàn diện
Đoạn mã Python sau đây cho thấy cách thực hiện truy vấn không đồng bộ đối với cơ sở dữ liệu SQL Server bằng Python. Nó sử dụng thư mssql.async viện để thiết lập kết nối không chặn với connect('connection_string'), đảm bảo quản lý tài nguyên hiệu quả với không đồng bộ. Bên trong kết nối, nó tạo một con trỏ, thực hiện truy vấn SQL bằng cách sử dụng SELECT TOP 10 * FROM Customers không đồng bộ với await cursor.execute(), và truy xuất tất cả các kết quả bằng cách sử dụng 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()
Nâng cao trải nghiệm VS Code với GitHub Copilot
Tiện ích mở rộng MSSQL cho Visual Studio Code hiện bao gồm các tính năng được hỗ trợ bởi AI thông qua tích hợp GitHub Copilot:
Tạo SQL thông minh:
- Hoàn thành các truy vấn SQL dựa trên mô tả ngôn ngữ tự nhiên
- Đề xuất các mẫu truy vấn được tối ưu hóa
- Tạo sửa đổi lược đồ cơ sở dữ liệu
Khám phá lược đồ thông minh:
- Đề xuất lược đồ do AI cung cấp
- Tự động phát hiện mối quan hệ
- Phân tích tác động cho các thay đổi lược đồ
Tối ưu hóa truy vấn:
- Đề xuất cải thiện hiệu suất
- Đề xuất chỉ mục
- Phân tích kế hoạch thực hiện
Hỗ trợ ORM:
- Tạo di chuyển Entity Framework
- Đề xuất thay đổi mô hình dựa trên lược đồ cơ sở dữ liệu
- Tạo mã lớp truy cập dữ liệu
Sử dụng tiện ích mở rộng MSSQL để thiết lập cấu hình kết nối của bạn và mở trình chỉnh sửa truy vấn mới. Khi bạn bắt đầu nhập các nhận xét như:
-- Find all customers who made purchases in the last 30 days
-- and calculate their total spending
Copilot đọc ý định và tự động đề xuất truy vấn SQL đầy đủ.
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;
Nhấn Tab hoặc Enter để chấp nhận đề xuất của Copilot hoặc chỉnh sửa cho chính xác.
Các tính năng này cho phép các nhà phát triển xây dựng các ứng dụng cơ sở dữ liệu phức tạp, hiệu quả và có thể bảo trì hơn đồng thời cải thiện năng suất thông qua hỗ trợ AI và công cụ hiện đại.