
## Upgrade Snowflake Data Quality Studio

URL: https://docs.atlan.com/product/capabilities/governance/data-quality/snowflake/how-tos/upgrade-snowflake

> Upgrade your Snowflake data quality setup to the latest version

Upgrade your existing Snowflake data quality setup to the latest version to access new features and improvements. This guide helps you migrate from an older version of the Snowflake data quality integration to the latest version.

## Prerequisites

Before you begin, make sure you have:
- Existing Snowflake data quality setup configured in Atlan
- Access to the `DQ_ADMIN` role in Snowflake
- The database name used in your current setup

## Upgrade data quality setup

1. Set the following variables based on your existing setup:

 ```sql
 -- Use your existing configuration values
 SET ATLAN_DQ_DATABASE = 'ATLAN_DQ'; -- Your existing DQ database name
 SET DQ_ADMIN_ROLE = 'DQ_ADMIN'; -- Your existing admin role name
 SET ATLAN_DQ_SERVICE_ROLE = 'ATLAN_DQ_SERVICE_ROLE'; -- Your existing service role name
 ```

2. Switch to the DQ admin role:

 ```sql
 USE ROLE IDENTIFIER($DQ_ADMIN_ROLE);
 ```

3. Switch to your DQ database:

 ```sql
 USE DATABASE IDENTIFIER($ATLAN_DQ_DATABASE);
 ```

4. Drop the existing procedure:

 ```sql
 DROP PROCEDURE IF EXISTS SHARED.MANAGE_DMF(STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING);
 ```

 - If the drop fails with a signature mismatch, check your current procedure signature:
 ```sql
 SELECT ARGUMENT_SIGNATURE FROM INFORMATION_SCHEMA.PROCEDURES 
 WHERE PROCEDURE_SCHEMA = 'SHARED' AND PROCEDURE_NAME = 'MANAGE_DMF';
 ```

5. Create the DMFS schema:

 ```sql
 CREATE SCHEMA IF NOT EXISTS DMFS;
 ```

6. Create the updated procedure:

 > *View procedure code — see full content on the documentation site.*

7. Grant permissions to the service role:

 ```sql
 GRANT USAGE ON PROCEDURE SHARED.MANAGE_DMF(
 STRING, STRING, STRING, STRING, STRING, STRING, STRING, STRING, BOOLEAN
 ) TO ROLE IDENTIFIER($ATLAN_DQ_SERVICE_ROLE);

 GRANT USAGE ON SCHEMA DMFS TO ROLE IDENTIFIER($ATLAN_DQ_SERVICE_ROLE);
 ```

8. Grant usage on future functions in DMFS schema to the service role:
 ```sql
 USE ROLE ACCOUNTADMIN;
 SET _DMFS_SCHEMA = (SELECT $ATLAN_DQ_DATABASE || '.DMFS');
 GRANT USAGE ON FUTURE FUNCTIONS IN SCHEMA IDENTIFIER($_DMFS_SCHEMA) TO ROLE IDENTIFIER($ATLAN_DQ_SERVICE_ROLE);
 ```

## Need help

If you have questions or need assistance with migrating your Snowflake data quality setup, reach out to Atlan Support by [submitting a support request](https://docs.atlan.com/support/submit-request). 

## See also

* [Data quality permissions](https://docs.atlan.com/llms/governance/data-quality/data-quality-permissions/llms.txt) - Grant users access to create and manage data quality rules

---
