授权登录的系统存储过程用起来还挺顺手的。SQL Server 里的 sp_grantdbaccess 就是这么个东西,用来让登录用户获得某个数据库的访问权限,语法也简单,调用也方便,改改参数就能用了。
像 sp_grantdbaccess 这样的存储过程,在做权限配置的时候省事。比如给某个登录账号开数据库权限,只需要写一行代码:
sp_grantdbaccess 'yourLoginName', 'yourUserName'登录名和数据库用户名不一样也没关系,后面那个参数就负责映射。嗯,挺灵活的。
不过你得注意,SQL Server 2012 之后这个过程已经被标记为弃用了,虽然还能用,但建议你还是转向 CREATE USER 这种方式。
如果你还在用老版本,或者维护一些历史系统,那这个存储过程还是蛮有用的。毕竟效率高,语法清晰,出错率也低。
顺带一提,安全相关的内容其实挺多的,比如登录用户的删除、数据库权限管理这些,建议你也可以看看下面这些文章:
如果你刚好在做数据库权限管理,可以试试这个方式,简单省心。