SQL Server 2022 cho ERP, SAP, Oracle migration: bảo mật + compliance

Chia sẻ bài viết

Mục lục
SQL Server2026-06-29·13 phút đọc

SQL Server 2022 cho ERP, SAP, Oracle migration: bảo mật + compliance

Always Encrypted with Enclaves, Row-Level Security, Dynamic Data Masking, Ledger, SQL Audit - bộ tính năng bảo mật và compliance của SQL Server 2022 cho doanh nghiệp triển khai ERP, đáp ứng PDPL Việt Nam và GDPR.

TL;DR

SQL Server 2022 Enterprise có bộ bảo mật toàn diện: Always Encrypted with Enclaves (encrypt sensitive column, query trên encrypted data), Row-Level Security (filter row theo user), Dynamic Data Masking (che PII), Transparent Data Encryption (encrypt toàn DB at-rest), Ledger blockchain (tamper-evidence), SQL Audit Server-level. Đáp ứng PDPL Việt Nam, GDPR, PCI-DSS. ERP/SAP/Oracle migration sang SQL Server cần Enterprise edition (~360M/2-core) để dùng đầy đủ.

1. Vì sao doanh nghiệp Việt chuyển ERP sang SQL Server 2022?

Trong 2-3 năm gần đây, làn sóng migration từ Oracle Database, IBM Db2 sang SQL Server 2022 tại Việt Nam tăng mạnh. Lý do chính: (1) chi phí license Oracle Enterprise quá cao so với SQL Server Enterprise (chênh 2-3 lần), (2) hệ sinh thái Microsoft (Windows Server, Active Directory, .NET, Azure) tích hợp tốt với SQL Server, (3) Việt Nam có nhiều partner Microsoft hỗ trợ tiếng Việt - như TND - cùng nguồn nhân lực DBA SQL Server dồi dào.

Với ERP (SAP B1, SAP S/4HANA on SQL, Dynamics 365 BC, custom ERP Việt), SQL Server 2022 cung cấp bộ tính năng đủ mạnh cho mọi workload tài chính, kế toán, sản xuất, kho vận. Tuy nhiên, để đáp ứng compliance (PDPL, ISO 27001, PCI-DSS) thì cần dùng đúng tính năng - đa số chỉ có ở Enterprise edition.

2. Always Encrypted with Enclaves - bảo vệ PII trong database

Always Encrypted lần đầu xuất hiện SQL Server 2016, cho phép encrypt sensitive column (CCCD, số thẻ tín dụng, lương) bằng key chỉ client biết. Server lưu ciphertext và KHÔNG có khả năng giải mã - kể cả DBA cũng không xem được plaintext.

SQL Server 2019 thêm Secure Enclaves, cho phép query nâng cao (LIKE, range, sort) trên encrypted data - điều mà Always Encrypted ban đầu không làm được. SQL Server 2022 mở rộng enclave hỗ trợ Intel SGX và Virtualization-Based Security (VBS).

Setup Always Encrypted với Enclaves

-- Bật enclave trên instance
EXEC sys.sp_configure 'column encryption enclave type', 1;
RECONFIGURE;

-- Tạo column master key trong key store (AKV hoặc Windows Cert Store)
CREATE COLUMN MASTER KEY CMK_Salary
WITH (
  KEY_STORE_PROVIDER_NAME = 'AZURE_KEY_VAULT',
  KEY_PATH = 'https://kv.vault.azure.net/keys/cmk-salary',
  ENCLAVE_COMPUTATIONS (SIGNATURE = 0x...)
);

-- Tạo encrypted column
ALTER TABLE Employees
ALTER COLUMN Salary decimal(10,2)
ENCRYPTED WITH (
  COLUMN_ENCRYPTION_KEY = CEK_Salary,
  ENCRYPTION_TYPE = RANDOMIZED,
  ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256'
);

Với Always Encrypted, ngay cả DBA của TND hoặc bạn cũng không xem được lương nhân viên trong cleartext - đây là cấp độ bảo vệ cao nhất chống insider threat, đáp ứng nguyên tắc "tách biệt nghĩa vụ" của ISO 27001.

3. Row-Level Security - phân quyền tới từng dòng dữ liệu

RLS cho phép định nghĩa filter predicate sao cho mỗi user chỉ thấy row liên quan đến họ. Ví dụ: sales rep chỉ thấy order của khách thuộc khu vực mình quản lý, nhân viên CN HCM không thấy data CN Hà Nội. Tất cả enforce ở engine, không cần sửa app.

