標籤:bsp 登入 size alt record 操作 item 建立 ddl
一、 背景
外部公司的人授權訪問我們公司的資料庫,資料介面調用,要給他們建立查看指定的視圖和授權的帳號,因此要在資料庫中,給指定使用者授權訪問指定表
二、sqlserver 指令碼
---建立視圖
CREATE VIEW [dbo].[View_RunningData]ASSELECT TOP (100) PERCENT a.areaorganize, c.F_FullName AS areaorganizeName, a.recorddate, d.F_ItemCode, d.F_ItemName, a.valueFROM dbo.ITEM_RECORD AS a LEFT OUTER JOIN dbo.Sys_Organize AS c ON a.areaorganize = c.F_Id LEFT OUTER JOIN dbo.Sys_ItemsDetail AS d ON a.itemid = d.F_Id LEFT OUTER JOIN dbo.Sys_Items AS e ON d.F_ItemId = e.F_Id LEFT OUTER JOIN dbo.Sys_Items AS f ON e.F_ParentId = f.F_IdWHERE (f.F_EnCode = ‘YXSJ‘)ORDER BY a.recorddate, d.F_ItemCode
---指定指定使用者授權訪問指定表
exec sp_addrole ‘seeview‘GRANT SELECT ON View_RunningData TO seeviewexec sp_addlogin ‘yhsjjk‘,‘yh123‘,‘DA_Dev517‘exec sp_adduser ‘yhsjjk‘,‘yh123‘,‘seeview‘
二、 分析
1、 在sql server中選擇好要操作的資料庫角色。
2、 當前資料庫建立角色(建立許可權seeview)
exec sp_addrole ‘seeview‘
3、 給予建立角色的許可權,分配視圖許可權
( 意思是指定視圖列表 指定seeview這個角色可以查看的視圖表名稱;也就是這個角色可以查看下面賦予這些視圖資訊,除此之外的所有的東西都看不到)
GRANT SELECT ON View_RunningData TO seeview
4、 添加只允許訪問指定視圖的使用者: exec sp_addlogin ‘登入名稱‘,‘密碼‘,‘預設資料庫名
註:此處可能執行不了,要求密碼強度,那就自己手工建立
exec sp_addlogin ‘yhsjjk‘,‘yh123‘,‘DA_Dev517‘
5、 添加只允許訪問指定視圖的使用者到rCRM角色中: exec sp_adduser ‘登入名稱‘,‘使用者名稱‘,‘角色‘
exec sp_adduser ‘yhsjjk‘,‘yh123‘,‘seeview‘
三、 操作步驟
1、選擇要訪問的資料庫,執行視圖指令碼,視圖建立成功。
2、給指定的使用者授權訪問指定表,點擊執行資料指令碼,指令碼執行成功。
3、登陸名,密碼建立成功。
4、使用者授權成功,只能查看指定的視圖。
sqlserver給指定使用者授權訪問指定表