2008-08-28 20 views
5

Giả sử có một truy vấn như vậy, tôi sẽ đánh giá rất cao sự trợ giúp.Trong SQL Server 2000, có truy vấn sysobjects sẽ truy xuất chế độ xem của người dùng chứ không phải lượt xem hệ thống không?

Tôi đang cố gắng phát triển tập lệnh cho phép sẽ cấp quyền "chọn" và "tham chiếu" trên bảng người dùng và chế độ xem trong cơ sở dữ liệu. Hy vọng của tôi là việc thực hiện các lệnh "cấp" trên mỗi phần tử trong tập hợp như vậy sẽ làm cho nó dễ dàng hơn trong việc giữ quyền hiện tại khi các bảng và khung nhìn mới được thêm vào cơ sở dữ liệu.

Trả lời

6
select * from information_schema.tables 
WHERE OBJECTPROPERTY(OBJECT_ID(table_name),'IsMSShipped') =0 

sẽ loại trừ dt_properties và bảng hệ thống

thêm

where table_type = 'view' 

nếu bạn chỉ muốn xem

0
select * from information_schema.tables 
where table_type = 'view' 
+0

Returns sysconstraints và syssegments mà không phải là người dùng xem. – jumxozizi

2
SELECT 
    * 
FROM 
    sysobjects 
WHERE 
    xtype = 'V' AND 
    type = 'V' AND 
    category = 0 

Dưới đây là danh sách các giá trị có thể cho xtype:

  • C = KIỂM TRA chế
  • D = Mặc định hoặc DEFAULT constraint
  • F = FOREIGN KEY constraint
  • L = Log
  • P = Thủ tục lưu trữ
  • PK = PRIMARY KEY constraint (loại là K)
  • RF = Quy trình lưu trữ bộ lọc nhân rộng
  • S = bảng hệ thống
  • TR = Kích hoạt
  • U = Người dùng bảng
  • UQ = UNIQUE chế (loại là K)
  • V = Xem
  • X = Extended stored procedure

Sau đây là các các giá trị có thể cho loại:

  • C = KIỂM TRA chế
  • D = Mặc định hoặc DEFAULT constraint
  • F = NƯỚC NGOÀI chế KEY
  • FN = vô hướng chức năng
  • NẾU = inlined bảng chức năng
  • K = PRIMARY KEY hoặc UNIQUE
  • L = Đăng nhập
  • P = Quy trình được lưu
  • R = Quy tắc
  • RF = Thủ tục lưu trữ bộ lọc nhân bản
  • S = bảng hệ thống
  • TF = Bảng chức năng
  • TR = Kích hoạt
  • U = Người dùng bảng
  • V = Xem
  • X = Extended stored procedure

Cuối cùng, thể loại trường có vẻ như nó nhóm dựa trên các loại đối tượng khác nhau.Sau khi phân tích kết quả trả về, chế độ xem hệ thống có một loại = 2, trong khi tất cả chế độ xem của người dùng có một loại = 0. Hy vọng điều này sẽ hữu ích.

Để biết thêm thông tin, hãy truy cập http://msdn.microsoft.com/en-us/library/aa260447(SQL.80).aspx

Các vấn đề liên quan