metricsign
Start free
Medium severitypermission

Power BI Refresh Error:
1934

What does this error mean?

A SELECT failed because the user has no permission on the object or the object does not exist in the specified schema.

Common causes

  • 1The service account has SELECT on dbo schema but the target object is in a different schema
  • 2The object was recently moved to a new schema without updating grants
  • 3ADF query references a schema-qualified object the service account cannot access

How to fix it

  1. 1Step 1: Identify the schema of the target object: SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'YourTable';
  2. 2Step 2: Grant SELECT on the correct schema: GRANT SELECT ON SCHEMA::[target_schema] TO [username];
  3. 3Step 3: Or grant SELECT on the specific object: GRANT SELECT ON [target_schema].[YourTable] TO [username];

Frequently asked questions

How do I list all schemas a user has access to?

Run: SELECT s.name as schema_name FROM sys.schemas s JOIN sys.database_permissions p ON p.major_id = s.schema_id WHERE p.grantee_principal_id = USER_ID('username') AND p.permission_name = 'SELECT';

Does db_datareader cover all schemas?

Yes — db_datareader grants SELECT on all user tables and views in all schemas. It is the simplest way to give a service account broad read access without schema-by-schema grants.

Why did error 1934 appear after a refactoring?

If tables were moved to a new schema (ALTER SCHEMA new_schema TRANSFER old_schema.table), existing schema-level grants on the old schema no longer cover the object. Re-grant on the new schema.

Official documentation: https://learn.microsoft.com/en-us/sql/relational-databases/errors-events/database-engine-events-and-errors

Other permission errors