Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Vrací aktuální stav vardecimálního formátu paměti databáze nebo umožňuje databázi pro vardecimální formát úložiště. V SQL Server 2008 (10.0.x) a novějších verzích jsou uživatelské databáze vždy povoleny. Protože komprese na úrovni řádků dosahuje stejných cílů, je vardecimální formát úložiště zastaralý. Povolení databází pro vardecimální formát úložiště je nutné pouze v SQL Server 2005 (9.x).
Důležité
Změna vardecimálního formátu úložiště databáze může ovlivnit zálohování a obnovu, zrcadlení databáze, sp_attach_dbodeslání logů a replikaci.
Syntaxe
sp_db_vardecimal_storage_format
[ [ @dbname = ] N'dbname' ]
[ , [ @vardecimal_storage_format = ] 'vardecimal_storage_format' ]
[ ; ]
Arguments
[ @dbname = ] N'dbname'
Název databáze, pro kterou má být formát úložiště změněn.
@dbname je sysname , s výchozím NULL. Pokud je název databáze vynechán, vrátí se vardecimální formát úložiště všech databází v instanci SQL Serveru.
[ @vardecimal_storage_format = ] 'vardecimal_storage_format'
Specifikuje, zda je vardecimální formát úložiště povolen.
@vardecimal_storage_format je varchar(3), s výchozím hodnotou NULL.
@vardecimal_storage_format může být ON nebo OFF. Pokud je uveden název databáze, ale @vardecimal_storage_format je vynechán, vrátí se aktuální nastavení dané databáze.
Tento argument nemá žádný vliv na SQL Server 2008 (10.0.x) a pozdější verze.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Pokud nelze změnit formát databázového úložiště, vrátí chybu. sp_db_vardecimal_storage_format Pokud je databáze již ve stanoveném stavu, uložená procedura nemá žádný účinek.
Pokud argument @vardecimal_storage_format není uveden sp_db_vardecimal_storage_format , vrátí sloupce Database Name a Vardecimal State.
Poznámky
sp_db_vardecimal_storage_format vrací vardecimální stav, ale vardecimální stav změnit nemohu.
sp_db_vardecimal_storage_format neuspěje za následujících okolností:
- V databázi jsou aktivní uživatelé.
- Databáze je povolena pro zrcadlení.
- Edice SQL Serveru nepodporuje vardecimální formát úložiště.
Pro změnu stavu vardecimálního formátu úložiště na OFF, musí být databáze nastavena na jednoduchý model obnovy. Když je databáze nastavena na jednoduchou obnovu, řetězec logů je přerušen. Proveďte kompletní zálohu databáze poté, co nastavíte stav vardecimálního formátu úložiště na OFF.
Změna stavu na selže OFF , pokud existují tabulky využívající kompresi vardecimální databáze. Pro změnu formátu úložiště tabulky použijte sp_tableoption. Pro určení, které tabulky v databázi používají vardecimální formát úložiště, použijte OBJECTPROPERTY funkci a vyhledejte vlastnost TableHasVarDecimalStorageFormat , jak je ukázáno v následujícím příkladu.
USE AdventureWorks2022;
GO
SELECT name,
object_id,
type_desc
FROM sys.objects
WHERE OBJECTPROPERTY(object_id, N'TableHasVarDecimalStorageFormat') = 1;
GO
Examples
Následující kód umožňuje kompresi v databázi AdventureWorks2025 , potvrzuje stav a poté komprimuje desetinné a číselné sloupce v tabulce Sales.SalesOrderDetail .
USE master;
GO
EXECUTE sp_db_vardecimal_storage_format 'AdventureWorks2022', 'ON';
GO
-- Check the vardecimal storage format state for
-- all databases in the instance.
EXECUTE sp_db_vardecimal_storage_format;
GO
USE AdventureWorks2022;
GO
EXECUTE sp_tableoption 'Sales.SalesOrderDetail', 'vardecimal storage format', 1;
GO
Související obsah
- uložené procedury databázového stroje (Transact-SQL)