ALTER DATABASE (Transact-SQL)

Modyfikuje bazę danych, lub pliki i aplikacjami skojarzonych z bazą danych.Dodaje lub usuwa pliki i aplikacjami z bazy danych, zmienia atrybuty bazy danych lub jej plików i aplikacjami, zmiany sortowaniebazy danych i ustawia opcje bazy danych.Nie można modyfikować migawek bazy danych.Aby zmodyfikować opcje bazy danych związane z replikacja, należy użyć sp_replicationdboption.

Ze względu na jego długość składni ZMIEŃ bazę danych jest podzielone na następujące tematy:

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

ALTER DATABASE database_name 
{
  | MODIFY NAME = new_database_name 
  | COLLATE collation_name
  | <file_and_filegroup_options>
  | <set_database_options>
}
[;]

<file_and_filegroup_options >::=
  <add_or_modify_files>::=
  <filespec>::= 
  <add_or_modify_filegroups>::=
  <filegroup_updatability_option>::=

<set_database_options>::=
  <optionspec>::= 
  <auto_option> ::= 
  <change_tracking_option> ::=
  <cursor_option> ::= 
  <database_mirroring_option> ::= 
  <date_correlation_optimization_option> ::=
  <db_encryption_option> ::=
  <db_state_option> ::=
  <db_update_option> ::=
  <db_user_access_option> ::=
  <external_access_option> ::=
  <parameterization_option> ::=
  <recovery_option> ::= 
  <service_broker_option> ::=
  <snapshot_option> ::=
  <sql_option> ::= 
  <termination> ::=

Argumenty

  • database_name
    Jest to nazwa bazy danych ma zostać zmodyfikowana.

  • Modyfikowanie nazwy =new_database_name
    Zmienia nazwę bazy danych z nazwą określoną jako new_database_name.

  • SORTOWANIEcollation_name
    Określa sortowanie dla bazy danych.collation_namemoże być nazwa sortowanie systemu Windows lub nazwasortowanie SQL. Jeśli nie określono bazy danych zostanie przypisany sortowanie wystąpienie SQL Server.

    Aby uzyskać więcej informacji o nazwachsortowanie systemu Windows i SQL, zobacz SORTOWANIE (Transact-SQL).

<file_and_filegroup_options >:: =

Aby uzyskać więcej informacji, zobacz ZMIENIA opcje Grupa plików (języka Transact-SQL) i pliku bazy danych.

<set_database_options >:: =

Aby uzyskać więcej informacji, zobacz ZMIENIA opcje zestawu bazy danych (Transact-SQL).

Uwagi

Aby usunąć bazę danych, użyj Usuń bazę danych.

Aby zmniejszyć rozmiar bazy danych, użyj dbcc shrinkdatabase.

instrukcja ALTER DATABASE należy uruchomić w tryb autozatwierdzania (domyślny tryb zarządzania transakcji) i nie jest dozwolone w jawnej lub transakcja niejawna.Aby uzyskać więcej informacji, zobacz Transakcje AUTOCOMMIT wynosi.

W SQL Server 2005 lub nowszej, Państwo plik bazy danych (na przykład online lub offline), jest utrzymywane niezależnie od stanu bazy danych.Aby uzyskać więcej informacji, zobacz Plik Państwa.Stan plików w grupa plików określa dostępność cała grupa plików.grupa plików , były dostępne wszystkie pliki w obrębie grupa plików musi być online.Jeśli grupa plików trybu offline, próby dostępu grupa plików za pomocąinstrukcja SQLzakończy się niepowodzeniem z błędem. Podczas konstruowania planów kwerend dla instrukcji SELECT optymalizator kwerendy pozwala uniknąć ponownego zbudowania indeksów i widoki indeksowane, które znajdują się w trybie offline aplikacjami.Włącza te sprawozdania powiodła się.Jednakże jeśli grupa plików w trybie offline zawiera sterty lub indeks klastrowanytabela miejsce docelowe, nie instrukcji SELECT. Ponadto wszelkie INSERT, UPDATE lub DELETE instrukcja , która modyfikuje tabela z dowolnym indeks w trybie offline grupa plików nie powiedzie się.

Gdy baza danych jest w stanie przywracanie, większość instrukcji ALTER DATABASE nie powiedzie się.Wyjątkiem jest ustawianie opcji dublowanie bazy danych .Baza danych może być w stanie przywracanie, podczas operacji przywracanie active lub podczas operacji przywracanie bazy danych lub pliku dziennika kończy się niepowodzeniem z powodu uszkodzony plik kopii kopia zapasowa .Aby uzyskać więcej informacji, zobacz Reagowanie na SQL Server przywracania błędy spowodowane przez uszkodzone kopie zapasowe.

