# SQL Server

This page covers the details about integrating SQL Server Database as Warehouse with Sprinkle.

When setting up SQL Server as Data Warehouse, Sprinkle additionally requires a Cloud bucket.  This guide covers the role of all the components and steps to set up.

## Step by Step Guide

### Integrating SQL Server

#### **STEP-1: Allow SQL Server to accept connection from Sprinkle**

* If SQL Server is on **public network**, accessible over public IP, allow inbound connection on sql server port (default is 1433) from Sprinkle IPs (34.93.254.126, 34.93.106.136)
* If SQL Server is on **private network**, configure [SSH Tunnel](https://docs.sprinkledata.com/product/integrating-your-data/destination-warehouses/broken-reference) in Advanced Settings.

#### STEP-2: Configure SQL Server Connection

* Log into the Sprinkle application
* Navigate to Admin -> Warehouse -> New Warehouse Connection
* Select SQL Server
* Provide all the mandatory details.
  * *Distinct Name\**: Name to identify this connection.
  * Host: Provide IP address or Host name.
  * Port: Provide the Port number.
  * Database: Provide database name if there is any, it should be an existing database.
  * *Username*: SQL Server account username
  * *Password*: SQL Server account password
* *SSH Tunnel in* SQL Serve&#x72;*:*
  * Connect via SSH Host: Click on "Yes" to configure SSH Tunnel.
  * SSH Host\* : IP address or hostname of the SSH server
  * SSH Public Key\* : Copy the SSH public key and paste it into the \~/.ssh/authorized\_keys file of the SSH user on the ssh host machine
  * SSH Login Username\* : Provide the SSH Login Username where you added the public key. Further, verify the provided details by testing the connection.
  * *Networking rules from your end:*

    * Make sure SSH Host has public IP
    * Whitelist Sprinkle IPs (34.93.254.126, 34.93.106.136) in your SSH Host. SSH host should be able to accept traffic from these Sprinkle IPs.
    * Make sure SSH port 22 is open.

    Once this setting is completed you can try test-connection and if successful, you can update the changes.
* Test Connection&#x20;
* Create

### Create a Cloud Bucket

Sprinkle stores all intermediate data and report caches in the cloud bucket. Sprinkle supports creating a bucket in AWS, GCP, or Azure. Refer to respective documents for creating a configuring the Cloud Bucket.

* [Create S3 Bucket](https://docs.sprinkledata.com/product/integrating-your-data/aws-redshift#step-1-create-a-s3-bucket)
* [Create Google Cloud Bucket](https://docs.sprinkledata.com/product/integrating-your-data/google-bigquery#create-cloud-bucket)
* [Create Azure Storage Container](https://docs.sprinkledata.com/product/integrating-your-data/azure-synapse#create-azure-storage-container)
