뷰 정보 보기

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 뷰의 정의 또는 속성에 대한 정보를 얻을 수 있습니다. 원본 테이블에서 데이터가 파생되는 방식을 이해하거나 뷰에서 정의된 데이터를 보려면 뷰의 정의를 확인해야 할 수 있습니다.

Important

뷰에서 참조하는 개체의 이름을 변경하는 경우 해당 텍스트가 새 이름을 반영할 수 있도록 보기를 수정해야 합니다. 따라서 개체 이름을 바꾸기 전에 먼저 개체의 종속성을 표시하여 제안된 변경 내용의 영향을 받는 뷰가 있는지 확인합니다.

항목 내용

시작하기 전에

보안

사용 권한

sp_helptext 뷰의 정의를 반환하려면 공용 역할의 멤버 자격이 필요합니다. sys.sql_expression_dependencies 뷰에서 모든 종속성을 찾으려면 데이터베이스에 대한 VIEW DEFINITION 권한과 데이터베이스에 sys.sql_expression_dependencies 대한 SELECT 권한이 필요합니다. SELECT OBJECT_DEFINITION 반환된 것과 같은 시스템 개체 정의가 공개적으로 표시됩니다.

SQL Server Management Studio 사용

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

  1. 개체 탐색기에서 속성을 보려는 보기가 포함된 데이터베이스 옆에 있는 더하기 기호를 선택한 다음 더하기 기호를 클릭하여 Views 폴더를 확장합니다.

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

    속성 보기 대화 상자에 다음 속성표시됩니다.

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

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

    사용자
    이 연결을 사용하는 사용자의 이름입니다.

    만든 날짜
    보기를 만든 날짜를 표시합니다.

    입력
    현재 보기의 이름입니다.

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

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

    ANSI NULL
    ANSI NULL 옵션을 사용하여 개체가 만들어졌는지를 나타냅니다.

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

    따옴표 붙은 식별자
    따옴표 붙은 식별자 옵션을 사용하여 개체가 만들어졌는지를 나타냅니다.

    스키마 바인딩
    뷰가 스키마에 바인딩되어 있는지 여부를 나타냅니다. 사용 가능한 값은 True와 False입니다. 스키마 바인딩 뷰에 대한 자세한 내용은 CREATE VIEW(Transact-SQL)SCHEMABINDING 부분을 참조하세요.

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

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

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

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

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

    (이름)
    현재 보기의 이름입니다.

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

    Description
    현재 보기에 대한 간략한 설명입니다.

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

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

    스키마에 바인딩
    사용자가 보기 정의를 무효화하는 방식으로 이 보기에 기여하는 기본 개체를 수정할 수 없도록 합니다.

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

    고유 값
    쿼리가 뷰에서 중복 항목을 필터링할 것을 지정합니다. 이 옵션은 테이블의 일부 열만 사용하고 해당 열에 중복 값이 포함될 수 있거나 둘 이상의 테이블을 조인하는 프로세스에서 결과 집합에서 중복 행을 생성하는 경우에 유용합니다. 이 옵션을 선택하는 것은 SQL 창의 문에 DISTINCT 키워드를 삽입하는 것과 같습니다.

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

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

    SQL 주석
    SQL 문에 대한 설명을 표시합니다. 전체 설명을 보거나 편집하려면 설명을 선택한 다음 속성 오른쪽에 있는 줄임표 (...) 를 선택합니다. 의견에는 뷰를 사용하는 사용자 및 뷰를 사용하는 시기와 같은 정보가 포함될 수 있습니다.

    상위 사양
    위쪽, 식, 백분율With Ties 속성의 속성을 표시하려면 확장합니다.

    (Top)
    뷰에 TOP 절이 포함되도록 지정합니다. 이 절은 결과 집합의 첫 번째 n개 행 또는 첫 번째 n개 행만 반환합니다. 기본값은 뷰가 결과 집합에서 처음 10개 행을 반환하는 것입니다. 반환할 행 수를 변경하거나 다른 백분율을 지정하는 데 사용합니다.


    보기에서 반환할 백분율(백분율이 예설정된 경우) 또는 레코드(백분율이 아니요설정된 경우)를 표시합니다.

    퍼센트
    쿼리에 TOP 절이 포함되도록 지정하고 결과 집합에 있는 행의 첫 번째 n%만 반환합니다.

    관계와 함께
    뷰에 WITH TIES 절이 포함되도록 지정합니다. WITH TIES는 뷰에 ORDER BY 절과 백분율을 기반으로 하는 TOP 절이 포함된 경우에 유용합니다. 이 옵션을 설정하고 ORDER BY 절에서 값이 동일한 행 집합의 중간에 백분율 구분선이 있는 경우 뷰는 이러한 모든 행을 포함하도록 확장됩니다.

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

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

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

    확인 옵션
    이 보기를 열고 결과 창을 수정할 때 데이터 원본은 추가되거나 수정된 데이터가 뷰 정의의 WHERE 절을 충족하는지 여부를 확인합니다. 수정 내용이 WHERE 절을 충족하지 않으면 자세한 정보가 포함된 오류가 표시됩니다.

보기에 대한 종속성을 얻으려면

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

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

  3. [보기 이름]에 의존하는 개체를 선택하여 보기를 참조하는 개체를 표시합니다.

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

Transact-SQL 사용

뷰의 정의 및 속성을 얻으려면

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

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

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

    USE AdventureWorks2022;  
    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 AdventureWorks2022;   
    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)를 참조하세요.

참고 항목

시스템 저장 프로시저 sp_helptext는 Azure Synapse Analytics에서 지원되지 않습니다. 대신 sys.sql_modules 개체 카탈로그 뷰를 사용하세요.

뷰의 종속성을 얻으려면

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

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

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

    USE AdventureWorks2022;  
    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)를 참조하세요.