EXEC master..sp_addlogin 'SQL_Debuger', 'Debugger'
EXEC master..sp_addsrvrolemember 'SQL_Debuger', 'sysadmin

解决方案 »

  1.   

    --Create a login account for the 'test' user
    execute sp_addlogin 'test','1234','Northwind',null
    go
    --Create a group
    execute sp_addgroup 'testgroup'
    go
    --Add the test user to Database
    execute sp_adduser 'test','test','testgroup'
    go
    grant update,insert
    on customers    -- YOU CAN DEFINED WHICH TABLE YOU WANT GRANT TO TEST USER
    to testgroup
      

  2.   

    谢谢pengdali的回答,不过你还是没理解我的意思,说的那些好像都和应用程序角色无关吧
    其实我想做的就是让一个用户在某段时间内超越原先分配给它的权限去执行一些特定操作,
    我知道这可以用存储过程实现,但我现在想用应用程序角色来试试,不知道可行吗?
      

  3.   

    看了一些文档,发现我的想法是不能实现的。application role的作用在于防止用户使用自己的sql帐户通过其他的途径连接数据库,进行一些无法控制的操作。当使用application role时,数据库管理员只需分配给用户一个guest的低级用户,让他能登录服务器即可,然后在应用程序中再激活application role。也就是说让用户只有使用特定的程序才能进行相关的数据操作。而一旦激活application role后,这个角色所具有的权限就会持续整个应用程序运行阶段,直至程序推出运行。另外application role只具有单一数据库访问的权限,激活了之后用户也就失去了原先guest的权力。
    不管怎么样,还是要谢谢各位的回答:)