Skip to main content
If your Snowflake data plane was set up before compute pools were available, it uses a single virtual warehouse for all workloads. Migrating to compute pools lets you register one or more Snowflake warehouses, giving you control over which warehouse handles each type of work.

Why migrate

With a single default warehouse, every query—exploratory, production, audience builds—competes for the same resources. Compute pools solve this by letting you assign different warehouses to different workloads:
  • Right-size compute for the job. Use a small warehouse for quick lookups and a large one for heavy processing, rather than over-provisioning a single warehouse for all cases.
  • Isolate workloads. Prevent an expensive production pipeline from slowing down ad-hoc exploration, or vice versa.
  • Control costs. Smaller warehouses for lightweight work cost less per credit-second than running everything on a large warehouse.
  • Set collaboration policies. Control which companies in your data plane can use which warehouses, so shared environments stay predictable.

Prerequisites

  • ACCOUNTADMIN role or equivalent in your Snowflake account
  • Access to the Narrative Snowflake Native App in your account
  • One or more Snowflake warehouses you want to register as compute pools
  • A Narrative API token with Compute Pools Read and Write permissions (manage API keys)

Migration steps

1

Grant warehouse access to the native app

For each warehouse you want to register as a compute pool, run the following in a Snowflake worksheet:
GRANT USAGE ON WAREHOUSE <warehouse_name> TO APPLICATION NARRATIVE_DATA_COLLABORATION;
For example, to register two warehouses:
GRANT USAGE ON WAREHOUSE ANALYTICS_SMALL TO APPLICATION NARRATIVE_DATA_COLLABORATION;
GRANT USAGE ON WAREHOUSE PRODUCTION_XLARGE TO APPLICATION NARRATIVE_DATA_COLLABORATION;
Each granted warehouse is automatically registered as a compute pool on your data plane. You can grant access to your existing warehouse plus any additional warehouses you want to add.
2

Verify compute pools appear

Navigate to Settings > Data Planes, select your Snowflake data plane, and open the Compute Pools tab. You should see each registered warehouse listed as a compute pool.
3

Set a default compute pool

From the Compute Pools tab, open the action menu (···) on the warehouse you want as your default and select Set as default. This warehouse is used whenever a query doesn’t specify a compute pool.
4

Select compute pools in the context selector

The context selector now shows your registered compute pools in the second column. Select the appropriate warehouse for your current workload. The previous static “DEFAULT” label is replaced by your registered pools.

What changes after migration

BeforeAfter
Single warehouse for all workloadsOne or more warehouses, each as a named compute pool
No choice in the context selectorContext selector populates with your registered warehouses
Warehouse configuration managed entirely in SnowflakeBasic settings visible and editable from the data plane detail page
The legacy single-warehouse configuration is removed once you complete the migration. All queries going forward use the compute pool model.

Compute Pools

Understand compute pool types and when to use each

Using the Context Selector

Choose your compute pool and other execution context settings

Snowflake Native App Installation

Full installation guide for new Snowflake data planes