Migrating SQL Server to Snowflake dbt with CoCo: A Live Demo and Lessons Learned
I recently had the pleasure of presenting at a Snowflake Squad Enablement Session, alongside fellow Snowflake Data Superhero Rajiv Gupta. This was a particularly special event, as it marked the first community-led enablement session where Snowflake Data Superheroes shared their practical experience directly with Snowflake Squad members.
My session focused on a challenge that many organizations face when modernizing their data platforms: migrating legacy SQL Server code to Snowflake while adopting modern data engineering practices with dbt. Rather than presenting a theoretical migration approach, I shared how our team used Snowflake CoCo CLI to migrate existing SQL Server views, stored procedures, and data pipelines into a dbt project on Snowflake.
From Legacy SQL Server Code to Modern dbt Models
Migrating from SQL Server to Snowflake involves more than translating SQL syntax. Legacy stored procedures and views often contain complex business logic, dependencies, and transformations that need to be understood before they can be redesigned for a modern data platform. During the session, I demonstrated how CoCo can assist with this process, helping developers analyze existing SQL code and generate dbt models. The live demonstration covered several important aspects of the migration:
- Installing CoCo CLI and connecting it with exported SQL Server code, including views, stored procedures, and pipelines
- Analyzing dependencies between database objects before generating dbt models
- Providing precise context to CoCo, including pointing the agent to specific files and paths
- Generating dbt models as part of the migration to Snowflake
- Sharing lessons learned, including practical considerations and potential pitfalls when using AI-assisted migration tools
What made this session particularly enjoyable was the opportunity to share practical experience with fellow Snowflake professionals. My co-presenter, Rajiv Gupta, demonstrated his Security 360 CoCo skill, showing how automation can streamline security assessments and compliance reporting. Together, our presentations highlighted different ways CoCo can support real-world development and operational tasks.
It was encouraging to see the interest in these use cases and the positive feedback from the community, particularly around the practical demonstrations and lessons learned. A big thank you to the Snowflake Squad team for organizing the session and inviting us to share our experiences. I’m looking forward to more opportunities to collaborate, experiment, and contribute to this community!