veritabanı içerisinde nesnelere verilen ALIAS ‘tır. Hangi nesneler için Synonym oluşturulmaktadır ;

  • Stored Procedure
  • Table-Valued Function
  • Scalar Function
  • Aggregate Function
  • Extenden Stored Procedure
  • View
  • Table

Syntax :
CREATE SYNONYM <Synonym_Adi>
FOR <Database_Adi>.<Schema_Adi>.<Tablo_Adi>
SSMS ile Synonym leri görme ;

Synonym oluşturulduktan sonra belirtilen asıl nesneye synonym üzerinden erişim sağlanabilmektedir.
Bu ihtiyaç Neden Ortaya Çıkmıştır ?
Bunun birden fazla sebebi bulunmaktadır aslında ama biz en temel sebeplerindne birine değinecek olur isek ; uygulama içerisinden bir tabloya Server bazlı ulaşmak istediğimizde ki süreci kod blokları içerisinde birden fazla yerde kullandığımızı düşünelim. Tablomuzu başka bir Server ‘a taşıdığımızda kod un yazılan her yerinde değişiklik yapmamız gerekece. Fakat Synonym ile erişmiş olsa idik sadece Synonym in erişim metodunu değiştirmemiz yeterli olacaktı. Bu ve bunun gibi süreçler için Synonym kullanmak çok ama çok faydalı.
Birkaç Örnek yapacak olur isek ;
Yeni bir Synonym SSMS üzerinden oluşturmak istediğimizde Synonym ‘in üzerine gelip sağ tıklıyoruz ve New Synonym sekmesine basıyoruz.

Aşağıda ki gibi bir ekran karşımıza çıkıyor.

Bu ekranda Synonym imize ait tüm süreçleri dolduruyoruz.
Synonym Name : Synonym ‘imize vereceğimiz ismi bu alana giriyoruz.
Synonym Schema : Synonym ‘imizin bulundurulacağı Schema yı belirtiyoruz.
Server Name : Synonym ‘imizin oluşturulacağı Server ‘ı belirtiyoruz.
Database Name : Synonym ‘imizin hangi veritabanı üzerinde oluşacağını belirtiyoruz.
Schema : Erişilecek Nesnenin Schema bilgisini belirtiyoruz.
Object Type : Erişilecek Nesnenin tipini belirtiyoruz.(Ör: Table,Function,Stored Proc vs.)
Object Name : Erişilecek Nesnenin Adı
Örneğimizde biz kendi yapımıza göre alanlarımızı doldurduk. Permission sekmesine geçtiğimizde ise ;

Burada database imize Map lediğimiz kullanıcıların yetkilendirmelerini de bu ekrandan sağlayabiliyoruz.