Pamięć podręczna plan dla wystąpienie SQL Server jest wyczyszczone, ustawiając następujące opcje:

W TRYBIE OFFLINE

READ_WRITE

ONLINE

ZMODYFIKOWAĆ DOMYŚLNE GRUPY PLIKÓW

MODIFY_NAME

MODYFIKOWANIE READ_WRITE GRUPY PLIKÓW

SORTOWANIE

MODYFIKOWANIE TYLKO_DO_ODCZYTU GRUPY PLIKÓW

TYLKO_DO_ODCZYTU

 

Czyszczenie pamięci podręcznej plan powoduje ponowną kompilację wszystkich kolejnych wykonanie planów i może spowodować nagłe, tymczasowe spadek wydajności kwerendy.Dla każdego cachestore wyczyszczone w pamięci podręcznej planu SQL Server dziennik błędów zawiera następujący komunikat informacyjny: "SQL ServerNapotkano %d zamieniono opróżniania dla '% s' cachestore cachestore (część planu w pamięci podręcznej) ze względu na niektórych operacji konserwacji lub ponownej konfiguracji bazy danych".Ten komunikat jest rejestrowany co pięć minut, tak długo, jak jest opróżniany z pamięci podręcznej w tym przedziale czas .

Zmiana sortowania bazy danych

Przed zastosowaniem różnych sortowanie bazy danych upewnij się, że obowiązują następujące warunki:

  1. Są tylko jeden obecnie z bazy danych.

  2. Brak obiektu związanych ze schematem zależy od sortowanie bazy danych.

    Jeśli istnieją następujące obiekty, które zależą od sortowaniebazy danych w bazie danych, ZMIEŃ bazę danychdatabase_namebędzie COLLATE instrukcja zakończą się niepowodzeniem.SQL Serverzwróci komunikat o błędzie dla każdego obiektu ALTER akcjablokowania:

    • Funkcje zdefiniowane przez użytkownika i widoki utworzone z SCHEMABINDING.

    • Kolumny obliczane.

    • Ograniczenia CHECK.

    • Funkcje wartościami przechowywanymi w tabeli, które zwracają tabel z kolumny sortowania znaków dziedziczone z domyślna baza danych sortowanie.

    Informacje o zależnościach dla podmiotów powiązania schematu jest automatycznie aktualizowany po zmianie bazy danych sortowanie .Aby uzyskać więcej informacji, zobacz Opis zależności SQL.

  3. Zmiana sortowanie bazy danych nie tworzy duplikaty między wszystkie nazwy systemu dla obiektów bazy danych.

    Następujące obszary nazw może spowodować niepowodzenie zmiany sortowanie bazy danych, jeśli zduplikowanych nazw w wyniku zmiany sortowanie:

    • Nazwy obiektów, takich jak procedury, tabela, wyzwalacza lub widoku.

    • Nazwy schematu

    • Podmioty, takie jak grupy, roli lub użytkownika.

    • Typ skalarnej nazwy takie jak typy zdefiniowane przez użytkownika i systemu.

    • Nazwy katalog pełnotekstowy.

    • Nazwy kolumn lub parametr wewnątrz obiektu.

    • Nazwy indeksów w tabela.

    Zduplikowane nazwy wynikające z nowych sortowanie spowoduje, że zmiana akcja kończy się niepowodzeniem, a SQL Server zwróci komunikat o błędzie, określający obszar nazw, gdzie duplikat został znaleziony.

Wyświetlanie informacji z bazy danych

widoki wykazu, funkcje systemowei procedury składowane w systemie można użyć do zwracania informacji o bazach danych, plikach i aplikacjami.Aby uzyskać więcej informacji, zobacz Wyświetlanie metadanych baz danych.

Uprawnienia

Wymaga zmiany uprawnień w bazie danych.

Przykłady

A.Zmiana nazwy bazy danych

Poniższy przykład zmienia nazwę AdventureWorks2008R2 bazy danych do Northwind.

USE master;
GO
ALTER DATABASE AdventureWorks2008R2
Modify Name = Northwind ;
GO

B.Zmiana sortowanie bazy danych

Poniższy przykład tworzy bazę danych o nazwie testdb z SQL_Latin1_General_CP1_CI_As sortowanie, a następnie zmienia sortowanie testdb bazy danych do COLLATE French_CI_AI.

USE master;
GO

CREATE DATABASE testdb
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO

ALTER DATABASE testDB
COLLATE French_CI_AI ;
GO