Linked Servers Nedir? Nasıl Kurulur?
Linked Servers Nedir?
Merhaba, bu yazımda kısa ve öz bir şekilde Linked Server nasıl kurulur ve kullanılır anlatmak istiyorum. Linked Server, aynı instance üzerinde farklı veri tabanları arası, farklı sunucularda bulunan veri tabanları arası veya farklı bir kaynaktan veri aktarımı yapılmak istendiğinde kurulan bir yapıdır.
Linked Servers Kurulumu
Linked Servers’ı iki farklı SQL kaynağı kullanarak oluşturmak için işleme başlamadan önce bağlantı kurulacak sunucuda user açmak veya orada bulunan herhangi bir userı bu iş için kullanmak gerekir.
SQL’e bağlandıktan sonra Server Objects>Linked Servers’a sağ tıklanır ve New Linked Server denilir.
General tabında aşağıdakiler bulunur.
Yöntem-1
Server Type: SQL Server seçilir, burada Linked server hedef sunucu adı ve instance name olmalıdır.
Dikkat: Eğer aynı server içinde link server yapılacaksa buraya nokta ve instance adı (.\MSSQLSERVER) konulmalıdır. (Resim-3) Benim Instance name’im SQL2017 olduğu için böyle girdim ama defaultta bu ayar MSSQLSERVER olur.
Security tabında Be made using this security context işaretlenir ve en başta açılan username ile password buraya girilir.
OK denilerek işlem bitirilir. İster kendi local SQL’inize ister uzak sunucudaki SQL’e linked server, aşağıdaki gibi Linked Servers’ın altında servername\instancename ile bağlanmış olur.
Kenid localimden bir sorgu çekeyim.
--openquery ile Select * from Openquery([.\SQL2017], 'select * from TEST.dbo.Names') --Köşeli parantez içine servername\instancename yazılamalıdır. Select * from [.\SQL2017].TEST.dbo.Names
Yöntem-2
General tabında, Server Type: Other Data Source seçilerek devam edilir.
Linked server: Linked server bu kısımda adlandırılır. Herhangi bir isim verebilirsiniz.
Server Type: Eğer bir SQL Instance’ına bağlanılacaksa yukarıdaki gibi SQL Server seçilebilir. Farklı bir kaynaktan veri çekilecekse Other Data Source işaretlenebilir. Yine SQL’e de Other data source diyerek erişebilirsini. Bu kaynaklara Other data source u seçtikten sonra Provider kısmından ulaşabilirsiniz. Resim-8 de görebilirsiniz. SQL’e bağlantı kurarak devam edeceğiz.
Provider: Buraya herhangi bir açıklama eklenebilir.
Data source: Bağlantı kurulacak server adı ve SQL instance adı ile beraber girilmelidir.
Provider string: Boş kalabilir.
Catalog: Bağlantı kurulacak veri tabanı adı buraya girilmelidir.
Daha sonra Security sekmesine geçilir. Burada en altta görülen Be made using this security context işaretlenir ve en başta açılan username ile password buraya girilir.
Bu şekilde OK denir. Linked Servers altına verilen isimle oluşturulmuş olur.
Bir sorgu çekelim.
--openquery ile Select * from Openquery([LSERVER], 'select * from AdventureWorks2016.dbo.Person') --Köşeli parantez içine Linked Server'a verilen isim yazılamalıdır. Select * from [LSERVER].AdventureWorks2016.dbo.Person
Not: Linked Server ı oluştururken Catalog kısmında veri tabanı adı girilse de Security tabında girilen user ın, o instance da eğer tüm veri tabanlarını görme yetkisi varsa tüm veri tabanlarına tek bir user ile bağlanılabilir. Örneğin yukarıda her ne kadar AdventureWorks2016 girmiş olsam da girdiğim userın yetkilerinden dolayı tüm veri tabanlarına bağlantı sağlayabiliyorum.
Umarım faydalı bir yazı olmuştur. Microsoft’un sitesinden daha detaylı bilgi için buraya tıklayabilirsiniz. Diğer yazılara göz atmak isterseniz linkleri aşağıya ekledim. İyi çalışmalar diledim 🙂
SQL SERVER ATTACH DETACH İŞLEMLERİNİ KULLANARAK VERİ TABANINI TAŞIMA
SQL Server Login ve User İşlemleri
2020’nin En Popüler Veri Tabanları
Veri Tabanı Yönetim Sistemi (Dbms) ve İlişkisel Veri Tabanı (Rdbms) Ne Demektir?