Teradata

This guide walks you through connecting Teradata Vantage to Solid so you can get insights into your data lineage, usage, and quality.

Overview

Solid requires access to:

  • The schema of your Teradata databases (via DBC system views)
  • Query history from Teradata's Database Query Log (DBQL)
  • Read-only grants on your data — required for Solid's Text2SQL engine to generate and validate SQL

Note: You will need DBA access (or an equivalent admin role) to create the Solid user and grant DBQL visibility.

You have two options for connecting Teradata to Solid:

OptionBest ForWhat You'll Do
Automatic Pull (Recommended)Ongoing use and continuous monitoringCreate a service user that runs automatically
Manual PullQuick proof of concept or one-time setupExport data manually and upload it

What Is Collected

CategoryWhatWhy
MetadataTable/column definitions, data types, constraintsTo build the data catalog
Query HistoryQuery text, executing user, timestamps, CPU/IO metricsTo learn usage patterns and seed benchmarks
Table UsageRow counts and table size trendsTo surface active tables and detect stale data
Data ProfilingSampled column values (via granted SELECT)Required for Text2SQL generation/validation, and to improve SQL filter accuracy

Automatic Pull (Recommended)

Best for: Production use with continuous monitoring and updates.

Step 1: Create the Solid User

Run this script while connected as a DBA (or equivalent admin role):

-- Create a dedicated user for Solid
CREATE USER solid_data
  AS PASSWORD = {strong_password}
  PERM = 0
  SPOOL = 1000000000;

-- Grant read-only access to each database you want Solid to monitor
GRANT SELECT ON {database_name} TO solid_data;

-- Grant visibility into query logging
GRANT SELECT ON DBC.QryLogV TO solid_data;
GRANT SELECT ON DBC.DBQLSqlTbl TO solid_data;

-- Grant visibility into schema metadata views
GRANT SELECT ON DBC.ColumnsV TO solid_data;
GRANT SELECT ON DBC.TablesV TO solid_data;
GRANT SELECT ON DBC.TableSizeV TO solid_data;

Repeat the GRANT SELECT ON {database_name} statement for every database you want Solid to monitor.

Query logging must be enabled. If DBQL isn't already active for the users/databases you want to monitor, ask your DBA to enable it:

BEGIN QUERY LOGGING WITH SQL ON {database_name};

Step 2: Note Your Connection Details

You'll need:

  • Teradata host/COP alias
  • Port (default 1025)
  • Username: solid_data
  • Password: the password you set above

Step 3: Configure Solid

  1. Log into the Solid platform
  2. Navigate to Settings → Integrations → Teradata
  3. Enter your connection details and credentials
  4. Click Test Connection
  5. Select which databases you want Solid to monitor
  6. Click Save

Solid will begin syncing your Teradata metadata and query history.


Manual Pull

Best for: Testing Solid or if you can't grant direct database access yet.

Steps

  1. Run the queries below in Teradata SQL Assistant (or your preferred client)
  2. Export each result as a CSV file
  3. Upload to the Solid Azure Storage container

Metadata

SELECT
    c.DatabaseName,
    c.TableName,
    c.ColumnName,
    c.ColumnId,
    c.ColumnType,
    c.Nullable,
    c.DefaultValue
FROM DBC.ColumnsV c
WHERE c.DatabaseName IN ({database_list})
ORDER BY c.DatabaseName, c.TableName, c.ColumnId;

Query History

SELECT
    q.QueryID,
    q.UserName,
    q.StartTime,
    q.FirstRespTime,
    q.AMPCPUTime,
    s.SqlTextInfo
FROM DBC.QryLogV q
JOIN DBC.DBQLSqlTbl s ON q.QueryID = s.QueryID
WHERE q.StartTime > '{last_collect_time}'
ORDER BY q.StartTime DESC;

Permissions Needed

Permission/GrantPurpose
SELECT on each monitored databaseGrants read-only access to table/column data for metadata and data profiling
SELECT on DBC.QryLogVGrants visibility into query log entries (query history)
SELECT on DBC.DBQLSqlTblGrants visibility into the logged SQL text for each query
SELECT on DBC.ColumnsVGrants visibility into column-level schema metadata
SELECT on DBC.TablesVGrants visibility into table-level schema metadata
SELECT on DBC.TableSizeVGrants visibility into table size metadata

Troubleshooting

Connection Issues

  1. Verify the host/COP alias and port are correct and reachable from Solid's network
  2. Confirm the user isn't locked and the password hasn't expired
  3. Check your firewall rules allow inbound connections from Solid's static IP addresses

Query History Is Missing or Empty

  1. Confirm DBQL is enabled for the databases/users you want to monitor:
    SELECT * FROM DBC.DBQLRuleTbl;
  2. Verify solid_data has SELECT on DBC.QryLogV and DBC.DBQLSqlTbl

Permission Issues

  1. Check the user's grants:
    SELECT * FROM DBC.AllRightsV WHERE UserName = 'solid_data';

Security Notes

  • The service user has read-only access — no INSERT, UPDATE, DELETE, or DDL privileges
  • Use a strong, unique password and rotate it per your organization's policy
  • Restrict Teradata's port (1025) to Solid's static IP addresses via your firewall rules
  • Scope grants only to the databases Solid needs to monitor

Did this page help you?