Udostępnij za pośrednictwem


Zmienianie kolejności kolumn w tabeli

Dotyczy: SQL Server 2016 (13.x) i nowszych Azure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)SQL database w Microsoft Fabric

Kolejność kolumn w programie Table Designer można zmienić w programie SQL Server Management Studio (SSMS). Domyślnie mechanizm bezpieczeństwa programu SSMS blokuje zmianę kolejności kolumn. Chociaż nie jest to zalecane, można zmienić kolejność kolumn w tabeli, ponownie tworząc tabelę.

Dodawanie kolumn do tabeli domyślnie dodaje je na końcu tabeli, zgodnie z zaleceniami.

Zalecenia

Najlepsze rozwiązania dotyczące kolejności kolumn tabeli:

  • Aby zmienić kolejność kolumn wyświetlanych w zestawie wyników, raporcie lub aplikacji, użyj kolejności kolumn w instrukcji SELECT (Transact-SQL). Zawsze określ kolumny według nazwy w zapytaniach i aplikacjach w kolejności, w jakiej mają być wyświetlane.
  • Nie używaj SELECT * w aplikacjach. Dodane lub usunięte kolumny mogą powodować nieoczekiwane zachowanie lub błędy w aplikacjach.
  • Dodaj nowe kolumny na końcu tabel.

Ostrożność

Zmiana kolejności kolumn tabeli może mieć wpływ na kod i aplikacje, które zależą od określonej kolejności kolumn. Obejmują one zapytania, widoki, procedury składowane, funkcje zdefiniowane przez użytkownika i aplikacje klienckie. Uważnie zastanów się nad wszelkimi zmianami, które chcesz wprowadzić w kolejności kolumn.

Korzystanie z programu SQL Server Management Studio

Zmienianie kolejności kolumn

Chociaż nie jest to zalecane, można zmienić kolejność kolumn w tabeli przy użyciu programu SQL Server Management Studio (SSMS). Wymaga to ponownego utworzenia tabeli.

Ważny

Zawsze używaj najnowszej wersji programu SQL Server Management Studio (SSMS).

  1. W eksploratorze obiektów kliknij prawym przyciskiem myszy tabelę z kolumnami, które chcesz przeorganizować, a następnie wybierz Projektowanie.

  2. Wybierz pole z lewej strony nazwy kolumny, którą chcesz zmienić.

  3. Przeciągnij kolumnę do innej lokalizacji w tabeli.

Możesz zablokować wprowadzanie tych zmian przez ważną funkcję bezpieczeństwa programu SSMS kontrolowaną przez ustawienie Zapobieganie zapisywaniu zmian, które wymagają ponownego tworzenia tabeli. To ustawienie jest włączone, aby zapobiec przypadkowemu upuszczaniu/odtworzeniu tabeli za pośrednictwem dialogów programu SSMS, które mogą być zakłócające i powodować utratę metadanych lub uprawnień. Aby dowiedzieć się więcej, zobacz komunikat o błędzie "Zapisywanie zmian jest niedozwolone" w programie SSMS. Zamiast tego zaleca się wykonanie tego typu zmian, z pełną świadomością ich wpływu, za pośrednictwem Transact-SQL kroków, które uwzględniają uprawnienia i metadane.

Ostrożność

Ponowne utworzenie tabeli spowoduje zablokowanie współbieżnego dostępu do tabeli dla innych użytkowników i aplikacji. W przypadku dużych tabel może to wymagać długiego czasu trwania i dużej ilości miejsca w dzienniku transakcji.

Użyj Transact-SQL

Zmiana kolejności kolumn nie jest obsługiwana przy użyciu instrukcji Transact-SQL. Aby zmienić kolejność kolumn, należy usunąć i ponownie utworzyć tabelę.

Uwagi

Aby odpytować istniejące kolumny, użyj widoku katalogu obiektów sys.columns.

Następne kroki