sp_db_vardecimal_storage_format(Transact-SQL)

새 설치: 2006년 12월 12일

데이터베이스의 현재 VarDecimal 저장소 형식 상태를 반환하거나 VarDecimal 저장소 형식으로 데이터베이스를 설정 또는 해제합니다. SQL Server 2005 서비스 팩 2 이상 버전이 필요합니다. VarDecimal 저장소 형식은 SQL Server 2005 Enterprise Edition, Developer Edition 및 Evaluation Edition에서만 사용할 수 있습니다.

Bb326653.note(ko-kr,SQL.90).gif중요:
데이터베이스의 VarDecimal 저장소 형식 상태를 변경하면 백업 및 복구, 데이터베이스 미러링, sp_attach_db, 로그 전달 및 복제에 영향을 줄 수 있습니다. VarDecimal 저장소 형식에 대한 자세한 내용은 Decimal 데이터를 가변 길이로 저장을 참조하십시오.

구문

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

참고 항목

참조

데이터베이스 엔진 저장 프로시저(Transact-SQL)

관련 자료

Decimal 데이터를 가변 길이로 저장

도움말 및 정보

SQL Server 2005 지원 받기