Create a linked server to MySQL from SQL Server

Problem

SQL Server Linked Servers are used to query remote databases and in this tip we will learn how to configure a linked server for a MySQL server from SQL Server.

Solution

Here are the steps to create a linked server to a MySQL server.

First we need to create an ODBC data source to the MySQL server on the box where SQL Server is installed. In my case I have MySQL and SQL Server installed on the same box.

Go to Start > Administrative Tools > Data Sources (ODBC) > System DSN and select Add

ODBC Connections

Select the MySQL ODBC driver.

mysql driver in ODBC

Give the data source name of your choice. Input the TCP/IP Server address, port, user and password for the MySQL server and click OK.

Connection Details for MySQL

Now open SQL Server Management Studio (SSMS) and login to SQL Server.

In the Object Explorer for the SQL Server instance, go to Server Objects and right click and select New > Linked Server…

Give the linked server a name of your choice.

Under the Provider drop down select Microsoft OLEDB Provider for ODBC Drivers.

Input the Product name as MySQL and enter the data source name which was created earlier.

New Linked Serverin SQL Server Management Studio

Go to the Security tab and enter the remote login and password (on the bottom) and click OK.

Security Properties for a Linked Server

Now test the linked server which was just created and you should be able to see the objects for the MySQL data source (note I hid the names of the tables from my server in the image below).

Test Linked Server in SQL Server Management Studio

Next Steps

2 Comments

  1. I have mysql installed on a different server than I do MSSQL. Therefore, the server with MSSQL doesn’t have the ODBC drivers for mysql installed. While I can google it, I thought this might be a good addition to your blog.

Leave a Reply

Your email address will not be published. Required fields are marked *