ALTER DATABASE języka Transact-SQL)
Modyfikuje bazę danych, lub plików oraz filegroups skojarzonymi z bazą danych.Dodaje lub usuwa plików i filegroups z bazy danych, zmienia atrybuty bazy danych lub jej plików i filegroups, zmiany sortowanie bazy danych i ustawia opcje bazy danych.Nie można modyfikować bazę danych migawek.Aby zmodyfikować opcje bazy danych związane z replikacją, należy użyć sp_replicationdboption.
Ze względu na jego długość składni instrukcji ALTER DATABASE jest podzielone na następujące tematy:
ZMIENIANIE BAZY DANYCH
Bieżącym temacie składni w przypadku zmiany nazwy i sortowanie bazy danych.ALTER plik bazy danych i grupa plików, opcje
Udostępnia składnię dla dodawania i usuwania plików i filegroups z bazy danych i zmianę atrybutów plików i filegroups.Opcje zestaw ALTER DATABASE
Udostępnia składnię dla zmianę atrybutów bazy danych przy użyciu opcji zestaw ALTER DATABASE.ZMIANY W BAZIE DANYCH dublowanie bazy danych
Udostępnia składnię dla opcji zestaw ALTER DATABASE, związanych z dublowanie bazy danych.Poziom zgodności ALTER DATABASE
Udostępnia składnię dla opcji zestaw ALTER DATABASE, związanych z poziomów zgodności bazy danych.
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 nazwą bazy danych, które zostaną zmodyfikowane.MODIFY NAME **=**new_database_name
Zmienia nazwę bazy danych z nazwą określoną jako new_database_name.collation_name SORTOWANIE
Specifies the collation for the database.collation_name can be either a Windows collation name or a SQL collation name.Jeśli nie zostanie określony, baza danych jest przypisany sortowanie wystąpienie SQL Server.Aby uzyskać więcej informacji na temat nazw sortowanie systemu Windows i programu SQL zobacz COLLATE (Transact-SQL).
<file_and_filegroup_options >::=
Aby uzyskać więcej informacji zobaczALTER DATABASE File and Filegroup Options (Transact-SQL).
<set_database_options >::=
Aby uzyskać więcej informacji zobaczALTER DATABASE SET Options (Transact-SQL).
Remarks
Aby usunąć bazę danych, należy użyć USUWANIE BAZY DANYCH.
Aby zmniejszyć rozmiar bazy danych, należy użyć DBCC SHRINKDATABASE.
Instrukcja ALTER DATABASE musi być uruchomiony tryb automatycznego zatwierdzania (domyślny tryb zarządzania transakcji) i nie jest dozwolona w transakcjach jawny lub niejawny.Aby uzyskać więcej informacji zobaczTransakcje autocommit.
W SQL Server 2005 lub nowszy, stan bazy danych pliku (na przykład, tryb online lub offline), są obsługiwane niezależnie od stanu bazy danych. Aby uzyskać więcej informacji zobaczFile States.Stan plików w grupa plików określa dostępność całą grupa plików.Dla grupa plików były dostępne wszystkie pliki znajdujące się w grupa plików, w musi być w trybie online.Jeśli grupa plików jest w trybie offline, próby dostęp grupa plików, w instrukcja języka SQL zakończy się niepowodzeniem z powodu błędu.Podczas tworzenia planów kwerend dla instrukcji SELECT, optymalizator kwerendy pozwala uniknąć ponownego zbudowania indeksów nie klastrowanych i widoków indeksowanych, które znajdują się w trybie offline filegroups.Dzięki temu te instrukcje powiodła się.Jednak jeśli grupa plików trybu offline zawiera sterty lub indeks klastrowany w tabela miejsce docelowe, nie instrukcji SELECT.Ponadto INSERT, UPDATE lub DELETE instrukcja, która modyfikuje tabela z dowolnym indeksu w grupa plików trybu offline nie powiedzie się.
Gdy baza danych jest w stanie RESTORING, nie będzie działać większość instrukcji ALTER DATABASE.Wyjątkiem jest ustawienie dublowanie opcje bazy danych.Baza danych może być w stanie RESTORING podczas operacji przywracanie aktywny lub operacji przywracanie bazy danych lub dziennika plikiem kończy się niepowodzeniem z powodu uszkodzenia plik kopia zapasowa.Aby uzyskać więcej informacji zobaczResponding to SQL Server Restore Errors Caused by Damaged Backups.
Pamięć podręczna plan dla wystąpienie SQL Server wyczyszczone jest przez ustawienie jednej z następujących opcji:
TRYB OFFLINE |
READ_WRITE |
TRYB ONLINE |
MODYFIKUJ DOMYŚLNĄ grupa plików |
MODIFY_NAME |
MODYFIKOWANIE READ_WRITE grupa plików |
SORTOWANIE |
MODYFIKOWANIE READ_ONLY grupa plików |
READ_ONLY |
|
Czyszczenie pamięci podręcznej plan powoduje ponowną kompilację wszystkich planów późniejsze wykonanie 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 Server Napotkano %d zamieniono cachestore opróżniania dla cachestore '% s' (część pamięci podręcznej plan) ze względu na pewne konserwacji bazy danych lub ponownie skonfigurować operacji".Ten komunikat jest rejestrowany co pięć minut, dopóki bufor jest opróżniany w tym przedziale czas.
Zmiana sortowanie bazy danych
Przed zastosowaniem różnych sortowanie bazy danych, upewnij się, że obowiązują następujące warunki:
Jesteś jedyną osobą, korzystających z bazy danych.
Brak obiektu związanych ze schematem zależy od sortowanie bazy danych.
If the following objects, which depend on the database collation, exist in the database, the ALTER DATABASEdatabase_nameCOLLATE statement will fail.SQL Server will return an error message for each object blocking the ALTER action:
Funkcje zdefiniowane przez użytkownika, a widoki utworzone za pomocą SCHEMABINDING.
Kolumny obliczane.
Ograniczenia CHECK.
Wartości tabela funkcji zwracających tabele w kolumnach znaków z ustawień sortowanie dziedziczone z domyślnym sortowaniem bazy danych.
Informacje o zależnościach dla podmiotów innych niż związanych ze schematem jest automatycznie aktualizowany po zmianie sortowanie bazy danych.Aby uzyskać więcej informacji zobaczUnderstanding SQL Dependencies.
Zmiana sortowanie bazy danych nie powoduje utworzenia duplikatów między wszystkie nazwy dla obiektów bazy danych.
Następujące obszary nazw może spowodować uszkodzenie zmiana sortowanie bazy danych, jeśli takich samych nazwach w wyniku zmiany sortowanie:
Nazwy obiektów, takich jak procedury, tabela, wyzwalacza lub widoku.
Nazwy schematu
Podmioty, takie jak grupy, roli lub użytkownika.
Nazwy typu wartość skalarna, takie jak system i typów zdefiniowanych przez użytkownika.
Nazwy wykaz pełnotekstowy.
Nazwy kolumn lub parametrów w obiekcie.
Służy do indeksowania nazw w obrębie jednej tabela.
Zduplikowane nazwy wynikające z nowego sortowanie spowoduje, że akcja zmiany, które się nie powieść, a SQL Server Zwraca komunikat o błędzie, określający obszar nazw, w którym duplikat został znaleziony.
Wyświetlanie informacji z bazy danych
Katalog widoki, funkcje systemowe i procedur przechowywana w systemie można użyć do zwracania informacji o bazach danych, plików i filegroups.Aby uzyskać więcej informacji zobaczViewing Database Metadata.
Uprawnienia
Wymaga ALTER uprawnień w bazie danych.
Przykłady
A.Zmiana nazwy bazy danych
W poniższym przykładzie zmienia nazwę AdventureWorks bazy danych Northwind.
USE master;
GO
ALTER DATABASE AdventureWorks
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 z testdb bazy danych 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
See Also