Aracılığıyla paylaş


sp_db_vardecimal_storage_format (Transact-SQL)

Bir veritabanının geçerli vardecimal depolama biçimi durumu döndürür veya bir veritabanında saklama biçimi vardecimal sağlar.InSQL Server 2008, kullanıcı veritabanlarının her zaman etkin.GerektirirSQL Server 2005, hizmet Pack 2 veya daha yeni.Vardecimal depolama biçimi, yalnızca kullanılabilirSQL ServerEnterprise ve Developer, deneme sürümleri.

Not

Etkinleştirme veritabanları vardecimal depolama biçimi için, yalnızca gerekliSQL Server 2005.

Important noteImportant Note:

Veritabanı vardecimal depolama biçimi durumu etkileyebilir yedek ve Kurtarma, veritabanını yansıtma,sp_attach_dbçoğaltma. ve günlük aktarma Vardecimal depolama biçimi hakkında daha fazla bilgi için bkz: Decimal veri değişken uzunluk depolama.

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

Bağımsız değişkenler

  • [ @dbname= ] 'database_name'
    Is the name of the database for which the storage format is to be changed.database_name is sysname, with no default.Vardecimal depolama, veritabanı adı atlanırsa, biçimlendirme örneğini tüm veritabanlarının durumuSQL Serverdöndürülür.

  • [ @ vardecimal_storage_format = {'ON'|'OFF'}
    Vardecimal depolama biçimi etkinleştirilip etkinleştirilmeyeceğini belirtir.@ vardecimal_storage_format olarak ON ya da OFF.Parametrevarchar(3), hiçbir varsayılan.Bir veritabanı adı sağlanmamışsa, ancak**@ vardecimal_storage_format** atlanırsa, belirtilen veritabanı geçerli ayarına döner.Bu bağımsız değişken etkisi vardırSQL Server 2008veya daha 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ştirilemezsp_db_vardecimal_storage_format bir hata. verir Veritabanını belirtilen durumda ise, saklı yordam hiçbir etkisi olmaz.

,@ vardecimal_storage_format bağımsız değişkeni değil sağlanan, sütunların Veritabanı adıVardecimal durumudöndürür.

Remarks

sp_db_vardecimal_storage_format vardecimal durumunu verir ancak değiştiremezsiniz vardecimal durumu.

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

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

  • Veritabanı ikizleme için etkinleştirilir.

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

Kapalı vardecimal depolama biçimi durumunu değiştirmek için bir veritabanı Basit kurtarma moduna küme olması gerekir.Bir veritabanı olduğunda küme Basit kurtarma moduna günlük zinciri kesilir.Vardecimal depolama biçimi durumu Kapalı ayarladıktan sonra tam veritabanı yedeklemesi gerçekleştirin.

Vardecimal veritabanı sıkıştırması kullanan bir tablo varsa, kapalı durumu değiştirme başarısız olur.Bir tablonun depolama biçimini değiştirmek içinsp_tableoption.Vardecimal saklama biçimi kullanan bir veritabanındaki tabloları belirlemek içinOBJECTPROPERTYişlev ve aramaTableHasVarDecimalStorageFormatözellik gösterildiği gibi aşağıdaki örnek.

USE AdventureWorks ;
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ğlayanAdventureWorksveritabanı durumunu doğrular ve sonra ondalık ve sayısal sütunlar sıkıştıranSales.SalesOrderDetailTablo.

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