SQL Linked Server Kullanımı

MS SQL ile başka bir Serverda bulanan Database Select ile görüntülemek için veya kendi tablolarınız ile join yapmak, kendi tablonuzda olup burada bulunmayan verileri bulmak, buradaki veriler ile kendi verilerinizi bir arada kullanmak isterseniz, iki veya daha fazla server arasında iletişim kurabilmek için SQL Linked Server ile bağlantı kurabilirsiniz. Üstelik Oracle, Access vb. başka veri tabanlarına da bağlantı kurabilirsiniz.
MS SQL de aynı serverda olan databaselere yetkiniz varsa zaten ulaşabilirsiniz.
Örneğin aynı serverda Firma1 ve Firma2 isminde 2 ayrı veri tabanı varsa,
SQL Server Management dan
Use Firma1
komutu ile Firma1 aktif database yapılır.
Select * From [Firma2].dbo.[Muhasebe]
komutu ile Firma2 databasesinde bulunan Muhasebe tablosuna yetkiniz varsa erişebilirsiniz.
Ancak Firma3 isminde başka serverde bulunan bir Database varsa buna erişmek için bu Servera logon olmak gerekir. Bulunduğunuz SQL Management den buraya gelebilmek için Logon olmak yani kullanıcı adı ve şifresini bilmek ve bununla gelmek gerekir. Bu durumda Select ifadesi veya SQL ifadeleri ile kullanıcı bilgisi gönderilmez. Çözüm ise linked Server ekleyerek SQL Server login bilgilerini kayıt etmektir. Böylece linked Server sayesinde başka serverlara erişebiliriz.
Bunun için öncelikle Linked Server tanımı yapılmalı.
1-Server Objects
2-Linked Servers
3-New Linked Servers
4-Security sekmesinden Login kullanıcı adı ve şifre tanımı yapılır.
Linked Server tanımı yapıldıktan sonra tanımlı servera artık TSQL komutları ile erişebilinir.
Select * From [10.10.10.100].FIRMA3.dbo.TABLOADI
Bulunduğumuz serverda bulunan tablolar ile Link tanımlanmış serverda bulunan tablolar arasında sorgu aşağıdaki gibi yapılabilir.
Select * From [Firma2].dbo.[Muhasebe] AS A1
Inner Join [10.10.10.100].FIRMA3.dbo.TABLOADI AS A2 ON A1.ID=A2.ID