-- Tạo security predicate function
CREATE SCHEMA Security;
GO

CREATE FUNCTION Security.fn_branch_predicate(@BranchID AS INT)
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN SELECT 1 AS allow
WHERE @BranchID = CAST(SESSION_CONTEXT(N'BranchID') AS INT)
   OR IS_MEMBER('db_owner') = 1;
GO

-- Apply security policy
CREATE SECURITY POLICY Security.BranchFilter
ADD FILTER PREDICATE Security.fn_branch_predicate(BranchID) ON dbo.Orders,
ADD BLOCK PREDICATE Security.fn_branch_predicate(BranchID) ON dbo.Orders AFTER INSERT
WITH (STATE = ON);

RLS có ở cả Standard và Enterprise - đây là một trong số ít tính năng bảo mật cao cấp mà Standard cũng có. Tuy nhiên kết hợp với Always Encrypted + Audit thì cần Enterprise mới đầy đủ.

4. Dynamic Data Masking - che PII trong query response

DDM khác Always Encrypted ở chỗ: dữ liệu vẫn lưu cleartext trong DB, nhưng khi user không có quyền UNMASK query thì kết quả trả về bị che (như số thẻ tín dụng chỉ hiện 4 số cuối). Không bảo vệ disk-level - chỉ bảo vệ "view-level".

Mask functionCú phápKết quả với '[email protected]'
default()MASKED WITH (FUNCTION='default()')xxxx
email()MASKED WITH (FUNCTION='email()')[email protected]
partial()partial(2,'XXX',2)ngXXXvn
random()random(1,99)random integer

5. Transparent Data Encryption (TDE) - encrypt DB at-rest

TDE encrypt toàn bộ database file (.mdf, .ldf, backup) bằng database encryption key. Nếu disk/backup bị đánh cắp, attacker không đọc được data. Từ SQL Server 2019, TDE có ở cả Standard (trước đó chỉ Enterprise).

-- 1. Tạo master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!2026';

-- 2. Tạo certificate
CREATE CERTIFICATE TDECert WITH SUBJECT = 'TDE Cert for ERP DB';

-- 3. Backup cert (cực kỳ quan trọng - không có cert thì không restore được DB!)
BACKUP CERTIFICATE TDECert
TO FILE = 'C:\TDEBackup\TDECert.cer'
WITH PRIVATE KEY (
  FILE = 'C:\TDEBackup\TDECert.pvk',
  ENCRYPTION BY PASSWORD = 'BackupP@ss!2026'
);

-- 4. Tạo DEK trong target DB
USE ERPDb;
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE TDECert;

-- 5. Bật encryption
ALTER DATABASE ERPDb SET ENCRYPTION ON;

Cảnh báo: nếu mất TDECert mà chưa backup → toàn bộ data trong DB là rác. Đây là lý do trong checklist deploy ERP của TND, BACKUP CERTIFICATE là bước bắt buộc trước khi bật encryption.

6. SQL Server Ledger - tamper-evidence cho audit trail

Tính năng mới của SQL Server 2022, dùng blockchain để chứng minh data không bị sửa đổi sau khi ghi. Áp dụng cho table tài chính, audit log, hợp đồng - bất kỳ data nào cần legal compliance và non-repudiation.

  • Updatable ledger table: giữ history của mọi UPDATE/DELETE, có cryptographic verification.
  • Append-only ledger table: chỉ INSERT, không UPDATE/DELETE - phù hợp audit log.
  • Database ledger: hash của tất cả ledger table, có thể digest sang Azure Confidential Ledger hoặc Azure Blob để bằng chứng độc lập.
CREATE TABLE Finance.Transactions (
  TxnID INT IDENTITY PRIMARY KEY,
  AccountID INT,
  Amount DECIMAL(18,2),
  CreatedAt DATETIME2 DEFAULT SYSUTCDATETIME()
)
WITH (
  LEDGER = ON (
    APPEND_ONLY = ON
  )
);

7. SQL Server Audit - Server-level và Database-level auditing

SQL Audit cho phép log mọi action (login, query, schema change, permission change) ra file hoặc Windows Event Log. Doanh nghiệp đáp ứng PDPL/GDPR/ISO 27001 bắt buộc phải có audit trail.

