共用方式為


sp_db_vardecimal_storage_format (Transact-SQL)

新增: 2006 年 12 月 12 日

傳回資料庫目前的 Vardecimal 儲存格式狀態,或是啟用或停用 Vardecimal 儲存格式的資料庫。需要使用 SQL Server 2005 Service Pack 2 或更新版本。Vardecimal 儲存格式僅適用於 SQL Server 2005 Enterprise Edition、Developer Edition 和 Evaluation Edition。

Bb326653.note(zh-tw,SQL.90).gif重要事項:
變更資料庫的 Vardecimal 儲存格式狀態可能會影響備份和復原、資料庫鏡像、sp_attach_db、記錄傳送和複寫。如需有關 Vardecimal 儲存格式的詳細資訊,請參閱<將十進位資料儲存成可變長度>。

語法

sp_db_vardecimal_storage_format [ [ @dbname = ] 'database' ] 
    [ , [ @vardecimal_storage_format = ] {'ON' | 'OFF' }] [ ; ]

引數

  • [ @dbname=] 'database'
    這是即將變更儲存格式之資料庫的名稱。databasesysname,沒有預設值。如果省略資料庫名稱,就會傳回 SQL Server 執行個體中所有資料庫的 Vardecimal 儲存格式狀態。
  • [ @vardecimal_storage_format = ] {'ON'|'OFF'}
    指定是否啟用 Vardecimal 儲存格式。@vardecimal_storage_format 可以是 ON 或 OFF。參數為 varchar(3),沒有預設值。如果提供了資料庫名稱,但省略 @vardecimal_storage_format,就會傳回指定之資料庫的目前設定。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

如果無法變更資料庫儲存格式,sp_db_vardecimal_storage_format 就會傳回錯誤。如果資料庫已經處於指定的狀態,此預存程序就沒有任何作用。

備註

在下列情況中,sp_db_vardecimal_storage_format 將會失敗:

  • 資料庫中存在使用中使用者。
  • 資料庫已啟用鏡像。
  • SQL Server 的版本不支援 Vardecimal 儲存格式。

若要將 Vardecimal 儲存格式狀態變更為 OFF,資料庫就必須設定為簡單復原模式。當資料庫設定為簡單復原模式時,就會中斷記錄鏈結。在您將 Vardecimal 儲存格式狀態設定為 OFF 之後,請執行完整資料庫備份。

如果有資料表正使用 Vardecimal 資料庫壓縮,將此狀態變更為 OFF 將會失敗。若要變更資料表的儲存格式,請使用 sp_tableoption。若要判斷資料庫中的哪個資料表正在使用 Vardecimal 儲存格式,請使用 OBJECTPROPERTY 函數並搜尋 TableHasVarDecimalStorageFormat 屬性,如下列範例所示。

USE AdventureWorks ;
GO
SELECT name, object_id, type_desc
FROM sys.objects 
 WHERE OBJECTPROPERTY(object_id, 
   N'TableHasVarDecimalStorageFormat') = 1 ;
GO

權限

需要 ALTER DATABASE 權限。

範例

下列範例會在 AdventureWorks 資料庫中啟用壓縮、確認狀態,然後壓縮 Sales.SalesOrderDetail 資料表中的 decimalnumeric 資料行。

USE master ;
GO

EXEC sp_db_vardecimal_storage_format 'AdventureWorks', 'ON' ;
GO

-- Check the vardecimal storage format state for
-- all databases in the instance.
EXEC sp_db_vardecimal_storage_format ;
GO

USE AdventureWorks ;
GO

EXEC sp_tableoption 'Sales.SalesOrderDetail', 'vardecimal storage format', 1 ;
GO

請參閱

參考

Database Engine 預存程序 (Transact-SQL)

其他資源

將十進位資料儲存成可變長度

說明及資訊

取得 SQL Server 2005 協助