SQL Server Integration

Connect TDK to Microsoft SQL Server databases for data masking, generation, and subsetting.

Overview

TDK supports:

  • SQL Server 2016, 2017, 2019, 2022

  • Azure SQL Database

  • Azure SQL Managed Instance

  • Amazon RDS for SQL Server

Connection Configuration

data_sources:
  input:
    url: jdbc:sqlserver://localhost:1433;databaseName=mydb;encrypt=true;trustServerCertificate=false
    username: tdk_user
    password: ${vault:secret/sqlserver#password}
    driver_class_name: com.microsoft.sqlserver.jdbc.SQLServerDriver

Azure SQL Database

data_sources:
  input:
    url: jdbc:sqlserver://myserver.database.windows.net:1433;database=mydb;encrypt=true
    username: tdk_user@myserver
    password: ${vault:secret/azure-sql#password}

Required Permissions

-- Read-only (recommended for source)
CREATE USER tdk_user FOR LOGIN tdk_login;
GRANT SELECT ON SCHEMA::dbo TO tdk_user;

-- Read-write (for target database)
CREATE USER tdk_user FOR LOGIN tdk_login;
ALTER ROLE db_datareader ADD MEMBER tdk_user;
ALTER ROLE db_datawriter ADD MEMBER tdk_user;
ALTER ROLE db_ddladmin ADD MEMBER tdk_user;

SQL Server-Specific Features

Schema Support

TDK supports multiple schemas:

table_schema:
  - table_name_pattern: "dbo.*"
  - table_name_pattern: "sales.*"

Data Types

Full support for SQL Server types: * NVARCHAR, NCHAR * DATETIME2 * UNIQUEIDENTIFIER * XML