뷰 정보 보기

SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server 2012의 뷰 정의 또는 속성에 대한 정보를 얻을 수 있습니다. 뷰 정의를 보면 어떻게 데이터가 원본 테이블에서 파생되었는지 알 수 있고 뷰에서 정의한 데이터를 볼 수 있습니다.

중요 정보중요

뷰가 참조하는 개체의 이름을 변경하려면 뷰를 수정하여 뷰의 텍스트에 새 이름이 적용되도록 해야 합니다. 따라서 개체 이름을 바꾸기 전에는 개체의 종속 관계를 먼저 표시하여 변경으로 인해 영향을 받는 뷰가 있는지 확인해야 합니다.

항목 내용

  • 시작하기 전 주의 사항

    보안

  • 뷰에 대한 정보를 얻으려면:

    SQL Server Management Studio

    Transact-SQL

시작하기 전 주의 사항

보안

사용 권한

sp_helptext를 사용하여 뷰의 정의를 반환하려면 공용 역할의 멤버여야 합니다. sys.sql_expression_dependencies를 사용하여 뷰의 모든 종속성을 찾으려면 데이터베이스에 대한 VIEW DEFINITION 권한과 데이터베이스의 sys.sql_expression_dependencies에 대한 SELECT 권한이 있어야 합니다. SELECT OBJECT_DEFINITION에 반환되는 정의와 같은 시스템 개체 정의는 모두에게 표시됩니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

SQL Server Management Studio 사용

개체 탐색기를 사용하여 뷰 속성 가져오기

  1. 개체 탐색기에서 속성을 볼 뷰가 포함된 데이터베이스 옆의 더하기 기호를 클릭한 다음 더하기 기호를 클릭하여 폴더를 확장합니다.

  2. 속성을 볼 뷰를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

    속성 보기 대화 상자에 표시되는 속성은 다음과 같습니다.

    • 데이터베이스
      이 뷰를 포함하는 데이터베이스의 이름입니다.

    • 서버
      현재 서버 인스턴스의 이름입니다.

    • 사용자
      이 연결 사용자의 이름입니다.

    • 만든 날짜
      뷰를 만든 날짜를 표시합니다.

    • 이름
      현재 뷰의 이름입니다.

    • 스키마
      뷰를 소유하는 스키마를 표시합니다.

    • 시스템 개체
      뷰가 시스템 개체인지 여부를 나타냅니다. 사용 가능한 값은 True와 False입니다.

    • ANSI NULL
      개체가 ANSI NULL 옵션으로 생성되었는지 여부를 나타냅니다.

    • 암호화됨
      뷰가 암호화되는지 여부를 나타냅니다. 사용 가능한 값은 True와 False입니다.

    • 따옴표 붙은 식별자
      개체가 따옴표 붙은 식별자 옵션으로 생성되었는지 여부를 나타냅니다.

    • 스키마 바운드
      뷰가 스키마 바운드 개체인지 여부를 나타냅니다. 사용 가능한 값은 True와 False입니다. 스키마 바운드 뷰에 대한 자세한 내용은 CREATE VIEW(Transact-SQL)에서 SCHEMABINDING에 관한 부분을 참조하십시오.

