Connecting Snowflake to SQL Server: A Comprehensive Guide for 2025

Published: December 6, 2024 - 11 min read

Julian Alvarado

Are you looking to connect Snowflake to SQL Server? You’re not alone. Many organizations need to integrate their cloud data warehouse with on-premises databases. This guide will walk you through three proven methods to establish this connection, complete with step-by-step instructions for each approach.

Why Connect Snowflake to SQL Server?

Before we dive into the how-to, let’s quickly cover the why. Connecting Snowflake to SQL Server offers several key advantages:

  1. Real-time data synchronization: Keep your cloud and on-premises systems in sync for unified reporting and analytics.
  2. Improved ETL processes: Move and transform data more effectively across platforms.
  3. Better data accessibility: Perform cross-platform analysis for more informed decision-making.

Top 3 Methods to Connect Snowflake to SQL Server

There are several ways to connect Snowflake to SQL Server, each suited to different needs and technical expertise levels. Here’s a quick overview of the top three methods:

SolutionBest For
CoefficientBusiness users who need a no-code solution to sync Snowflake data to SQL Server through spreadsheets, with automated refreshes and real-time updates
SQL Server Linked ServerTechnical users who require direct database-to-database connectivity and prefer native SQL Server tools
AirbyteOrganizations needing an open-source solution for batch data transfers with customizable configurations

Let’s explore each method in detail.

#1 Coefficient: The No-Code Solution

-Co-Official home screen menu

Coefficient provides a user-friendly interface to connect Snowflake and SQL Server through spreadsheets. This method is ideal for non-technical users who want to manage data flows without coding.

Step-by-Step Guide:

Step 1. Install Coefficient

For Google Sheets

  • Open a new or existing Google Sheet, navigate to the Extensions tab, and select Add-ons > Get add-ons.
  • In the Google Workspace Marketplace, search for “Coefficient.”
  • Follow the prompts to grant necessary permissions.
  • Launch Coefficient from Extensions > Coefficient > Launch.
  • Coefficient will open on the right-hand side of your spreadsheet.
Google Sheets showing coefficient sidebar open

For Microsoft Excel

  • Open Excel from your desktop or in Office Online. Click ‘File’ > ‘Get Add-ins’ > ‘More Add-Ins.’
  • Type “Coefficient” in the search bar and click ‘Add.’
  • Follow the prompts in the pop-up to complete the installation.
  • Once finished, you will see a “Coefficient” tab in the top navigation bar. Click ‘Open Sidebar’ to launch Coefficient.
Excel showing coefficient sidebar open.

Step 2: Connect and Import Data from Snowflake

  • Open Coefficient Sidebar: In Google Sheets, go to Extensions > Coefficient > Launch.
  • Connect Snowflake: Click Import from… and select Snowflake.
  • Authenticate: Enter Snowflake credentials (Account Name, Database Name, Username, Password, Warehouse Name).
So it's like authentication credential screening.
  • Select Data: Choose tables/columns or run a custom SQL query, then click Import.
Data selection and query interface.

Step 3. Export Data from Your Spreadsheet to MS SQL

Before starting, make sure you’ve connected to MS SQL.

Then, navigate to Coefficient’s menu >Click “Export to…”

Coefficient export menu navigation?

Select MS SQL.

SQL Server connection setup screen

Choose the tab in your workbook that contains the data you want to export and specify the header row that contains the database field headers.

Header mapping configuration interface.

Specify the table in your database where you want to insert the data and choose the appropriate action (Insert, Update, Delete).

Database table selection

Complete the field mappings for the export. Then, confirm your settings and click “Export” to proceed.

Field mapping confirmation view?

Then, highlight the specific rows in your sheet that you want to export, or choose to export all rows.

Role selection for experts screen.

Review your settings and follow the prompts to push your data back to MS SQL.

Pros:

  • No coding required
  • User-friendly interface
  • Automated scheduling
  • Real-time updates
  • Spreadsheet-based transformations

Cons:

  • Requires spreadsheet intermediary
  • Limited to spreadsheet row limits
  • May not suit very large datasets

For more information on connecting SQL Server to spreadsheets, check out these resources:

#2 SQL Server Linked Server: The Native Approach

SQL Server Management Studio Links Server window?

SQL Server’s native linked server functionality allows direct connection to Snowflake using ODBC drivers. This method provides seamless data access between platforms.

Step-by-Step Guide:

Step 1: Install Snowflake ODBC Driver

Installation Requirements:

    Driver Version: Snowflake ODBC 2.25.4 or later

    Architecture: 64-bit

    Prerequisites:

        Microsoft Visual C++ Redistributable

        .NET Framework 4.7.2

System Requirements:

    Operating System: Windows Server 2019/2022

    Memory: 8GB minimum

    Disk Space: 200MB for driver installation

