sp_db_vardecimal_storage_format (języka Transact-SQL)
Zwraca bieżący format magazynu vardecimal stan bazy danych lub włącza bazy danych dla formatu magazynu vardecimal.W SQL Server 2008, baz danych użytkowników są zawsze włączone.Wymaga SQL Server 2005, Z dodatkiem Service Pack 2 lub nowszego. Jest dostępna tylko w formacie przechowywania Vardecimal SQL Server wersji Enterprise, Developer i oceny.
Ostrzeżenie
Włączanie bazy danych dla formatu magazynu vardecimal tylko niezbędne jest w SQL Server 2005.
![]() |
---|
Zmiana stanu vardecimal magazynu format bazy danych może mieć wpływ na kopia zapasowa i odzyskiwanie, dublowanie bazy danych, sp_attach_db, wysyłanie dziennikai replikacja.Zobacz informacje o formacie przechowywania vardecimal Przechowywanie danych dziesiętne jako o zmiennej długości. |
Składnia
sp_db_vardecimal_storage_format [ [ @dbname = ] 'database_name']
[ , [ @vardecimal_storage_format = ] { 'ON' | 'OFF' } ]
[;]
Argumenty
[ @dbname= ] 'database_name'
Jest to nazwa bazy danych, dla którego ma zostać zmieniony format przechowywania.database_namejest sysname, z braku domyślne.Jeżeli pominięto nazwę bazy danych magazynu vardecimal formatowania stan wszystkich baz danych w wystąpienie SQL Server są zwracane.[ @vardecimal_storage_format= ] {'ON'|'OFF'}
Określa, czy jest włączony format magazynu vardecimal.@vardecimal_storage_formatmoże być ON lub OFF.Parametr jest varchar(3), z braku domyślne.Jeśli jest podana nazwa bazy danych, ale @vardecimal_storage_format jest pominięty, bieżące ustawienie określonej bazy danych zostanie zwrócona.Ten argument nie ma wpływu SQL Server 2008 lub nowszej wersji.
Wartości kodów powrotnych
0 (sukces) lub 1 (błąd)
Zestawy wyników
Jeśli nie można zmienić formatu bazy danych magazynu, sp_db_vardecimal_storage_format zwraca błąd.Jeśli baza danych jest już określony stan, procedura składowana nie ma znaczenia.
Jeśli @vardecimal_storage_format argument nie zostanie podana, zwraca kolumny Database Name i Vardecimal State.
Uwagi
sp_db_vardecimal_storage_formatzwraca stan vardecimal, ale nie można zmienić stanu vardecimal.
sp_db_vardecimal_storage_formatNiepowodzenie w następujących okolicznościach:
Brak aktywnych użytkowników bazy danych.
Baza danych jest włączony do dublowanie.
Wydanie z SQL Server nie obsługuje formatu magazynu vardecimal.
Aby zmienić stan formatu magazynu vardecimal OFF, baza danych musi być zestaw tryb prosty odzyskiwanie .Gdy baza danych jest zestaw tryb prosty odzyskiwanie , łańcuch dzienników jest przerywane.Wykonywanie pełnej kopia zapasowa po zestaw Państwo vardecimal magazynu format do OFF.
Zmiana stanu na OFF zakończy się niepowodzeniem w przypadku tabel przy użyciu kompresji bazy danych vardecimal.Aby zmienić format przechowywania tabela, użyj sp_tableoption.Aby określić, które tabele w bazie danych jest używany format przechowywania vardecimal, użyj OBJECTPROPERTY funkcja and search for TableHasVarDecimalStorageFormat właściwość, jak pokazano w następującym przykładzie.
USE AdventureWorks2008R2 ;
GO
SELECT name, object_id, type_desc
FROM sys.objects
WHERE OBJECTPROPERTY(object_id,
N'TableHasVarDecimalStorageFormat') = 1 ;
GO
Przykłady
Poniższy kod umożliwia kompresji w AdventureWorks2008R2 bazy danych, potwierdza stanu i kompresuje decimal i numeric kolumn w Sales.SalesOrderDetail tabela.
USE master ;
GO
EXEC sp_db_vardecimal_storage_format 'AdventureWorks2008R2', 'ON' ;
GO
-- Check the vardecimal storage format state for
-- all databases in the instance.
EXEC sp_db_vardecimal_storage_format ;
GO
USE AdventureWorks2008R2 ;
GO
EXEC sp_tableoption 'Sales.SalesOrderDetail', 'vardecimal storage format', 1 ;
GO
Zobacz także