뷰 디자이너 도구를 사용하여 뷰 속성 가져오기

  1. 개체 탐색기에서 속성을 볼 뷰가 포함된 데이터베이스를 확장한 다음 폴더를 확장합니다.

  2. 속성을 볼 뷰를 마우스 오른쪽 단추로 클릭하고 디자인을 선택합니다.

  3. 다이어그램 창에서 빈 공간을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

    속성 창에 다음 속성이 표시됩니다.

    • (이름)
      현재 뷰의 이름입니다.

    • 데이터베이스 이름
      이 뷰를 포함하는 데이터베이스의 이름입니다.

    • 설명
      현재 뷰에 대한 간단한 설명입니다.

    • 스키마
      뷰를 소유하는 스키마를 표시합니다.

    • 서버 이름
      현재 서버 인스턴스의 이름입니다.

    • 스키마에 바인딩
      사용자가 이 뷰에 영향을 미치는 기본 개체를 수정하여 뷰 정의가 무효화되는 것을 방지합니다.

    • 결정적
      선택한 열의 데이터 형식을 확실하게 결정할 수 있는지 여부를 표시합니다.

    • 고유 값
      뷰에서 중복 항목을 필터링하도록 쿼리를 지정합니다. 이 옵션은 테이블에 있는 열 중 일부만 사용하고 이 열에 중복 값이 포함될 수 있는 경우 또는 둘 이상의 테이블을 조인하는 과정에서 결과 집합에 중복 행이 만들어지는 경우에 유용합니다. 이 옵션을 선택하면 SQL 창에서 키워드 DISTINCT를 문에 삽입하는 것과 결과가 같습니다.

    • GROUP BY 확장
      집계 쿼리를 기반으로 하는 뷰에 대한 추가 옵션을 사용할 수 있음을 지정합니다.

    • 모든 열 출력
      선택한 뷰에서 모든 열이 반환되는지 여부를 표시합니다. 이 옵션은 뷰가 만들어질 때 설정됩니다.

    • SQL 주석
      SQL 문에 대한 설명을 표시합니다. 전체 설명을 보거나 편집하려면 설명을 클릭한 다음 속성의 오른쪽에 있는 줄임표**(...)**를 클릭합니다. 뷰의 사용자나 사용 시기 등과 같은 정보를 주석에 포함할 수 있습니다.

    • Top 사양
      확장하면 Top, , 백분율동률 속성이 표시됩니다.

    • (Top)
      결과 집합에 처음 n개 행 또는 처음 n%에 해당하는 행만 반환하는 TOP 절이 뷰에 포함되도록 지정합니다. 기본값은 뷰가 결과 집합에서 처음 10개 행을 반환하는 것입니다. 이 옵션은 반환할 행 수를 변경하거나 백분율을 다르게 지정하려는 경우에 사용합니다.


    • 뷰가 반환할 백분율(백분율로 설정된 경우) 또는 레코드(백분율아니요로 설정된 경우)를 표시합니다.

    • 백분율
      결과 집합에서 처음 n%에 해당하는 행만 반환하는 TOP 절이 쿼리에 포함되도록 지정합니다.

    • With Ties
      뷰에 WITH TIES 절이 포함되도록 지정합니다. WITH TIES는 백분율을 기반으로 하는 TOP 절 및 ORDER BY 절이 뷰에 포함되어 있을 경우 유용합니다. 이 옵션을 설정하는 경우 백분율이 나뉘는 위치가 ORDER BY 절에서 동일한 값을 가진 행 집합의 중간에 놓이는 경우 동일한 값을 가진 행을 모두 포함할 수 있도록 뷰가 확장됩니다.

    • 업데이트 사양
      뷰 규칙 사용 업데이트CHECK 옵션 속성을 표시하도록 확장됩니다.

    • (뷰 규칙 사용 업데이트)
      뷰에 대한 모든 업데이트 및 삽입이 MDAC(Microsoft Data Access Components)에 의해 뷰의 기본 테이블을 직접 참조하는 SQL 문이 아니라 뷰를 참조하는 SQL 문으로 변환됨을 나타냅니다.

      경우에 따라 MDAC는 뷰 업데이트 및 뷰 삽입 작업을 뷰의 기본 테이블에 대한 업데이트 및 삽입으로 매니페스트합니다. 뷰 규칙 사용 업데이트를 선택하면 MDAC가 뷰 자체에 대한 업데이트 및 삽입 작업을 생성합니다.

    • CHECK 옵션
      이 뷰를 열고 결과 창을 수정하는 경우 추가되거나 수정된 데이터가 뷰 정의의 WHERE 절을 충족하는지 데이터 원본에서 확인하도록 지시합니다. 수정 내용이 WHERE 절을 충족하지 않는 경우 자세한 정보와 함께 오류가 표시됩니다.

뷰의 종속성을 가져오려면

  1. 개체 탐색기에서 속성을 볼 뷰가 포함된 데이터베이스를 확장한 다음 폴더를 확장합니다.

  2. 속성을 볼 뷰를 마우스 오른쪽 단추로 클릭하고 종속성 보기를 선택합니다.

  3. [뷰 이름]에 종속된 개체를 선택하여 뷰를 참조하는 개체를 표시합니다.

  4. [뷰 이름]이(가) 종속된 개체를 선택하여 뷰가 참조하는 개체를 표시합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]

Transact-SQL 사용

뷰의 정의 및 속성을 가져오려면

  1. 개체 탐색기에서 데이터베이스 엔진 인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예 중 하나를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.

    USE AdventureWorks2012;
    GO
    SELECT definition, uses_ansi_nulls, uses_quoted_identifier, is_schema_bound
    FROM sys.sql_modules
    WHERE object_id = OBJECT_ID('HumanResources.vEmployee'); 
    GO
    
    USE AdventureWorks2012; 
    GO
    SELECT OBJECT_DEFINITION (OBJECT_ID('HumanResources.vEmployee')) AS ObjectDefinition; 
    GO
    
    EXEC sp_helptext 'HumanResources.vEmployee';
    

자세한 내용은 sys.sql_modules(Transact-SQL), OBJECT_DEFINITION(Transact-SQL)sp_helptext(Transact-SQL)를 참조하십시오.

뷰의 종속성을 가져오려면

  1. 개체 탐색기에서 데이터베이스 엔진 인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.

    USE AdventureWorks2012;
    GO
    SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name, 
        o.type_desc AS referencing_desciption, 
        COALESCE(COL_NAME(referencing_id, referencing_minor_id), '(n/a)') AS referencing_minor_id, 
        referencing_class_desc, referenced_class_desc,
        referenced_server_name, referenced_database_name, referenced_schema_name,
        referenced_entity_name, 
        COALESCE(COL_NAME(referenced_id, referenced_minor_id), '(n/a)') AS referenced_column_name,
        is_caller_dependent, is_ambiguous
    FROM sys.sql_expression_dependencies AS sed
    INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id
    WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription');
    GO
    

자세한 내용은 sys.sql_expression_dependencies(Transact-SQL)sys.objects(Transact-SQL)를 참조하십시오.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[Top]