SQL Server 2000에는 시스템보기가 아닌 사용자보기를 검색하는 SysObjects 쿼리가 있습니까?
-
09-06-2019 - |
문제
그러한 쿼리가 존재한다고 가정하면 도움에 크게 감사드립니다.
데이터베이스의 사용자 테이블 및보기에 "SELECT"및 "참조"권한을 부여 할 권한 스크립트를 개발하려고합니다. 내 세트에서 각 요소에 "Grant"명령을 실행하면 새 테이블과 뷰가 데이터베이스에 추가 될 때 권한을 더 쉽게 유지할 수 있기를 바랍니다.
해결책
select * from information_schema.tables
WHERE OBJECTPROPERTY(OBJECT_ID(table_name),'IsMSShipped') =0
dt_properties 및 시스템 테이블을 제외합니다
추가하다
where table_type = 'view'
당신이보기를 원한다면
다른 팁
SELECT
*
FROM
sysobjects
WHERE
xtype = 'V' AND
type = 'V' AND
category = 0
다음은 가능한 값의 목록입니다 xtype:
- C = 제약 조건을 확인하십시오
- d = 기본 또는 기본 제약 조건
- f = 외국 키 제약
- l = 로그
- p = 저장 절차
- pk = 1 차 키 제약 조건 (유형은 k)
- RF = 복제 필터 저장 프로 시저
- S = 시스템 테이블
- tr = 트리거
- u = 사용자 테이블
- uq = 고유 한 제약 조건 (유형은 k)
- v =보기
- x = 확장 저장 절차
다음은 가능한 값입니다 유형:
- C = 제약 조건을 확인하십시오
- d = 기본 또는 기본 제약 조건
- f = 외국 키 제약
- FN = 스칼라 함수
- if = 인쇄 된 테이블 기능
- k = 1 차 키 또는 고유 한 제약 조건
- l = 로그
- p = 저장 절차
- r = 규칙
- RF = 복제 필터 저장 프로 시저
- S = 시스템 테이블
- tf = 테이블 함수
- tr = 트리거
- u = 사용자 테이블
- v =보기
- x = 확장 저장 절차
마지막으로, 범주 필드는 다양한 유형의 객체를 기반으로 그룹처럼 보입니다. Return resultset을 분석 한 후 시스템 뷰는 범주 = 2, 모든 사용자 뷰에는 범주 = 0. 이것이 도움이되기를 바랍니다.
자세한 내용은 방문하십시오 http://msdn.microsoft.com/en-us/library/aa260447(sql.80).aspx
select * from information_schema.tables
where table_type = 'view'
제휴하지 않습니다 StackOverflow