Giao diện
Câu hỏi thường gặp — Microsoft SQL Server Data Source
Cài đặt và kết nối
Không thể kết nối đến SQL Server, báo lỗi timeout?
Cách xử lý theo thứ tự:
- Kiểm tra SQL Server đang chạy:
systemctl status mssql-server(Linux) hoặc SQL Server Configuration Manager (Windows) - Đảm bảo TCP/IP protocol đã bật trong SQL Server Network Configuration
- Xác nhận firewall cho phép port 1433 từ IP server Digiforce
- Kiểm tra SQL Server không chỉ bind localhost — phải cho phép kết nối remote
- Thử kết nối thủ công:
sqlcmd -S <host>,1433 -U <user> -P <password> - Nếu dùng named instance, đảm bảo SQL Server Browser service đang chạy
Kết nối thành công nhưng không thấy bảng?
Nguyên nhân có thể:
- User không có quyền
SELECTtrên bảng - Bảng nằm trong schema khác (không phải
dbo) - Tên database sai
Cách xử lý:
- Kiểm tra quyền:
SELECT * FROM fn_my_permissions(NULL, 'DATABASE'); - Kiểm tra schema:
SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES; - Nhấn Refresh để introspect lại
SQL Authentication vs Windows Authentication?
Plugin sử dụng SQL Authentication (username + password). Windows Authentication hiện chưa được hỗ trợ trực tiếp qua giao diện. Nếu SQL Server chỉ cho phép Windows Auth, cần:
- Bật mixed mode authentication trên SQL Server
- Hoặc cấu hình reverse proxy/NTLM authentication ở tầng hạ tầng
Sử dụng hằng ngày
Dữ liệu có đồng bộ real-time không?
Có. Plugin truy vấn trực tiếp SQL Server mỗi lần request — không có cache. Dữ liệu luôn phản ánh trạng thái hiện tại của database.
Có thể liên kết bảng SQL Server với bảng nội bộ không?
Không. Chỉ hỗ trợ relation giữa các bảng trong cùng một data source. Cross-datasource relation chưa được hỗ trợ.
Hiệu năng với bảng lớn?
- Plugin sử dụng Sequelize connection pool
- SQL Server sử dụng
OFFSET FETCHcho phân trang (hiệu quả hơnTOP) - Đảm bảo có index trên cột thường filter/sort
- Phân trang mặc định 20 bản ghi/trang
Kiểu bit được xử lý như thế nào?
SQL Server dùng bit thay vì boolean. Plugin đăng ký MSSQLBitField để tự động chuyển đổi giá trị 0/1 thành true/false trên giao diện.
Azure SQL Database có được hỗ trợ không?
Có. Cấu hình tương tự, nhưng:
- Bắt buộc bật
Encrypt connection - Host dạng
server.database.windows.net - Port mặc định vẫn
1433 - Username dạng
user@server(tùy cấu hình)
Lỗi thường gặp
Lỗi "Login failed for user"
Nguyên nhân: Sai username/password hoặc user chưa được tạo trên SQL Server.
Cách xử lý:
- Kiểm tra username/password
- Đảm bảo SQL Server Authentication đã được bật (mixed mode)
- Kiểm tra user đã được map vào database:
USE my_db; SELECT * FROM sys.database_principals;
Lỗi "Cannot open database"
Nguyên nhân: Tên database sai hoặc user không có quyền truy cập database.
Cách xử lý:
- Kiểm tra tên database:
SELECT name FROM sys.databases; - Cấp quyền:
USE my_db; CREATE USER [username] FOR LOGIN [username];
Lỗi "Encrypt connection" khi kết nối Azure SQL
Nguyên nhân: Azure SQL Database bắt buộc mã hóa kết nối.
Cách xử lý: Bật Encrypt connection trong cấu hình data source. Nếu vẫn lỗi, bật thêm Trust server certificate.
Lỗi "plugin need data-source-manager plugin enabled"
Cách xử lý: Vào Plugin Manager, bật data-source-manager trước, sau đó bật plugin-data-source-external-mssql.
Kiểu uniqueidentifier không hiển thị đúng
Nguyên nhân: GUID format có thể khác khi hiển thị.
Cách xử lý: Plugin map uniqueidentifier → uuid. Nếu cần format tùy chỉnh, chỉnh interface của trường sau khi introspect.
Kết nối nhiều SQL Server instance
Có thể tạo nhiều data source type mssql, mỗi cái trỏ đến instance/database khác nhau. Mỗi data source hoàn toàn độc lập.