Step 2: Configure System DSN

[ODBC Data Sources]

SnowflakeDSN=SnowflakeDSIIDriver

[SnowflakeDSN]

Description=Snowflake Data Source

Driver=C:Program FilesSnowflake ODBC Driverlibsnowflakeodbc.dll

Server=your_account.snowflakecomputing.com

Database=YOUR_DATABASE

Warehouse=YOUR_WAREHOUSE

Schema=YOUR_SCHEMA

Port=443

SSL=on

Step 3: Create Linked Server in SSMS

— Create the linked server

EXEC sp_addlinkedserver

    @server = ‘SNOWFLAKE_LINK’,

    @srvproduct = ‘Snowflake’,

    @provider = ‘MSDASQL’,

    @datasrc = ‘SnowflakeDSN’;

— Configure server options

EXEC sp_serveroption

    @server = ‘SNOWFLAKE_LINK’,

    @optname = ‘rpc out’,

    @optvalue = ‘true’;

EXEC sp_serveroption

    @server = ‘SNOWFLAKE_LINK’,

    @optname = ‘data access’,

    @optvalue = ‘true’;

Step 4: Set Up Security Credentials

— Create login for Snowflake access

CREATE LOGIN snowflake_user

WITH PASSWORD = ‘StrongPassword123!’;

— Configure linked server login

EXEC sp_addlinkedsrvlogin

    @rmtsrvname = ‘SNOWFLAKE_LINK’,

    @useself = ‘FALSE’,

    @locallogin = ‘snowflake_user’,

    @rmtuser = ‘your_snowflake_username’,

    @rmtpassword = ‘your_snowflake_password’;

— Grant necessary permissions

GRANT EXECUTE ON master.dbo.sp_serveroption TO snowflake_user;

Step 5: Test Connection

— Create test procedure

CREATE PROCEDURE dbo.TestSnowflakeConnection

AS

BEGIN

    BEGIN TRY

        — Test basic connectivity

        SELECT TOP 1 *

        FROM OPENQUERY(

            SNOWFLAKE_LINK,

            ‘SELECT CURRENT_TIMESTAMP()’

        );

        — Test data access

        SELECT TOP 10 *

        FROM OPENQUERY(

            SNOWFLAKE_LINK,

            ‘SELECT * FROM SAMPLE_TABLE LIMIT 10’

        );

        PRINT ‘Connection test successful’;

    END TRY

    BEGIN CATCH

        PRINT ‘Connection test failed: ‘ + ERROR_MESSAGE();

        THROW;

    END CATCH;

END;

Step 6: Query Snowflake Data

— Create wrapper stored procedure for data access

CREATE PROCEDURE dbo.GetSnowflakeData

    @TableName NVARCHAR(128),

    @Filter NVARCHAR(MAX) = NULL

AS

BEGIN

    DECLARE @SqlQuery NVARCHAR(MAX);

    SET @SqlQuery = CONCAT(

        ‘SELECT * FROM OPENQUERY(SNOWFLAKE_LINK, ”’,

        ‘SELECT * FROM ‘, @TableName,

        CASE WHEN @Filter IS NOT NULL 

            THEN ‘ WHERE ‘ + @Filter

            ELSE ” END,

        ”’)’

    );

    EXEC sp_executesql @SqlQuery;

END;

Pros:

  • Native integration
  • Direct database access
  • Familiar SQL Server interface
  • No third-party tools required

Cons:

  • Requires technical expertise
  • Complex setup process
  • Limited automation options
  • Performance considerations

#3 Airbyte: The Open-Source Alternative

A screenshot of Airbyte's homepage.

Airbyte offers an open-source solution for connecting Snowflake to SQL Server, with customizable connectors and scheduling options.

Step-by-Step Guide:

Step 1: Install Airbyte

# Docker installation commands

mkdir airbyte && cd airbyte

wget https://raw.githubusercontent.com/airbytehq/airbyte/master/docker-compose.yaml

docker-compose up -d

Step 2: Configure Snowflake Source

{

    “sourceDefinitionId”: “snowflake”,

    “connectionConfiguration”: {

        “host”: “your_account.snowflakecomputing.com”,

        “role”: “ACCOUNTADMIN”,

        “warehouse”: “COMPUTE_WH”,

        “database”: “YOUR_DATABASE”,

        “schema”: “PUBLIC”,

        “credentials”: {

            “auth_type”: “username/password”,

            “username”: “your_username”,

            “password”: “your_password”

        }

Coefficient Excel Google Sheets Connectors
Try the Free Spreadsheet Extension Over 500,000 Pros Are Raving About

Stop exporting data manually. Sync data from your business systems into Google Sheets or Excel with Coefficient and set it on a refresh schedule.

Get Started

    }

}

