Aracılığıyla paylaş


sp_db_vardecimal_storage_format (Transact-SQL)

Geçerli vardecimal depolama biçimi bir veritabanının durumunu verir veya bir veritabanı vardecimal depolama biçimi için etkinleştirir.De SQL Server 2008, kullanıcı veritabanlarını her zaman etkin.Gerektirir SQL Server 2005, Service Pack 2 veya sonraki sürümü. Vardecimal depolama biçimi yalnızca SQL Server kuruluş, Developer ve değerlendirme sürümleri.

Not

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

Önemli notÖnemli

Bir veritabanı vardecimal depolama biçimi durumunu değiştirme etkileyebilir yedek ve kurtarma, veritabanı yansıtması, sp_attach_db, günlük aktarmave çoğaltma.Vardecimal depolama biçimi hakkında daha fazla bilgi için bkz: Değişken uzunlukta ondalık veri saklama.

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ştirilmesini veritabanının adıdır.database_nameİş sysname, ile hiçbir varsayılan.Vardecimal depolama veritabanı adı belirtilmezse, örnek tüm veritabanlarının durumu biçimlendirmek SQL Server döndürülür.

  • [ @vardecimal_storage_format= ] {'ON'|'OFF'}
    Vardecimal depolama biçimi etkinleştirilip etkinleştirilmeyeceğini belirtir.@vardecimal_storage_formatAÇIK olabilir veya off.Parametre varchar(3), ile hiçbir varsayılan.Bir veritabanı adı sağlanmazsa, ancak @vardecimal_storage_format olan atlanırsa belirtilen veritabanını geçerli ayarına döndürülür.Bu bağımsız değişken herhangi bir etkisi SQL Server 2008 veya sonraki sürümleri.

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_format işlevi bir hata.Veritabanı belirtilen durumda ise, saklı yordam hiçbir etkisi olmaz.

@vardecimal_storage_format Bağımsız değişkeni sağlanmadığından, sütunlar döndürür Database Name ve 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ıtmaiçin etkinleştirilir.

  • Sürümü SQL Server desteklemiyor vardecimal depolama biçimi.

Kapalı vardecimal depolama biçimi durumunu değiştirmek için bir veritabanı basit kurtarma moduna küme olması gerekir.Veritabanı basit kurtarma moduna küme olduğunda, günlük zinciri kopuktur.Vardecimal depolama biçimi durumuna off küme sonra bir tam veritabanı yedek gerçekleştirin.

Vardecimal veritabanı sıkıştırma kullanılarak tablo varsa, kapalı durumunu değiştirme başarısız olur.Bir tablodepolama biçimini değiştirmek için sp_tableoption.Veritabanındaki tabloları vardecimal depolama biçimi kullanıyorsanız belirlemek için OBJECTPROPERTY işlev ve arama TableHasVarDecimalStorageFormat özellik, aşağıdaki örnek. göründüğü gibi

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

Örnekler

Aşağıdaki kod, sıkıştırma sağlar AdventureWorks2008R2 veritabanı durumunu doğrular ve sonra ondalık ve sayısal sütunlar sıkıştırır Sales.SalesOrderDetail tablo.

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