Skip to content
M↓ View as Markdown ↗

Read-only access and query limits

Actian AI Analyst lists schemas and tables, previews rows, and runs the queries behind Models, Metrics, and answers. It never needs to change your data. How strictly a connection is held to reading depends on the connector, so the warehouse user you supply is your most important control.

Always use a read-only warehouse user

Create a dedicated warehouse user (or role) for AI Analyst, and grant it only read access to the databases, schemas, and tables you want to expose. Each connector's setup guide lists the grants to use. See the table in Connect a data source.

How each connector enforces read-only access

Each connector uses one of three levels. The level names are a way to group connectors in these docs, not labels you see in Studio.

Level What it means Connectors
Engine AI Analyst asks the warehouse to run its queries read-only, using a read-only transaction or a database opened read-only. PostgreSQL, MySQL, MariaDB, Amazon Redshift, MotherDuck
Session A read-only setting is applied to the session or query. ClickHouse
Credential-only Nothing in the connection protocol stops a write. Read-only access depends entirely on the privileges of the warehouse user you supply. Microsoft SQL Server, Azure Synapse, Microsoft Fabric, BigQuery, Snowflake, Databricks, Actian, Ingres, Informix, ZenDB

For credential-only connectors, the connection form and the Edit credentials dialog show:

This Connector cannot enforce read-only access itself. Supply a warehouse user that is limited to read-only privileges.

Snowflake

Snowflake checks privileges against the role a query runs as. If you leave Role blank, Snowflake uses the user's default role, so make sure that role is read-only too.

Checks on SQL that Steward runs

Steward can run a raw SQL statement against a connection when it needs to look at data directly. That tool accepts only a single SELECT statement (or WITH … SELECT) and rejects anything that would change data or structure. By default, Steward asks for approval before it runs the statement. Approvals are handled in Steward.

These checks add protection, but they don't replace a read-only warehouse user.

Query limits

Limit Value
Time limit per statement 60 seconds for queries that run Models, Metrics, and SemQL, and for Steward's raw SQL. 30 seconds by default for other statements, such as schema browsing and sample previews.
Rows returned to an AI Analyst for a SemQL, Model, or Metric query Up to 1,000 rows (100 by default)
Rows returned to Steward for a raw SQL statement Up to 1,000 rows and 50 columns (200 rows by default)

When a result has more rows than the limit, it is cut off and marked as truncated.

Databricks connections don't apply AI Analyst's own statement time limit. The SQL warehouse's own timeout settings apply instead.