SQL Server 2000에는 시스템보기가 아닌 사용자보기를 검색하는 SysObjects 쿼리가 있습니까?

StackOverflow https://stackoverflow.com/questions/33226

  •  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'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top