-- Tạo Server Audit object
CREATE SERVER AUDIT ERPAudit
TO FILE (
  FILEPATH = 'D:\SQLAudit\',
  MAXSIZE = 100 MB,
  MAX_ROLLOVER_FILES = 50,
  RESERVE_DISK_SPACE = OFF
)
WITH (QUEUE_DELAY = 1000, ON_FAILURE = CONTINUE);

-- Bật audit
ALTER SERVER AUDIT ERPAudit WITH (STATE = ON);

-- Định nghĩa Server Audit Specification
CREATE SERVER AUDIT SPECIFICATION ERPServerSpec
FOR SERVER AUDIT ERPAudit
ADD (FAILED_LOGIN_GROUP),
ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (SERVER_ROLE_MEMBER_CHANGE_GROUP),
ADD (DATABASE_CHANGE_GROUP)
WITH (STATE = ON);

Audit Server-level đầy đủ chỉ có ở Enterprise. Standard có Audit Database-level nhưng giới hạn hơn về group event được track.

8. Compliance landscape - PDPL Việt Nam, GDPR, PCI-DSS

Việt Nam đã ban hành Luật Bảo vệ dữ liệu cá nhân (PDPL) năm 2025, yêu cầu doanh nghiệp:

  • Mã hoá dữ liệu cá nhân tại storage và transit → TDE + TLS 1.2+ + Always Encrypted cho PII nhạy cảm
  • Audit trail truy cập dữ liệu cá nhân → SQL Audit Server-level + ledger cho table chứa PII
  • Right to erasure (xoá data theo yêu cầu user) → cần soft-delete + scheduled hard-delete job
  • Phân quyền chặt chẽ → RLS + DDM + role-based access
  • Báo cáo sự cố trong 72h → cần monitoring + alerting tự động

GDPR (cho doanh nghiệp xuất khẩu sang EU) và PCI-DSS (cho doanh nghiệp xử lý thẻ thanh toán) có yêu cầu tương tự. Bộ tính năng SQL Server 2022 Enterprise đáp ứng được toàn bộ - nhưng cần config đúng và có process quản lý key chặt chẽ.

9. Migration từ Oracle/Db2 sang SQL Server 2022

Microsoft cung cấp SQL Server Migration Assistant (SSMA) miễn phí cho Oracle, MySQL, PostgreSQL, Db2. SSMA tự động convert schema, T-SQL, stored procedure (PL/SQL → T-SQL) với tỉ lệ thành công 80-90%. Phần còn lại cần DBA tinh chỉnh.

Checklist migration ERP

  1. Assessment: dùng Microsoft Assessment Toolkit để estimate effort, compatibility
  2. Sizing: tính số core CPU, RAM, disk IOPS cần thiết
  3. License plan: Enterprise Core hay Standard Core? Cần SA không?
  4. Hạ tầng: on-premise hay Dedicated Server hay Cloud VPS?
  5. Migration POC: migrate 10% data, test functional + performance
  6. Cutover plan: downtime window, rollback plan
  7. Post-migration: bật TDE, RLS, Audit, configure HA

10. Hoá đơn VAT và hỗ trợ migration tại TND

Triển khai SQL Server cho ERP là dự án trị giá hàng tỷ đồng. TND là đại lý chính thức Microsoft tại Việt Nam, cung cấp license SQL Server 2022 Enterprise genuine với hoá đơn VAT điện tử Thông tư 78 đầy đủ. Bên cạnh license, TND hỗ trợ tư vấn sizing, đánh giá workload, lên kế hoạch HA và hướng dẫn config bảo mật phù hợp PDPL/GDPR.

Đọc thêm: Standard vs Enterprise, AlwaysOn AG cho ERP 24/7, Backup & Restore best practice.

Triển khai SQL Server 2022 cho ERP doanh nghiệp?

TND đại lý Microsoft SQL Server tại Việt Nam - license genuine cho Standard, Enterprise, CAL. Hoá đơn VAT điện tử TT 78 đầy đủ cho doanh nghiệp.

Xem giá SQL Server →

Chat Zalo nhận báo giá Gọi 0225.999.6666
2009
15+ năm vận hành liên tục
10+
tập đoàn lớn tin dùng
100+
doanh nghiệp SMB Việt
30 ngày
đổi key lỗi miễn phí
Phần mềm bản quyền chính hãng chúng tôi cung cấp
Bản quyền chính hãng Hóa đơn VAT đầy đủ Đổi key lỗi 30 ngày Vận hành từ 2009 MST 0200994870 Hotline 0225.999.6666