SQL Server/SQL Server Tip

SQL Server 2012 File Stream / Table 관련 DMV

SungWookKang 2015. 7. 23. 08:42
반응형

SQL Server 2012 File Stream / Table 관련 DMV

   

-      Version : SQLServer 2012

   

DMV는 SQL Server의 다양한 정보를 확인 할 수 있는 동적관리 뷰 이다.

   

파일스트림은 SQL Server 2012에 도입된 새로운 기능으로 SQLServer 기반의 응용 프로그램에서 문서 및 이미지와 같은 구조화 되지 않은 데이터파일을 시스템에 저장할 수 있는 기능이다. 응용 프로그램은 풍부한 스트리밍 API및 파일 시스템의 성능을 활용할 수 있고 동시에 구조화되지 않은 데이터와 해당되는 구조화된 데이터 간에 트랜잭션 일관성을 유지할 수있다.

파일스트림에 대한 자세한 내용은 다음 링크를 참고 한다

파일스트림 : http://msdn.microsoft.com/ko-kr/library/gg471497.aspx

   

이번시간에는 SQL Server 2012에서 파일스트림과 파일테이블에 대한 정보를 확인하는 DMV를 알아 보자.

   

[sys.database_filestream_options]

FileTable의 FILESTREAM 데이터에 대한 비트랜잭션 액세스 수준과 관련된 정보를 표시한다. SQL Server 인스턴스의 각 데이터베이스마다 하나씩의 행을 포함한다.

   

컬럼ㅂ

유형

설명

database_id

int

  

데이터베이스의 ID.이 값은 SQL Server 인스턴스 내에서 고유하다

directory_name

Nvarchar(255)

모든 FileTable 네임스페이스에 대한 데이터베이스 수준 디렉터리

non_transacted_access

tinyint

사용하도록 설정된 FILESTREAM 데이터에 대한 비트랜잭션 액세스 수준입니다.액세스 수준은 CREATE DATABASE 또는 ALTER DATABASE 문의 NON_TRANSACTED_ACCESS 옵션을 사용하여 설정.

0 - 사용 안 함.(기본값) 수준을 설정하려면 NON_TRANSACTED_ACCESS 옵션에 OFF 값을 지정.

1 - 읽기 전용 (NON_TRANSACTED_ACCESS 옵션에 READ_ONLY 값을 지정)

3 - 모든 액세스(NON_TRANSACTED_ACCESS 옵션에 FULL 값을 지정)

5 - READONLY로 전환 중

6 - OFF로 전환 중

non_transacted_access_desc

Nvarchar(60)

non_transacted_access에서 식별된 비트랜잭션 액세스 수준에 대한 설명.

NONE – 기본값입니다

READ_ONLY

FULL

IN_TRANSITION_TO_READ_ONLY

IN_TRANSITION_TO_OFF

   

SELECT database_id AS DatabaseId,

DB_NAME(database_id) AS DatabaseName,

non_transacted_access AS NonTransactedAccessEnum,

non_transacted_access_desc AS NonTransactedAccessDescription

FROM sys.database_filestream_options

WHERE database_id <> 32767;

  

   

      

   

   

[sys.filetable_system_defined_objects]

FileTable과관련된 시스템 정의 개체의 목록을 표시. 시스템 정의 개체마다 하나의 행을 포함. FileTable을 만들면 제약 조건 및 인덱스와 같은 관련 개체가 동시에 만들어 진다. 이러한 개체는 변경하거나 삭제할 수 없으며, FileTable 자체가삭제된 경우에만 사라진다.

   

컬럼

데이터 형식

설명

object_id

int

FileTable과 관련된 시스템 정의 개체의 개체 ID sys.objects의 개체를 참조.

parent_object_id

int

부모 FileTable의 개체 ID. sys.objects의 개체를 참조

   

SELECT object_id,

is_enabled,

directory_name,

filename_collation_id,

filename_collation_name

FROM sys.filetables;

  

   

   

   

[참고자료]

http://beyondrelational.com/modules/2/blogs/77/Posts/19107/0246-sql-server-2012-filestream-and-filetable-related-dmvs-and-catalog-views.aspx

http://msdn.microsoft.com/ko-kr/library/gg492092.aspx

   

2013-03-15/ 강성욱 / http://sqlmvp.kr

반응형