SQL使用者許可權的一道經典題

2021-04-21 11:30:30 字數 1741 閱讀 1968

/*

資料庫管理綜合練習

條件:資料庫:microsoft

表:   table1、table2(表結構自定,表中要求有資料)

使用者:a1,a2,b1,b2,c1,c2,d1,d2

要求:1.使用者a1,a2只能檢視表table1;

2.使用者b1,b2只能檢視表table2;

3.使用者c1,c2可以檢視表table1和table2;

4.使用者d1具有分配第一把鑰匙的權力;

5.使用者c1具有分配第二把鑰匙的權力;

6.使用者c2具有分配第三把鑰匙的權力;

7.使用者d2能夠對資料庫microsoft進行備份;

可以嘗試用em和t-sql語句兩種方法實現上述要求

*/create database microsoft

gouse microsoft

create table table1(id int,name char(10))

create table table2(id int,name char(10))

goinsert into table1 values(1,'bill')

insert into table2 values(2,'gates')

exec sp_addlogin 'a1'

exec sp_addlogin 'a2'

exec sp_addlogin 'b1'

exec sp_addlogin 'b2'

exec sp_addlogin 'c1'

exec sp_addlogin 'c2'

exec sp_addlogin 'd1'

exec sp_addlogin 'd2'

exec sp_grantdbaccess 'a1'

exec sp_grantdbaccess 'a2'

exec sp_grantdbaccess 'b1'

exec sp_grantdbaccess 'b2'

exec sp_grantdbaccess 'c1'

exec sp_grantdbaccess 'c2'

exec sp_grantdbaccess 'd2'

exec sp_addrole 'r1'

exec sp_addrole 'r2'

gogrant select on table1 to r1

gogrant select on table2 to r2

exec sp_addrolemember 'r1','a1'

exec sp_addrolemember 'r1','a2'

exec sp_addrolemember 'r1','c1'

exec sp_addrolemember 'r1','c2'

exec sp_addrolemember 'r2','b1'

exec sp_addrolemember 'r2','b2'

exec sp_addrolemember 'r2','c1'

exec sp_addrolemember 'r2','c2'

exec sp_addsrvrolemember 'd1','securityadmin'

exec sp_addrolemember 'db_accessadmin','c1'

exec sp_addrolemember 'db_securityadmin','c2'

exec sp_addrolemember 'db_backupoperator','d2'

記一道經典前端題

題目如下 function foo return this foo.getname function foo.prototype.getname function var getname function function getname 輸出值 foo.getname getname foo ge...

記一道經典前端題

題目如下 function foo return this foo.getname function foo.prototype.getname function var getname function function getname 輸出值 foo.getname getname foo ge...

一道經典面試邏輯題的python解法

前言 好早之前看到的乙個邏輯題 有兩個2到99之間的整數,a知道這兩個數的和,b知道這兩個數的積。第一句 a對b說 我不知道這兩個數是多少,但我確信你也不知道。第二句 b說 我知道了。第三句 a說 我也知道了。問這兩個數是多少?題不難,只是手動去找沒有python寫程式找的快,而且用python程式...