Udostępnij za pośrednictwem


Opis synonimy

Synonim jest obiekt bazy danych, który służy do następujących celów:

  • Alternatywna nazwa innego danych zawieraobiekt podstawowy, określone jako obiekt podstawowy, które mogą znajdować się na serwerze lokalnym lub zdalnym.

  • Zapewnia warstwę abstrakcji, która chroni aplikację klient z zmiany nazwy lub lokalizacji obiekt podstawowy.

Rozważmy na przykład Employee tabela AdventureWorks2008R2 Przykładowa baza danych znajduje się na serwerze o nazwie Server1.Aby odwołać się w tej tabela z innego serwera Server2, klient aplikacji musiałby użyć nazwy czteroczęściowym Server1.AdventureWorks.HumanResources.Employee.Ponadto jeżeli zmienić położenie tabela, na przykład do innego serwera aplikacji klient musiałaby zmodyfikowany w celu odzwierciedlenia tej zmiany.

Adres oba te problemy, można utworzyć synonim EmpTable, na Server2 dla Employee tabela na Server1.Teraz klient tylko aplikacja musi użyć Jednoczęściowa nazwa EmpTable, aby odwołać się za Employee tabela.Ponadto jeśli lokalizację Employee zmiany tabela będą musiały zmodyfikować synonimu, EmpTable, aby wskazywały nową lokalizację Employee tabela.Because there is no ALTER SYNONYM statement, you first have to drop the synonym, EmpTable, and then re-create the synonym with the same name, but point the synonym to the new location ofEmployee.

Synonim należy do schematu i innych obiektów w schemacie, takich jak nazwa synonim musi być unikatowa.Można utworzyć synonimów dla następujących obiektów bazy danych:

procedura składowana zestawu (CLR)

Montaż (CLR)funkcja zwracająca tabelę

Montaż (CLR) wartość skalarna funkcji

Montaż (CLR) wartość zagregowana funkcje

Procedurę filtrowania replikacji

Rozszerzona procedura składowana

SQL wartość skalarna funkcji

SQLfunkcja zwracająca tabelę

Funkcja wbudowany rozpatrywaną valued SQL

SQLprocedura składowana

Wyświetlanie

Tabela1 (zdefiniowany przez użytkownika)

1 Zawiera tabele tymczasowe lokalne i globalne

Ostrzeżenie

Czteroczęściowym nazw obiektów podstawowych funkcja nie są obsługiwane.

Synonim nie może być obiektu podstawowego dla innego synonim i nie można odwoływać się synonimem funkcja agregująca zdefiniowana przez użytkownika.

powiązanie między synonim i jego obiekt podstawowy jest tylko nazwa.Istnienie, typ i uprawnienia kontroli obiekt podstawowy jest odroczone do czasu uruchomienia czas.Dlatego obiektu podstawowego można modyfikować, porzucone, lub usunięty i zastąpiony przez inny obiekt, który ma taką samą nazwę jak oryginalny obiekt podstawowy.Na przykład, rozważmy synonim MyContacts, że odwołania Person.Person tabela w Adventure Works.If the Person table is dropped and replaced by a view named Person.Person, MyContacts now references the Person.Person view.

Odniesienia do synonimy są nie związanych ze schematem.Dlatego synonim można upuszczać na dowolnym czas.Jednakże przez upuszczenie synonimu, istnieje ryzyko opuszczania dangling odwołania do synonimu, który został usunięty.Te odwołania znajdują się tylko przy uruchomieniu czas.

Synonimy i schematów

Jeśli domyślny schemat, który nie jest właścicielem i chcesz utworzyć synonim, muszą kwalifikować nazwę synonim o nazwie schematu, który własne.Na przykład własny schemat x, ale y jest domyślny schemat oraz za pomocą instrukcja tworzenia SYNONIM, należy poprzedzać prefiksem nazwy synonim ze schematem x, zamiast nazw synonimem przy użyciu nazwy jednoczęściowe.Aby uzyskać więcej informacji na temat tworzenia synonimy, zobacz Tworzenie SYNONIM (Transact-SQL).

Udzielanie uprawnień na synonim

Synonim tylko właścicieli, członkowie db_owner, lub członkowie db_ddladmin może przyznać uprawnienie na synonim.

Można udzielić ODMÓW, ODWOŁAĆ wszystkie lub niektóre z następujących uprawnień na synonim:

FORMANT

USUŃ

WYKONANIE

WSTAW

WYBIERZ

PRZEJĘCIE NA WŁASNOŚĆ

AKTUALIZACJA

DEFINICJA WIDOKU