뷰 정보 보기
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 사용
개체 탐색기를 사용하여 뷰 속성 가져오기
개체 탐색기에서 속성을 볼 뷰가 포함된 데이터베이스 옆의 더하기 기호를 클릭한 다음 더하기 기호를 클릭하여 뷰 폴더를 확장합니다.
속성을 볼 뷰를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
속성 보기 대화 상자에 표시되는 속성은 다음과 같습니다.
데이터베이스
이 뷰를 포함하는 데이터베이스의 이름입니다.서버
현재 서버 인스턴스의 이름입니다.사용자
이 연결 사용자의 이름입니다.만든 날짜
뷰를 만든 날짜를 표시합니다.이름
현재 뷰의 이름입니다.스키마
뷰를 소유하는 스키마를 표시합니다.시스템 개체
뷰가 시스템 개체인지 여부를 나타냅니다. 사용 가능한 값은 True와 False입니다.ANSI NULL
개체가 ANSI NULL 옵션으로 생성되었는지 여부를 나타냅니다.암호화됨
뷰가 암호화되는지 여부를 나타냅니다. 사용 가능한 값은 True와 False입니다.따옴표 붙은 식별자
개체가 따옴표 붙은 식별자 옵션으로 생성되었는지 여부를 나타냅니다.스키마 바운드
뷰가 스키마 바운드 개체인지 여부를 나타냅니다. 사용 가능한 값은 True와 False입니다. 스키마 바운드 뷰에 대한 자세한 내용은 CREATE VIEW(Transact-SQL)에서 SCHEMABINDING에 관한 부분을 참조하십시오.
뷰 디자이너 도구를 사용하여 뷰 속성 가져오기
개체 탐색기에서 속성을 볼 뷰가 포함된 데이터베이스를 확장한 다음 뷰 폴더를 확장합니다.
속성을 볼 뷰를 마우스 오른쪽 단추로 클릭하고 디자인을 선택합니다.
다이어그램 창에서 빈 공간을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
속성 창에 다음 속성이 표시됩니다.
(이름)
현재 뷰의 이름입니다.데이터베이스 이름
이 뷰를 포함하는 데이터베이스의 이름입니다.설명
현재 뷰에 대한 간단한 설명입니다.스키마
뷰를 소유하는 스키마를 표시합니다.서버 이름
현재 서버 인스턴스의 이름입니다.스키마에 바인딩
사용자가 이 뷰에 영향을 미치는 기본 개체를 수정하여 뷰 정의가 무효화되는 것을 방지합니다.결정적
선택한 열의 데이터 형식을 확실하게 결정할 수 있는지 여부를 표시합니다.고유 값
뷰에서 중복 항목을 필터링하도록 쿼리를 지정합니다. 이 옵션은 테이블에 있는 열 중 일부만 사용하고 이 열에 중복 값이 포함될 수 있는 경우 또는 둘 이상의 테이블을 조인하는 과정에서 결과 집합에 중복 행이 만들어지는 경우에 유용합니다. 이 옵션을 선택하면 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 절을 충족하지 않는 경우 자세한 정보와 함께 오류가 표시됩니다.
뷰의 종속성을 가져오려면
개체 탐색기에서 속성을 볼 뷰가 포함된 데이터베이스를 확장한 다음 뷰 폴더를 확장합니다.
속성을 볼 뷰를 마우스 오른쪽 단추로 클릭하고 종속성 보기를 선택합니다.
[뷰 이름]에 종속된 개체를 선택하여 뷰를 참조하는 개체를 표시합니다.
[뷰 이름]이(가) 종속된 개체를 선택하여 뷰가 참조하는 개체를 표시합니다.
[Top]
Transact-SQL 사용
뷰의 정의 및 속성을 가져오려면
개체 탐색기에서 데이터베이스 엔진 인스턴스에 연결합니다.
표준 도구 모음에서 새 쿼리를 클릭합니다.
다음 예 중 하나를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.
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)를 참조하십시오.
뷰의 종속성을 가져오려면
개체 탐색기에서 데이터베이스 엔진 인스턴스에 연결합니다.
표준 도구 모음에서 새 쿼리를 클릭합니다.
다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.
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]