SQL Server(2008)에서 특정 테이블을 사용하는 뷰를 찾는 방법은 무엇입니까?
테이블에 몇 개의 열을 추가해야 하고 이 열을 이 테이블을 사용하는 모든 보기에 추가해야 합니다.
특정 테이블을 사용하는 데이터베이스의 모든 보기 목록을 얻을 수 있습니까?
이렇게 하면 됩니다.
SELECT *
FROM INFORMATION_SCHEMA.VIEWS
WHERE VIEW_DEFINITION like '%YourTableName%'
테이블 종속성을 찾으려면 sys를 사용하면 됩니다.sql_expression_dependency 카탈로그 보기:
SELECT DISTINCT
referencing_object_name = o.name,
referencing_object_type_desc = o.type_desc,
referenced_object_name = referenced_entity_name,
referenced_object_type_desc =so1.type_desc
FROM sys.sql_expression_dependencies sed
INNER JOIN sys.views o ON sed.referencing_id = o.object_id
LEFT OUTER JOIN sys.views so1 ON sed.referenced_id =so1.object_id
WHERE referenced_entity_name = 'Person'
ApexSQL Search a free SSMS 및 View Dependencies 기능이 있는 VS add-in을 사용해 볼 수도 있습니다.종속성 보기 기능은 암호화된 개체와 시스템 개체, SQL Server 2012 특정 개체, TDE(Transparent Data Encryption)로 암호화된 데이터베이스에 저장된 개체 등 모든 SQL 데이터베이스 개체의 관계를 시각화할 수 있습니다.
이 방법이 더 효과적이라고 생각합니다.
SELECT type, *
FROM sys.objects
WHERE OBJECT_DEFINITION(object_id) LIKE '%' + @ObjectName + '%'
AND type IN ('V')
ORDER BY name
필터링VIEW_DEFINTION
안에서.INFORMATION_SCHEMA.VIEWS
꽤 많은 거짓 긍정을 주고 있어요
데이터베이스 개체(예: 테이블, 열, 트리거)를 이름으로 찾아야 하는 경우 SQL 검색이라는 FREE Red-Gate 도구를 살펴보십시오. 이 도구는 전체 데이터베이스에서 문자열의 종류를 검색합니다.
이 툴은 모든 DBA나 데이터베이스 개발자에게 꼭 필요한 툴입니다. 이미 어떤 종류의 용도로도 무료로 사용할 수 있다고 말했었나요?
SELECT VIEW_NAME
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE TABLE_NAME = 'Your Table'
테이블을 선택합니다 -> 종속성 보기 -> 의존하는 개체
아래 쿼리를 사용하여 tableName에 대한 사용된 뷰 또는 저장 프로시저를 찾는 가장 간단한 방법 -
exec dbo.dbsearch 'Your_Table_Name'
언급URL : https://stackoverflow.com/questions/9618134/how-to-find-which-views-are-using-a-certain-table-in-sql-server-2008
'programing' 카테고리의 다른 글
AngularJS - Get 및 Post에 대한 $resource different URL (0) | 2023.10.27 |
---|---|
AJAX가 뭐지, 정말? (0) | 2023.10.27 |
-fPIC 플래그는 오버헤드를 얼마나 추가할 수 있습니까? (0) | 2023.10.27 |
타겟팅 위치: 현재 '고임' 상태인 끈적거리는 요소 (0) | 2023.10.27 |
Cannot display HTML string (0) | 2023.10.27 |