none
SQL2008 權限設定 RRS feed

  • 問題

  • Dear Sir:

    伺服器汰換,從原來SQL 2000 變為 SQL2008 ,使用者權限為 db reader ,在 SQL2000 時可以透過 QA 讀取

    預存程序,但移轉到 SQL2008 後,透過 SQL2000 QA 無法看到預存程序,不知要授與何種權限才可,謝謝 .

     

     

    2011年7月9日 上午 07:04

所有回覆

  • 因為沒有權限所以看不到該預存程序,使用下列TSQL指令設定給USER執行預存程序的權限。

    另外,你用SQL SERVER 2008的SSMS可以看到預存程序嗎?

    grant execute on Stored_Procedure_Name to User_Name
    
    http://msdn.microsoft.com/en-us/library/ms188371.aspx
    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    2011年7月9日 下午 01:11
    版主
  • Need view definition permission if you like to see code of sp.
    2011年7月9日 下午 10:02
  • 在下也有此問題,有n個開發人員要看到n個stored procedure,用grant指令不是個好方法,但目前看來只能這麼做,可以下列指令一次將db中所有SP授與所有人檢視權限,可是每新增1個stored procedure仍要做一次...


      declare @sp_name sysname
            , @cmd    nvarchar(279)
      declare sp_csr cursor for
     select name from sys.sysobjects where type='P' order by name
      open sp_csr
      fetch sp_csr into @sp_name
      while @@fetch_status = 0
      begin
        print @sp_name
        select @cmd = 'GRANT VIEW DEFINITION ON [dbo].['+@sp_name+'] TO [public]'
        exec (@cmd)
        fetch sp_csr into @sp_name
      end
      close sp_csr
      deallocate sp_csr

    • 已編輯 陶斯 2011年11月29日 上午 08:05
    2011年11月29日 上午 07:05
  • To janpder :

    你可以試試

    GRANT VIEW ANY DEFINITION  TO [user1]

    • 已提議為解答 jeff.ko 2011年12月6日 上午 01:46
    2011年11月29日 上午 09:28