Zmienianie nazw tabel (aparat bazy danych)

Dotyczy do: SQL Server 2016 (13.x) i nowsze wersje Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

W tym artykule opisano sposób zmieniania nazwy tabeli w bazie danych.

Aby zmienić nazwę tabeli w usłudze Azure Synapse Analytics lub Parallel Data Warehouse, użyj polecenia RENAME (Transact-SQL).

Limitations

Caution

Przed zmianą nazwy tabeli należy dokładnie przemyśleć. Jeśli istniejące zapytania, widoki, funkcje zdefiniowane przez użytkownika, procedury składowane lub programy odwołują się do tej tabeli, modyfikacja nazwy powoduje, że te obiekty są nieprawidłowe.

Zmiana nazwy tabeli nie powoduje automatycznego zmieniania nazw odwołań do tej tabeli. Należy ręcznie zmodyfikować wszystkie obiekty odwołujące się do zmienionej tabeli. Na przykład w przypadku zmiany nazwy tabeli i odwołania do tej tabeli w wyzwalaczu należy zmodyfikować wyzwalacz, aby odzwierciedlić nową nazwę tabeli. Użyj sys.sql_expression_dependencies, aby wyświetlić listę zależności w tabeli przed zmianą nazwy.

Permissions

Wymaga uprawnienia ALTER w tabeli.

Korzystanie z programu SQL Server Management Studio

Zainstaluj najnowszą wersję programu SQL Server Management Studio (SSMS).

Zmienianie nazwy tabeli

  1. W eksploratorze obiektów kliknij prawym przyciskiem myszy tabelę, której nazwę chcesz zmienić, a następnie wybierz projekt z menu skrótów.

  2. Z menu Widok wybierz pozycję Właściwości.

  3. W polu wartości Nazwa w oknie właściwości wpisz nową nazwę tabeli.

  4. Aby anulować tę akcję, naciśnij Escape (ESC) przed opuszczeniem tego pola.

  5. Z menu pliku wybierz pozycję Zapisz nazwę tabeli .

Zmienianie nazwy tabeli

  1. W Eksploratorze obiektów nawiąż połączenie z wystąpieniem silnika bazy danych.

  2. Na pasku standardowym wybierz pozycję Nowe zapytanie.

  3. W poniższym przykładzie zmieniono nazwę tabeli SalesTerritory na SalesTerr w schemacie Sales. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj.

    USE AdventureWorks2022;
    GO
    EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
    

Important

Składnia sp_rename dla @objname powinna zawierać schemat starej nazwy tabeli, ale @newname nie zawiera nazwy schematu podczas ustawiania nowej nazwy tabeli.