MSSQL Server’da Other Data Source ile LINKED SERVER  Oluşturma-4

Bu makalede mssql’den mssql’e Other data source kullanarak linked server bağlanmayı anlatacağım. Bu bağlanma şekliyle sql server üzerinden sql server bağlantı haricinde diğer kaynaklara da bağlantı yapabiliriz.

Önceki makalelerde Server Type üzerinde  SQL Server  ile  yapmış olduğum bağlantı  örneklerini Other data source üzerinde deneyelim.

Linked server: Linked server bu kısımda adlandırılır. Herhangi bir isim verebilirsiniz. Server type olarak SQL Server ı seçseydik servername\instancename yazılması gerekmekteydi.

Provider kısmından mssql’den mssql’e yada mssql’den postgresqlee veya başka kaynaklarımıza bağlanabiliriz. Postgresql bağlantı için aşağıdaki bağlanma şekli kullanılır. Mssql serverdan postgresql bağlantısı için linked server makalesi okunabilir.

Provider kısmında mssql’den mssql’e bağlanmak için iki yöntem kullanılır aynı işlemleri görmektedir.

  • Microsoft OLE DB Provider for SQL Server
  • SQL Server Native Client 11.0

Yukarıdaki bölümlerin açıklamasını yapalım:

  • Product name: Buraya herhangi bir açıklama eklenebilir.
  • Data source: Bağlantı kurulacak server adı ve SQL instance adı ile beraber girilmelidir. Yada ODBC ile farklı sunuculardaki isimde gelebilir.
  • Provider string: Boş kalabilir.(bağlanmak istediğimiz veritabanı bilgisi girilebilir.) Secondary sunucusuna bağlanılacaksa ApplicationIntent=ReadOnly ifadesi yazılması gerekmektedir.
  • Catalog: Bağlantı kurulacak veri tabanı adı buraya girilmelidir. Linked server oluşturulurken catalog kısmında veritabanı adı girilsede security tabında girilen user’ın o instance da eğer tüm veritabanlarını görme yetkisi varsa linked server da user’ın tüm yetkili olduğu db’leri linked server’ın altına getirecektir.

Yukarıdaki açıklamaları yaptıktan sonra asıl bizim için önemli olan kısım Security bölümünde önceki makalelerde yapmış olduğum bağlantı şekillerinden bir  tanesini deniyorum.

Sonuç olarak yine bağlanma şekillerindeki sql bağlanma şekli gibi oldu.

İkinci bir örneğimiz Be made using this security context yöntemiyle yapalım. Burada SQL server Native Client 11.0 kullanıcısıyla bağlanmayı deneyelim.

Not: AlwaysOn yapılarınızda read only routing yapılandırmanız varsa linked server ile bağlantı yapan select sorguların secondary sunucusuna yönlendirilmesi için şart olan kısım ne kadar önemsiz gibi görünse de Catalog kısmına kullanıcının yetkili olduğu bir veritabanı adının girilmesi gerekmektedir.

Bu işlem ne yapıyordu A1 login’inin kayıtlı olduğu instance altında herhangi bir farklı login oluşturduğumuzda yeni oluşturduğumuz login’de A1 kullanıcının bağlantı yetkilerini kullanabiliyordu.

2. Örneğimizde oluşturduğumuz linked server yapımızın olduğu S2\TEST instance’ında T1 isminde yeni bir login oluşturalım sonucu görelim Kısacası bu yapıyla oluşturduğum(be made using this security context) instance altında ne kadar login varsa hepsi bu linked server ı kullanabilecek ister yeni bir kullanıcı oluşturalım yada önceden oluşturulmuş olan kullanıcılar olsun.

Linked server’ın oluşturulduğu instance altında bulunan loginler.

Tüm bu kullanıcılar ve sa bu linked server’ı kullanabilecek.

Birkaç kullanıcıyla login olup linked server bağlantımızı kontrol edelim.

Başka bir makalede görüşmek dileğiyle..

“Ey Rabbimiz! Herkesin hesaba çekileceği günde beni, ana babamı ve müminleri bağışla!”İbrahim-41

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir