none
請問使用者的安全性實體如何產生指令碼? RRS feed

  • 問題

  • 我在SQL 2008 R2標準版的伺服器層級有一個登入帳號為 test

    (詳細版本為  SQL Server 2008 R2 (SP3) - 10.50.6220.0 (Intel X86)  )

    我在資料庫myDB新增一個使用者就是上述的test

    在同一視窗設定test的安全性實體,譬如針對myTable資料表,設定 "資料行權限"

    授與 test 只能選取myTable資料表的三個欄位,按下確定,並用test登入後測試確認沒問題

    現在我想要將test使用者的權限設定(含安全性實體)轉移到其它台伺服器

    但不論我是在資料庫節點上按滑鼠右鍵選擇 "產生指令碼" -->選取特定資料庫物件 -->使用者

    或是在使用者test節點上按滑鼠右鍵選擇 "編寫使用者的指令碼" --> "Create至"

    最終產生的指令碼都不包含安全性實體中的權限設定

    只有類似下面這樣建立使用者的指令碼

    CREATE USER [test] FOR LOGIN [test] WITH DEFAULT_SCHEMA=[dbo]
    GO

    請問應該如何操作才能達成我的需求?

    請前輩指點,謝謝


    Tommy1231


    • 已編輯 Tommy1231 2018年8月7日 下午 06:16
    2018年8月7日 下午 05:59

解答

所有回覆

  • Script out table with permissions.
    • 已標示為解答 Tommy1231 2018年8月11日 上午 12:47
    2018年8月8日 下午 12:21
  • Script out table with permissions.

    意思是要自行撰寫sql指令碼?  譬如 

     DENY SELECT ON [dbo].[myTable] ([myID]) TO [testUser]

    但如果要自行撰寫sql指令碼,那一開始就不要使用視窗設定畫面去設定權限了

    我依照回覆者的關鍵字去搜尋,找到一個免費軟體如下,好像可以產生資料庫所有物件的權限指令碼

    Idera SQL Permissions Extractor


    Tommy1231

    2018年8月8日 下午 07:43
  • SSMS has feature to generate script for you, I just let you know what you should do in ssms.
    2018年8月9日 下午 02:49