sp_dboption, tak (języka Transact-SQL)
Wyświetla lub zmienia opcje bazy danych.Nie należy używać sp_dboption do modyfikowania opcji albo wzorca bazy danych lub tempdb bazy danych.
Ważne: |
---|
Ta funkcja zostanie usunięta z następnej wersji programu Microsoft SQL Server. Nie należy stosować tej funkcji w nowych projektach oraz jak najszybciej należy zmodyfikować aplikacje, w których obecnie jest używana ta funkcja.Użycie ALTER DATABASE zamiast.Aby zmodyfikować opcje bazy danych, które są skojarzone z replikacja (publikacji seryjnej, opublikowane, subskrybowane), za pomocą sp_replicationdboption. |
Składnia
sp_dboption [ [ @dbname = ] 'database' ]
[ , [ @optname = ] 'option_name' ]
[ , [ @optvalue = ] 'value' ]
[;]
Argumenty
[ @dbname= ] 'database'
Jest nazwą bazy danych, w którym zestaw określonej opcji.databasejest sysname, domyślna wartość NULL.[ @optname= ] 'option_name'
Jest nazwą zestawopcji.Nie trzeba wprowadzić nazwę opcję Pełna.SQL Serverrozpoznaje część nazwy, która jest unikatowa.Zawiera spacje lub jest słowem kluczowym, należy ująć nazwę opcji znakami cudzysłowu.Jeśli ten parametr zostanie pominięty, sp_dboption zawiera listę opcji, które znajdują się na. option_name jest varchar(35), domyślna wartość NULL.[ @optvalue=] 'value'
Jest to nowe ustawienie dla option_name.Jeśli ten parametr zostanie pominięty, sp_dboptionzwraca bieżące ustawienie.valuecan be true, false, on, or off.valuejest varchar(10), domyślna wartość NULL.
Wartości kodów powrotnych
0 (sukces) lub 1 (błąd)
Zestawy wyników
W poniższej tabela przedstawiono zestaw wyników gdy są podane żadne parametry.
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
Opcje do ustawienia bazy danych |
nvarchar(35) |
Wszystkie opcje do ustawienia bazy danych. |
W poniższej tabela przedstawiono zestaw wyników po database jest jedynym podany parametr.
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
Poniższe opcje są zestaw: |
nvarchar(35) |
Opcje, które są zestaw dla określonej bazy danych. |
W poniższej tabela przedstawiono zestaw wyników po option_name jest dostarczany.
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
OptionName |
nvarchar(35) |
Nazwa opcji. |
CurrentSetting |
char(3) |
Czy opcja jest włączony lub wyłączony. |
Jeśli value jest podany, sp_dboption nie zwraca zestaw wyników.
Uwagi
W poniższej tabela przedstawiono opcje zestaw przez sp_dboption.Aby uzyskać więcej informacji na temat każdej opcji, zobacz Ustawianie opcji bazy danych.
Opcja |
Opis |
---|---|
automatyczne tworzenie statystyk |
Po true, wszelkie brakujące statystyk wymaganych przez kwerendę dla optymalizacji zbudowane są automatycznie podczas optymalizacji.Aby uzyskać więcej informacji, zobacz Tworzenie statystyk (Transact-SQL). |
automatyczne aktualizacja statystyki |
Po true, wszelkie out-z-data statystyk wymaganych przez kwerendę dla optymalizacji zbudowane są automatycznie podczas optymalizacji.Aby uzyskać więcej informacji, zobacz AKTUALIZUJ STATYSTYKĘ (Transact-SQL). |
AutoClose |
Gdy true, zamykanie bazy danych niedziałający bezpośrednio i jego zasoby są zwalniane po ostatnim off. |
autoshrink |
Gdy true, pliki bazy danych są kandydatami do automatycznego zmniejszania okresowe. |
Domyślna null ANSI |
Po true, CREATE TABLE następują reguły ISO, aby ustalić, czy w kolumna dozwolone wartości null . |
Wartości null ANSI |
Po true, oceny wszystkich porównań wartości null do nieznane.Po false, porównania wartości innych niż UNICODE ma wartość null oszacowane na wartość TRUE, jeśli są obie wartości NULL. |
Ostrzeżeń ANSI |
Po true, gdy warunki, takie jak "dzielenie przez zero" wydawane są błędy lub ostrzeżenia występują. |
arithabort |
Gdy true, błąd przepełnienia lub dzielenie przez zero powoduje, że kwerendy lub partia wypowiedzieć.Jeśli błąd występuje w transakcji, transakcja jest cofana.Gdy false, wyświetlany jest komunikat ostrzegawczy, ale kwerendy, partialub transakcja jest kontynuowany tak, jakby błąd nie wystąpił. |
concat null zwraca null |
Po true, jeśli argument, albo w operacji łączenie jest NULL, wynik jest NULL. |
kursor blisko zatwierdzanie |
Gdy true, są zamknięte jakiekolwiek kursory, które są otwarte, gdy transakcja zostanie przekazana lub wycofana.Gdy false, takie kursory pozostają otwarte, gdy transakcja zostanie zatwierdzona.Po false, wycofywanie transakcji zamyka jakiekolwiek kursory, z wyjątkiem tych zdefiniowane jako INSENSITIVE lub STATYCZNEJ. |
tylko do użytku dbo |
Po true, tylko właściciel bazy danych można użyć bazy danych. |
ustawienie domyślne to lokalny kursor |
Po true, domyślnie deklaracje kursor lokalnego. |
Publikowanie korespondencji seryjnej |
Gdy true, bazy danych mogą być publikowane dla replikacja scalająca. |
roundabort numeryczne |
Gdy true, zostanie wygenerowany błąd, gdy utrata precyzji w wyrażenie.Po false, straty dokładność nie generować komunikaty o błędach, a wynik jest zaokrąglany do precyzji kolumna lub zmiennej przechowywanie wyników. |
offline |
Gdy true ()on), baza danych jest w trybie offline.Gdy false ()off), baza danych jest w trybie online. |
opublikowane |
Gdy true, bazy danych mogą być publikowane dla replikacja. |
cytowany identyfikator |
Po true, podwójny cudzysłów umożliwiają należy ująć rozdzielanego identyfikatorów. |
tylko do odczytu |
Po true, użytkownicy mogą tylko odczytywać dane w bazie danych.Użytkownicy nie mogą modyfikować obiektów bazy danych lub danych; jednak samej bazy danych można usunąć za pomocą instrukcjaDROP DATABASE.Baza danych nie może być używany, gdy nowy value do odczytu tylko opcja zostanie określona.Wzorca bazy danych jest wyjątek i używać tylko administrator systemu wzorca w czasie, gdy jest zestawopcja tylko do odczytu. |
Wyzwalacze cykliczne |
Po true, umożliwia cykliczne opalanych wyzwalaczy.Gdy false, uniemożliwia tylko bezpośrednie rekursji.Aby wyłączyć rekursję pośrednich, zestaw wyzwalaczy zagnieżdżonych 0 przy użyciu opcji serwera sp_configure. |
Wybierz do / Kopiuj zbiorczo można |
Począwszy od Microsoft SQL Server 2000, jeśli modelu odzyskiwanie bazy danych jest aktualnie zestaw pełne, za pomocą Wybierz do / opcja Kopiuj zbiorczo można BULK_LOGGED powoduje przywrócenie modelu odzyskiwanie .Jest właściwy sposób zmienić model odzyskiwanie przy użyciu zestawu odzyskiwania klauzula o ALTER DATABASE instrukcja. |
pojedynczy użytkownik |
Po true, są dostępne w czas tylko jeden użytkownik bazy danych. |
subskrybowane |
Gdy true, bazy danych może być obejmowane publikacja. |
wykrywanie poszarpane strona |
Gdy true, niepełne strony mogą zostać wykryte. |
TRUNC.Zaloguj się na chkpt. |
Po true, punkt kontrolny obcina nieaktywny część dziennika, gdy baza danych jest w dzienniku obcięciu trybie.Jest to jedyna opcja, które można zestaw dla wzorca bazy danych.
Ważne:
Począwszy od SQL Server 2000, ustawieniem trunc. Zaloguj się na chkpt. opcji do true Ustawia modelu odzyskiwanie bazy danych do PROSTEJ.Ustawienie dla opcji false Ustawia modelu odzyskiwanie pełny.
|
Właściciel bazy danych lub administrator systemu można zestaw lub wyłącz opcje konkretnej bazy danych dla wszystkich nowych baz danych przez wykonywanie sp_dboption na model bazy danych.
Po sp_dboption została wykonana, punkt kontrolny wykonuje w bazie danych, dla którego została zmieniona opcja.Powoduje to, że zmiany zaczynają obowiązywać natychmiast.
sp_dboption zmienia ustawienia bazy danych.Użycie sp_configure Aby zmienić ustawieniapoziom serwera - i zestaw instrukcja do zmiany ustawień, które dotyczą tylko bieżącej sesja.
Uprawnienia
Aby wyświetlić pełną listę opcji bazy danych i ich bieżące wartości wymaga członkostwa w public rolę.Aby zmienić wartość opcji bazy danych wymaga członkostwa w db_owner rola bazy danychstałej.
Przykłady
A.Ustawienie tylko do odczytu do bazy danych
Poniższy przykład powoduje, że AdventureWorks2008R2 bazy danych tylko do odczytu.
USE master;
GO
EXEC sp_dboption 'AdventureWorks2008R2', 'read only', 'TRUE';
B.Wyłączenie opcji
Poniższy przykład powoduje, że AdventureWorks2008R2 ponownie bazy danych zapisywalny.
USE master;
GO
EXEC sp_dboption 'AdventureWorks2008R2', 'read only', 'FALSE';