Step 3: Set Up SQL Server Destination

— Create staging schema and tables

CREATE SCHEMA staging;

GO

CREATE TABLE staging.snowflake_sync_log (

    sync_id UNIQUEIDENTIFIER DEFAULT NEWID(),

    start_time DATETIME2 DEFAULT GETDATE(),

    end_time DATETIME2,

    status VARCHAR(50),

    records_processed INT,

    error_message NVARCHAR(MAX)

);

Step 4: Define Sync Rules

Sync Configuration:

    Mode: Incremental

    Cursor Field: last_modified

    Primary Key: id

    Batch Size: 10000

Schema Mapping:

    source_table: destination_table

    timestamp_ntz: datetime2

    variant: nvarchar(max)

    object: nvarchar(max)

Step 5: Schedule Data Transfers

{

    “schedule”: {

        “timeUnit”: “HOURS”,

        “units”: 6

    },

    “syncCatalog”: {

        “streams”: [

            {

                “stream”: {

                    “name”: “CUSTOMERS”,

                    “jsonSchema”: {

                        “type”: “object”,

                        “properties”: {

                            “ID”: {“type”: “string”},

                            “NAME”: {“type”: “string”},

                            “CREATED_AT”: {“type”: “string”}

                        }

                    }

                },

                “config”: {

                    “syncMode”: “incremental”,

                    “cursorField”: [“CREATED_AT”],

                    “destinationSyncMode”: “append_dedup”

                }

            }

        ]

    }

}

Step 6: Monitor Synchronization

— Create monitoring view

CREATE VIEW dbo.vw_sync_status

AS

SELECT 

    sync_id,

    DATEDIFF(SECOND, start_time, COALESCE(end_time, GETDATE())) as duration_seconds,

    status,

    records_processed,

    error_message

FROM staging.snowflake_sync_log

WHERE start_time >= DATEADD(DAY, -7, GETDATE());

— Create alert procedure

CREATE PROCEDURE dbo.AlertFailedSync

AS

BEGIN

    DECLARE @EmailBody NVARCHAR(MAX);

    SELECT @EmailBody = STRING_AGG(error_message, CHAR(10))

    FROM staging.snowflake_sync_log

    WHERE status = ‘FAILED’

    AND start_time >= DATEADD(HOUR, -1, GETDATE());

    IF @EmailBody IS NOT NULL

        EXEC msdb.dbo.sp_send_dbmail

            @profile_name = ‘Notifications’,

            @recipients = ‘dba@company.com’,

            @subject = ‘Snowflake Sync Failed’,

            @body = @EmailBody;

END;

Pros:

  • Open-source platform
  • Customizable connectors
  • Comprehensive documentation
  • Community support

Cons:

  • Requires deployment management
  • Technical setup needed
  • Limited enterprise support
  • Learning curve for new users

Start Connecting Snowflake to SQL Server Today

Whether you’re looking for a no-code solution like Coefficient, a native approach with SQL Server Linked Server, or an open-source alternative with Airbyte, there’s a method that fits your needs. For the easiest way to get started, try Coefficient’s user-friendly platform to seamlessly connect your Snowflake and SQL Server databases today.

Get started with Coefficient

Frequently Asked Questions

How do I transfer data from Snowflake to SQL Server?

While there are multiple methods, Coefficient offers the simplest solution with its no-code platform, allowing you to transfer data through spreadsheets with automated scheduling and real-time updates.

Can SQL Server connect to Snowflake?

Yes, SQL Server can connect to Snowflake through various methods, including Coefficient’s user-friendly platform, native linked server setup, or third-party tools like Airbyte.

What is the difference between Snowflake and SQL Server?

Snowflake is a cloud-based data warehouse, while SQL Server is primarily an on-premises database system. Coefficient bridges these platforms, enabling seamless data integration between them.

Sync Live Data into Your Spreadsheet

Connect Google Sheets or Excel to your business systems, import your data, and set it on a refresh schedule.

Try the Spreadsheet Automation Tool Over 500,000 Professionals are Raving About

Tired of spending endless hours manually pushing and pulling data into Google Sheets? Say goodbye to repetitive tasks and hello to efficiency with Coefficient, the leading spreadsheet automation tool trusted by over 350,000 professionals worldwide.

Sync data from your CRM, database, ads platforms, and more into Google Sheets in just a few clicks. Set it on a refresh schedule. And, use AI to write formulas and SQL, or build charts and pivots.

Julian Alvarado Content Marketing
Julian is a dynamic B2B marketer with 8+ years of experience creating full-funnel marketing journeys, leveraging an analytical background in biological sciences to examine customer needs.
500,000+ happy users
Wait, there's more!
Connect any system to Google Sheets in just seconds.
Get Started Free

Trusted By Over 50,000 Companies