Tag Archives: SQL Server 2012

Post navigation

Last week Microsoft released Service Pack 1 for Microsoft SQL Server 2012. If you have been waiting for the Service Pack 1 to be released, to apply on your existing SQL Server 2012 installations, then go ahead and download the Service Pack 1 from Microsoft Download Center linkhttp://www.microsoft.com/en-us/download/details.aspx?id=35575.

As with all Service Packs for SQL Server, this Service pack can also be applied to all the editions of SQL Server 2012.. If you would like to know more about what are the new features that this SP1 brings to SQL Server 2012, read them here in the following linkhttp://msdn.microsoft.com/en-us/library/bb500435. Look for the section New or Enhanced features in SQL Server 2012 SP1..

In the first part, we saw how to create a Linked Server using graphical interface from SSMS. In that method, we created linked server by selecting Other data source as Server type. In this method of creating Linked Server, we shall choose SQL Server as Server type and know more details about what is the difference when creating this way.

When creating Linked Server in this way, keep in mind that Linked Server name we are going to enter in the text box should be the same as the target SQL Server. If the target SQL instance is a named instance, you should be entering the full instance name as Servername\Instancename.

Security and Server Options in this method is same as as we saw in the first part of this blog, so I am avoiding explanation of those steps in this blog. Once you are done, choose OK to create the Linked Server.

Using T-SQL

You can also create a Linked Server using system stored procedure sp_addlinkedserver. Below screen shot shows the script that I used to create a linked server using the system stored procedure sp_addlinkedserver.

This is the first blog in a 2 part series on how to create Linked Server to connect to another SQL Server (Instance) and run queries using the created Linked Server. These 2 blogs will give you step by step instructions to create Linked Server on SQL Server 2012 using Graphical User Interface and T-SQL.

Using graphical user Interface in SSMS

First we will look at the steps to create a Linked Server the easy way. In Object Explorer , expand the tree view of the SQL Server, expand Server Objects and Right Click on Linked Servers and choose New Linked Server… from the pop-up menu (as shown below)

Then a dialog box is displayed, by default the General Page is displayed, where we can enter the name of the Linked Server that we are about to create in the Text box corresponding to Linked Server : In this example I am creating a Linked Server with name as SAMPLEMART_LINSVR.

Then, under Server type, choose Other data source option, (in the next blog we shall see when to choose SQL Server option) . From the drop down list corresponding to Provider, choose SQL Server Native Client 11.0.

Note: If you care creating a Linked Server to connect to another SQL Server in SQL Server 2008, then choose SQL Server Native Client 10.0, apart from that the rest everything is similar to what you see in this blog..

For Product name, enter SQLServer, for Data Source enter the name of the SQL Server Instance (the remote SQL Instance to which you want to connect), if the remote instance is a named instance, then enter the complete server name as machinename\instancename.

Next, select the Security page in the left side pane. Choose the last option Be made using this security context and enter the SQL Login Username and Password. This username with that password must exist on the remote server, prior to you using it here.

Next, select Server Options page. Choose appropriate value for the server options, in most cases the values are True or False which indicates whether the Linked Server being created should have that appropriate setting enabled or not. As an example, for Data Access, I selected True, indicating that we would like to access the data on the remote server using the Linked Server. If you would like to create a Linked Server now and do not want to access data using the Linked Server, you can choose False and then when the need arises to access data on the remote server, you can choose True.

Note that you can modify all of the options at a later time after the Linked Server is created. Once your selections are done, click OK to create the Linked Server.

If you do not see any error message, then your task of creating Linked Server was successful. You can find if it was created successfully by expanding the Linked Server node in Object Explorer and expanding the newly created Linked Server. You should be able to see the databases and also able to expand those databases and see the tables, etc (as shown below)

Querying data using a linked server

Now that we have created a linked server, we shall see how to query the data using the linked server. There are 2 ways we can query using a linked server; In this blog we are going to look at the easiest way to query a linked server.

Using 4 part Notation

When querying a table using linked server, it is easier to query with a 4 part notation which is LinkedServer.Database.Schema.Objectname. In a normal queries we usually use a 2 part notation as schema.objectname such as dbo.Employee. While querying data using a linked server we would have to prefix LinkedServer.databasename to the 2 part notation. Hence in the below query, I am including the Linked Server name SAMPLEMART_LINSVR followed by the database name (SampleMartDW) followed by schema (dbo) and table name DimEmployeeDetails..

Though this way of querying a linked server is easier, the queries will be slower when compared to the other way of querying a Linked Server.

Categories

Categories

Disclaimer

The opinions and views posted in this blog are purely my personal views, they do not endorsed or represented that of my Employer or by Microsoft SQL Server.

The code/scripts and any kind of tips published in this blog are "AS IS", though they have been tested before publishing on the blog. However when following any kind of advice available in this blog, or usage of the code the user should take due diligence, and the Author is not responsible for any kind of damages occurred due to the usage.