Bỏ qua, đến nội dung

Hướng dẫn cài đặt và cấu hình — Microsoft SQL Server Data Source

Yêu cầu hệ thống

  • Server Digiforce đang hoạt động
  • Microsoft SQL Server 2016 trở lên hoặc Azure SQL Database
  • Plugin data-source-manager đã được kích hoạt (bắt buộc)
  • Mạng: server Digiforce có thể kết nối đến SQL Server (mở firewall port 1433)
  • SQL Server đã bật TCP/IP protocol (mặc định có thể bị tắt trên SQL Server Express)

Lưu ý

Plugin yêu cầu data-source-manager phải được bật trước. Nếu chưa bật, hệ thống sẽ báo lỗi khi kích hoạt.

Bước 1: Kích hoạt Plugin

  1. Vào Settings → Plugin Manager
  2. Tìm plugin-data-source-external-mssql
  3. Bật toggle để kích hoạt

Plugin đăng ký type mssql vào DataSourceManager.factory và đăng ký dialect MssqlDialect vào Database.

Bước 2: Tạo Data Source mới

  1. Vào Settings → Data sources
  2. Nhấn Add new
  3. Chọn loại MSSQL
  4. Điền thông tin kết nối:
TrườngBắt buộcMô tảGiá trị mặc định
Data source nameTên định danh (chữ, số, gạch dưới)
Data source display nameTên hiển thị
HostĐịa chỉ server SQL Server
PortCổng kết nối1433
DatabaseTên database
UsernameTên đăng nhập SQL Auth
PasswordKhôngMật khẩu
Table prefixKhôngTiền tố bảng (để lọc)
Encrypt connectionKhôngMã hóa kết nối TLSfalse
Trust server certificateKhôngTin tưởng certificate server (cho self-signed)false
EnabledBật/tắt data sourcetrue

Mẹo

Các trường cấu hình hỗ trợ biến môi trường thông qua component TextAreaWithGlobalScope. Bạn có thể dùng {{env.MSSQL_HOST}} thay vì hardcode.

Ngoài ra, biến môi trường MSSQL_TRUST_SERVER_CERTIFICATE nếu được set sẽ tự động bật trustServerCertificate.

Bước 3: Kiểm tra kết nối

Nhấn Test connection để xác nhận kết nối. Plugin sử dụng driver tedious (TDS protocol) để kết nối đến SQL Server.

Bước 4: Chọn bảng

Sau khi lưu, plugin tự động introspect schema:

  1. Kết nối đến SQL Server
  2. Query sys.tables, sys.columns để liệt kê bảng và cột
  3. Map kiểu cột SQL Server sang field type Digiforce
  4. Hiển thị danh sách bảng để chọn

Ánh xạ kiểu dữ liệu (Type Mapping)

Kiểu SQL ServerField TypeGhi chú
tinyint, smallintintegerCũng hỗ trợ map sang boolean, sort
intintegerHỗ trợ unixTimestamp, sort
bigintbigIntHỗ trợ unixTimestamp, sort
bitbitField type đặc biệt cho SQL Server
decimal, money, smallmoneydecimal
numericfloat
float, realfloat
datedateOnlyChỉ ngày, không giờ
timetimeChỉ giờ
datetime, datetime2datetimeNoTzKhông timezone
datetimeoffsetdatetimeTzCó timezone
char, varcharstringCũng hỗ trợ uuid, nanoid
nchar, nvarcharstringUnicode, hỗ trợ uuid, nanoid
text, ntexttext
jsonjsonHỗ trợ array
uniqueidentifieruuidGUID native SQL Server

Các field type đặc biệt cho MSSQL

Plugin đăng ký ba field type riêng để xử lý đặc thù SQL Server:

Field TypeClassMô tả
dateMSSQLDateFieldXử lý kiểu date đúng format SQL Server
datetimeNoTzMSSQLDatetimeNoTzFieldXử lý datetime2 không timezone
bitMSSQLBitFieldXử lý kiểu bit (0/1) thành boolean

Cấu hình bảo mật kết nối

Mã hóa TLS

Bật Encrypt connection khi:

  • Kết nối qua Internet (không cùng mạng nội bộ)
  • Yêu cầu bảo mật compliance (PCI-DSS, HIPAA...)
  • Kết nối đến Azure SQL Database (bắt buộc encrypt)

Trust Server Certificate

Bật khi:

  • SQL Server dùng self-signed certificate
  • Môi trường development/testing
  • Không nên bật trên production với certificate chính thức

Tạo user SQL Server với quyền tối thiểu

sql
-- Chỉ đọc
CREATE LOGIN digiforce_ro WITH PASSWORD = 'StrongPassword123!';
USE my_database;
CREATE USER digiforce_ro FOR LOGIN digiforce_ro;
EXEC sp_addrolemember 'db_datareader', 'digiforce_ro';

-- Đọc và ghi
CREATE LOGIN digiforce_rw WITH PASSWORD = 'StrongPassword123!';
USE my_database;
CREATE USER digiforce_rw FOR LOGIN digiforce_rw;
EXEC sp_addrolemember 'db_datareader', 'digiforce_rw';
EXEC sp_addrolemember 'db_datawriter', 'digiforce_rw';

Kiểm tra SQL Server cho phép kết nối TCP/IP

Trên SQL Server Configuration Manager:

  1. Mở SQL Server Network Configuration → Protocols for [instance]
  2. Đảm bảo TCP/IP ở trạng thái Enabled
  3. Kiểm tra tab IP AddressesIPAllTCP Port = 1433
  4. Khởi động lại SQL Server service sau khi thay đổi