Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Tworzy nowy synonim.
Transact-SQL konwencje składni
Składnia
Składnia programu SQL Server:
CREATE SYNONYM [ schema_name_1. ] synonym_name FOR <object>
<object> ::=
{
[
server_name. [ database_name ] . [ schema_name_2 ] .
| database_name. [ schema_name_2 ] .
| schema_name_2.
]
object_name
}
Azure SQL Database i SQL database w składni Microsoft Fabric:
CREATE SYNONYM [ schema_name_1. ] synonym_name FOR <object>
<object> ::=
{
[ database_name. [ schema_name_2 ] . | schema_name_2. ] object_name
}
Arguments
schema_name_1
Określa schemat, w którym jest tworzony synonim. Jeśli nie określono schema_name , program SQL Server używa domyślnego schematu bieżącego użytkownika.
synonym_name
Nazwa nowego synonimu.
server_name
Nazwa serwera, na którym znajduje się obiekt podstawowy.
database_name
Nazwa bazy danych, w której znajduje się obiekt podstawowy. Jeśli database_name nie zostanie określona, zostanie użyta nazwa bieżącej bazy danych.
schema_name_2
Nazwa schematu obiektu podstawowego. Jeśli schema_name nie zostanie określony, zostanie użyty domyślny schemat bieżącego użytkownika.
object_name
Nazwa obiektu podstawowego, do którego odwołuje się synonim.
Uwaga / Notatka
Azure SQL Database oraz baza danych SQL w Microsoft Fabric obsługują trzyczęściowy format database_name.[schema_name].object_name nazwy, gdy database_name jest aktualną bazą danych, database_name jest i tempdbobject_name zaczyna się od #.
Uwagi
Obiekt podstawowy nie musi istnieć w czasie tworzenia synonimów. Program SQL Server sprawdza istnienie obiektu podstawowego w czasie wykonywania.
Synonimy można utworzyć dla następujących typów obiektów:
- Procedura składowana zestawu (CLR)
- Funkcja table-valued zestawu (CLR)
- Funkcja skalarna zestawu (CLR)
- Funkcje agregujące zestawu (CLR)
- Procedura filtrowania replikacji
- Rozszerzona procedura składowana
- Funkcja skalarna języka T-SQL
- Funkcja wartości tabeli języka T-SQL
- Funkcja wbudowanych tabel języka T-SQL
- Procedura składowana języka T-SQL
- Tabela (zdefiniowana przez użytkownika, łącznie z lokalnymi i globalnymi tabelami tymczasowymi)
- View
Czteroczęściowe nazwy obiektów bazowych funkcji nie są obsługiwane.
Synonimy można tworzyć, usuwać i odwoływać się w dynamicznym języku T-SQL.
Synonimy są specyficzne dla bazy danych i nie mogą być dostępne dla innych baz danych.
Permissions
Aby utworzyć synonim w danym schemacie, użytkownik musi mieć uprawnienia i być CREATE SYNONYM właścicielem schematu lub mieć ALTER SCHEMA uprawnienia.
Uprawnienie CREATE SYNONYM jest uprawnieniem, które można przyznać.
Uwaga / Notatka
Nie potrzebujesz uprawnień dla obiektu podstawowego, aby pomyślnie skompilować instrukcję CREATE SYNONYM , ponieważ wszystkie kontrole uprawnień w obiekcie podstawowym są odroczone do czasu wykonywania.
Przykłady
A. Tworzenie synonimu dla obiektu lokalnego
Poniższy przykład najpierw tworzy synonim obiektu podstawowego w ProductAdventureWorks2025 bazie danych, a następnie wykonuje zapytanie dotyczące synonimu.
-- Create a synonym for the Product table in AdventureWorks2022.
CREATE SYNONYM MyProduct
FOR AdventureWorks2022.Production.Product;
GO
-- Query the Product table by using the synonym.
SELECT ProductID, Name
FROM MyProduct
WHERE ProductID < 5;
GO
Oto zestaw wyników.
ProductID Name
----------- --------------------------
1 Adjustable Race
2 Bearing Ball
3 BB Ball Bearing
4 Headset Ball Bearings
(4 row(s) affected)
B. Tworzenie synonimu dla obiektu zdalnego
W poniższym przykładzie obiekt Contactpodstawowy , znajduje się na serwerze zdalnym o nazwie Server_Remote.
EXEC sp_addlinkedserver Server_Remote;
GO
USE tempdb;
GO
CREATE SYNONYM MyEmployee FOR Server_Remote.AdventureWorks2022.HumanResources.Employee;
GO
C. Tworzenie synonimu dla funkcji zdefiniowanej przez użytkownika
Poniższy przykład tworzy funkcję o nazwie dbo.OrderDozen , która zwiększa liczbę zamówień do 12 jednostek. W tym przykładzie zostanie utworzony synonim dbo.CorrectOrder funkcji dbo.OrderDozen .
-- Creating the dbo.OrderDozen function
CREATE FUNCTION dbo.OrderDozen (@OrderAmt INT)
RETURNS INT
WITH EXECUTE AS CALLER
AS
BEGIN
IF @OrderAmt % 12 <> 0
BEGIN
SET @OrderAmt += 12 - (@OrderAmt % 12)
END
RETURN (@OrderAmt);
END;
GO
-- Using the dbo.OrderDozen function
DECLARE @Amt INT;
SET @Amt = 15;
SELECT @Amt AS OriginalOrder,
dbo.OrderDozen(@Amt) AS ModifiedOrder;
-- Create a synonym dbo.CorrectOrder for the dbo.OrderDozen function.
CREATE SYNONYM dbo.CorrectOrder
FOR dbo.OrderDozen;
GO
-- Using the dbo.CorrectOrder synonym.
DECLARE @Amt INT;
SET @Amt = 15;
SELECT
@Amt AS OriginalOrder,
dbo.CorrectOrder(@Amt) AS ModifiedOrder;
Treści powiązane
- DROP SYNONIM (Transact-SQL)
- DANE ZDARZEŃ (Transact-SQL)
- DOTACJA (Transact-SQL)
- Synonimy (aparat bazy danych)