none
關於SQL 2008 系統檢視表問題 RRS feed

  • 問題

  • dear all:

          請問在SQL2008一般的使用者是否無法讀取master資料庫裡的系統檢視表?(例如:sysusers)

          如果是的話,要怎樣做才能讓一般的使用者有權限讀取呢?謝謝.

          我有試著GRANT SELECT SYSUSERS TO USER,但會出現下列錯誤:

          訊息 229,層級 14,狀態 5,行 1
          結構描述 'sys',資料庫 'mssqlsystemresource',物件 'sysusers' 沒有 SELECT 權限。

          作業系統: WINDOWS2008

          SQLSERVER: SQL2008 R1 + SP1

    2010年11月23日 上午 07:50

解答

所有回覆

  • 請參考:將系統資料表對應至系統檢視 (Transact-SQL) ,並給予適當的權限



    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    • 已標示為解答 weiping 2010年11月25日 上午 09:39
    2010年11月23日 上午 09:05
    版主
  • hi

    一般使用者預設應都可以讀取master的table和VIEW,無需處理任何權限。
    還是你執行select * from sys.sysusers 有什麼錯誤嗎?


    2010年11月23日 下午 12:47
    版主
  • dear ricoisme,

     如果以一般的使用者去執行:

     select * from sys.sysusers

    會出現錯誤:

    訊息 229,層級 14,狀態 5,行 1
    結構描述 'sys',資料庫 'mssqlsystemresource',物件 'sysusers' 沒有 SELECT 權限。

    我的SQL版本:SQLSERVER: SQL2008 R1 + SP1

    謝謝.

     

    2010年11月24日 上午 02:11
  • dear Alex,

    請問目前在SQL02008雖然還有sysusers這個系統檢視,但未來微軟可能不再提供,

    所以必須改用sys.database_principals嗎?謝謝.

    2010年11月24日 上午 02:20
  • Every db has sys.sysusers, valid db user can query it. In your case, under which db did you run the query? Are you valid user of that db? 
    2010年11月24日 上午 04:13
  • 文件是這麼建議的,既然人家建議了,若不遵循,萬一以後真的用sysusers查不到,只好去改code

    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    2010年11月24日 上午 10:44
    版主