Share via


sp_db_vardecimal_storage_format (Transact-sql)

Veritabanı geçerli vardecimal depolama biçimi durumu döndürür veya vardecimal depolama biçimi için veritabanı sağlar. De SQL Server 2012, kullanıcı veritabanlarını her zaman etkin. Gerektirir SQL Server 2005, Service Pack 2 veya üstü.

[!NOT]

Veritabanları vardecimal depolama biçimi için sadece gerekli etkinleştirme SQL Server 2005.

Önemli notÖnemli

Bir veritabanı vardecimal depolama biçimi durumunu değiştirme yedekleme ve kurtarma etkileyebilir, veritabanı yansıtma, sp_attach_db, günlük sevkiyat ve çoğaltma.

Sözdizimi

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

Bağımsız değişkenler

  • [ @dbname= ] 'database_name'
    Depolama biçimi değiştirilecek olan veritabanının adıdır. database_nameise sysname, hiçbir varsayılan ile. Veritabanı adı belirtilmezse, vardecimal depolama biçimi örneği tüm veritabanı durumunu SQL Serverdöndürdü.

  • @vardecimal\_storage\_format= {'ON'|'OFF'}
    Vardecimal depolama biçimi etkinleştirilip etkinleştirilmeyeceğini belirtir. @vardecimal\_storage\_formatcan be on veya off. Parametre varchar(3), hiçbir varsayılan ile. Veritabanı adı verdiyse ama @vardecimal\_storage\_formatise atlanmış, belirtilen veritabanı geçerli ayarı döndü. Bu bağımsız değişken herhangi bir etkisi olmaz SQL Server 2008ya da sonraki sürümlerinde.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

Veritabanında saklama biçimi değiştirilemez, sp_db_vardecimal_storage_formathata veriyor. Veritabanı belirtilen durumda ise, saklı yordam etkisizdir.

Eğer @vardecimal\_storage\_formatbağımsız değişkeni değil sağlanır, sütunlar döndürür Database Nameve Vardecimal State.

Açıklamalar

sp_db_vardecimal_storage_formatvardecimal durumu döndürür ancak vardecimal durumu değiştiremezsiniz.

sp_db_vardecimal_storage_formatAşağıdaki durumlarda başarısız olur:

  • Veritabanında etkin kullanıcılar vardır.

  • Veritabanı yansıtma için etkinleştirilir.

  • Baskı SQL Servervardecimal depolama biçimi desteklemiyor.

off için vardecimal depolama biçimi durumu değiştirmek için veritabanı Basit kurtarma moduna ayarlanmalıdır. Veritabanı Basit kurtarma moduna ayarlandığında, günlük zinciri kırılmıştır. Vardecimal depolama biçimi durumu için off ayarlamak sonra tam veritabanı yedeklemesi gerçekleştirin.

Orada tabloları vardecimal veritabanı sıkıştırma kullanılarak off durumunu değiştirme başarısız olur. Tablonun depolama biçimini değiştirmek için sp_tableoption. Bir veritabanındaki hangi tabloları vardecimal depolama biçimi kullanarak belirlemek için OBJECTPROPERTYfonksiyonu ve ara TableHasVarDecimalStorageFormatözelliği, aşağıdaki örnekte gösterildiği gibi.

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

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

Örnekler

Aşağıdaki kodu sıkıştırma sağlar AdventureWorks2012veritabanı, devlet onaylar ve sonra ondalık ve sayısal sütunlar sıkıştırır Sales.SalesOrderDetailtablosu.

USE master ;
GO

EXEC sp_db_vardecimal_storage_format 'AdventureWorks2012', 'ON' ;
GO

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

USE AdventureWorks2012 ;
GO

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

USE master ;
GO

EXEC sp_db_vardecimal_storage_format 'AdventureWorks2012', 'ON' ;
GO

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

USE AdventureWorks2012 ;
GO

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

Ayrıca bkz.

Başvuru

Veritabanı Altyapısı depolanan yordamlar (Transact-sql)