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
DBCsystem 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:
| Option | Best For | What You'll Do |
|---|---|---|
| Automatic Pull (Recommended) | Ongoing use and continuous monitoring | Create a service user that runs automatically |
| Manual Pull | Quick proof of concept or one-time setup | Export data manually and upload it |
What Is Collected
| Category | What | Why |
|---|---|---|
| Metadata | Table/column definitions, data types, constraints | To build the data catalog |
| Query History | Query text, executing user, timestamps, CPU/IO metrics | To learn usage patterns and seed benchmarks |
| Table Usage | Row counts and table size trends | To surface active tables and detect stale data |
| Data Profiling | Sampled 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
- Log into the Solid platform
- Navigate to Settings → Integrations → Teradata
- Enter your connection details and credentials
- Click Test Connection
- Select which databases you want Solid to monitor
- 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
- Run the queries below in Teradata SQL Assistant (or your preferred client)
- Export each result as a CSV file
- 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/Grant | Purpose |
|---|---|
SELECT on each monitored database | Grants read-only access to table/column data for metadata and data profiling |
SELECT on DBC.QryLogV | Grants visibility into query log entries (query history) |
SELECT on DBC.DBQLSqlTbl | Grants visibility into the logged SQL text for each query |
SELECT on DBC.ColumnsV | Grants visibility into column-level schema metadata |
SELECT on DBC.TablesV | Grants visibility into table-level schema metadata |
SELECT on DBC.TableSizeV | Grants visibility into table size metadata |
Troubleshooting
Connection Issues
- Verify the host/COP alias and port are correct and reachable from Solid's network
- Confirm the user isn't locked and the password hasn't expired
- Check your firewall rules allow inbound connections from Solid's static IP addresses
Query History Is Missing or Empty
- Confirm DBQL is enabled for the databases/users you want to monitor:
SELECT * FROM DBC.DBQLRuleTbl; - Verify
solid_datahasSELECTonDBC.QryLogVandDBC.DBQLSqlTbl
Permission Issues
- 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
Updated 8 days ago
