Bu makalede mssql’den mssql’e linked server kullanarak bağlanmayı anlatacağım. Bağlanma türlerine değinmeye çalışacağım. Üçüncü bahsedeceğim bağlanma türü linked server security ekranında bulanan Not be made seçeneği olmuş olacaktır.
Not be made seçeneği, SQL Server’da bir linked server bağlantısının kimlik doğrulama yapılmaksızın kurulamayacağını belirtir. Bu seçenek genellikle bağlantının yapılması istenmediği veya kimlik doğrulama gereksiz olduğu durumlarda kullanılır. Eğer gerçek bağlantı ve kimlik doğrulama sağlanması gerekiyorsa, bu seçenek yerine “Be made using this security context” veya “Be made using the login’s current security context” gibi seçenekler tercih edilmelidir.
Not be made Kullanım Senaryosu:
- Bu genellikle hatalı yapılandırmalarda veya bağlantının yapılması gerekmeyen, fakat test amacıyla yapılandırılan linked server’lar için kullanılan bir seçenektir.
- Gerçekten bağlantı yapılmak istenmeyen, ancak bağlantı ayarlarının tanımlandığı durumlarda bu seçenek tercih edilebilir.
Tanımladığınız local login dışındaki kimse bu linked server’ı kullanamayacaktır. Bir örnek üzerinden bu konuyu açıklayalım.
S2\TEST sunucusu ve instance’ında hiçbir yetkisi olmayan C1 adında bir login’imiz oluşturduğumuzda bu login S1 ve S2 sunucusunda A1 login’in üzerinden ilgili sunucuya gitmiş olacak ama bu linked server bağlantısı gözükmeyecektir.(Kullanıcılarımızın tanımlı olduğu resim aşağıdadır.)

S2 sunucusunda administrator olan kullanıcı ile bu linked server’ımızı oluşturuyoruz. S2\administrator kullanıcısı üzerinde oluşturulan loginler aşağıda görülmektedir.


Bu hata mesajı’nı veriyor önemsemeden geçiyoruz. Linked server’ımız oluştu. Bunun sebebi genellikle sizin kullandığınız login’in sysadmin bile olsanız bu linked server’ı kullanma yetkisinin olmamasıdır. Karşı sunucuya bağlanma yetkisi yoktur.(S2\administrator)
Bu yapı ile oluşturulduktan sonra sadece belirtilen kullanıcı linked server bağlantısını görür. Başka hiçbir kullanıcı görmez.
Şimdi aşağıdaki 3 resme dikkat ederek verilerin hangi login’de geldiğini görmüş olalım.
- Birinci Olarak sa kullanıcında linked server’da veritabanları gelmedi.

- İkinci Olarak A1 kullanıcısında bu linked server bağlantısı gelmedi. Çünkü A1 kullanıcısıyla linked server yapımızı oluşturmadık.

A1 kullanıcısı burada aracı rolünü üstleniyor.
- Üçüncü Olarak hiçbir yetkisi olmayan S2\test instance’ında oluşturulmuş olan C1 kullanıcısıyla login olduğumuzda linked server’ın geldiğini görmüş oluyoruz.

Not: Linked server ekranında impersonate checkbox yapısını işaretlenirse Local user alt kısımda bulunan remote user ve password bilgilerini kullanmaktadır. Yukarıdaki ekran resminde görüldüğü gibi sağ tarafta belirtilmesine gerek yoktur.
Başka bir makalede görüşmek dileğiyle..
“Ey Peygamber! Sakın zalimlerin yaptıklarından Allah’ın gâfil olduğunu sanma! Ancak Allah, onların cezalarını, gözlerin dışa fırlayacağı güne erteler.”İbrahim-42