2009-04-08 2 views
2

오늘 시스템보기 sys.sql_modules이 나타났습니다. DB 객체 대 모듈이란 무엇입니까? 보기는 sys.syscomments에 의해 리턴 된 정의 텍스트를 포함하는 컬럼을 가장 두드러지게 리턴합니다.SQL Server 모듈이란 무엇입니까?

답변

4

그것은 저장 프로 시저, 저장 기능, 트리거 또는 뷰 정의를 구성하는 T-SQL 문 블록입니다.

거래-SQL 저장 프로 시저의 정의 을 표시하려면 저장 절차에 대한 정보를 얻기

, 는 sys.sql_modules 카탈로그 뷰를 사용하십시오 "절차를 만들기"절에서 "온라인"에서

프로 시저가있는 데이터베이스에 이 있습니다.

sys.sql_modules에서 실제 T-SQL 코드를 찾을 수 있습니다.

마크

1

모듈은 함수, 프로 시저, 대기열 및 트리거입니다. 이러한 모듈은 객체를 호출합니다. 그게 내가 "AS를 실행"을 설명하는이 문서에서 이해할 수있는 작업은 다음과 같습니다

EXECUTE AS

+0

첫 페이지에서 내 질문에 대한 답변을 얻은 페이지였습니다. 그것은 DB에 다양한 모듈이 있음을 알려줍니다. 저는 항상 DB에 다양한 객체가 있다는 것을 알고있었습니다. 언제 '모듈'인가? – ProfK

+0

답을 명확하게하기 위해 답을 다시 정의했습니다. – IEnumerator

3

SQL-서버 발언의 모듈은 이러한보기, 테이블 반환 함수, 저장 프로 시저, 트리거 또는 스칼라 함수로 SQL 배치를 포함하는 독립형 개체입니다. SQL 오브젝트는 점검 또는 기본 제한과 같은 SQL 표현식을 포함하는 일부를 포함하는보다 포괄적 인 용어입니다. 모듈은 SQL Server 2005 이전의 '루틴'이라고 불리곤했지만 이전에는 두 용어가 같은 의미로 사용되었습니다.

테이블의 구성 요소를 개별적으로 변경할 수 있기 때문에 테이블 작성 스크립트가 SQL Server에 저장되지 않습니다. 따라서 객체로 처리되지만 모듈은 처리되지 않습니다.
모듈로 간주되지 않는 일반 오브젝트는 시스템 테이블, 디폴트 제한 조건, 외부 키 제한 조건, 서비스 큐, 점검 제한 조건, 사용자 테이블, 기본 키 제한 조건, 내부 테이블 및 고유 제한 조건입니다.

열은 개체로 간주되지 않습니다. 인덱스도 아닙니다.

네, 처음 생각하는 것보다 훨씬 복잡합니다.

관련 문제