Aylık arşivler: Mayıs 2014

Bir SQL Server üzerine başka sql server tanıtma & sp_addlinkedserver

Değerli okuyucularım, bazen birden fazla sql sunucusunu olduğu bir ortamda çalışırken iki farklı sql sunucusu üzerinden ortak sorgular yapma ihtiyacı doğabilir. Bu benim bazen başıma  geliyor ve bunun için mevcut sql serverlardan birine diğer sql sunucuyu bağlayarak işimi çözüyorum. Burada eğer iki sunucu arasında versiyon farkı varsa üst sürüme alt sürümü bağlamak doğru olur. Bu işlem kullanılan sql server sürümüne göre birkaç değişik şekilde yapılabilir.
İsterseniz SQL Server management studio üzerinde Server Objects altında Linked Servers üzerine sağ tıklayarak New Linked Server seçeneğinden başka bir sql server sunucusunu bağlayabilirsiniz.
Ancak ben bunu benim gibi kod ile yapmak isteyenler için aşağıdaki örnek genellikle işe yarar

Burada Sp_Addlinkedserver ve Sp_Addlinkedsrvlogin prosedürleri kullanılarak  mevcut bir sql sunucu üzerine yeni bir sql sunucu bağlantısı ekleniyor.

exec sp_addlinkedserver @server='NewSqlServer', @srvproduct='SQL Server'
exec sp_addlinkedsrvlogin @rmtsrvname='NewSqlServer', @locallogin=NULL, @useself='False', @rmtuser='sa', @rmtpassword='123'

 

Bu komutlar başarılı şekilde çalıştıktan sonra sorgularınızda misafir sunucu için DB isimlerinden önce ilgili sql server ın adını yazmanız yeterli. Eğer sorun çıkarsa bir de sunucu ismine ip yazarak deneyin.

Örnek;
Select MusteriKodu from MYDB.dbo.MUSTERILER A
LEFT JOIN  NevSqlServer.MYDB.dbo.MUSTERILER B
ON A.MusteriKodu=B.MusteriKodu

Böylece tek sunucu üzerinde iki farklı sunucunun database leri üzerinden ortak sorgulama yapmış olduk.