《数据库系统概论》中grant语句不适用于新版本的SQL Server,实验需要使用安全存储过程
以下截自官方文档:
SQL Server 支持下列系统存储过程用来管理安全性。 这些存储过程的一些不推荐使用,但仍是可用于支持向后兼容性。 不推荐使用的存储过程的主题将列出用于替换它们的存储过程。
功能处于维护模式并且可能会在 Microsoft SQL Server 将来的版本中被删除。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。(感觉跟不上版本)
sp_addapprole [ @rolename = ] 'role' , [ @password = ] 'password' |
sp_addlogin [ @loginame = ] 'login' [ , [ @passwd = ] 'password' ] [ , [ @defdb = ] 'database' ] [ , [ @deflanguage = ] 'language' ] [ , [ @sid = ] sid ] [ , [ @encryptopt = ] 'encryption_option' ] [;] |
sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ] |
sp_addrolemember [ @rolename = ] 'role', [ @membername = ] 'security_account' |
sp_adduser [ @loginame = ] 'login' [ , [ @name_in_db = ] 'user' ] [ , [ @grpname = ] 'role' ] |
sp_dropapprole [@rolename = ] 'role' |
sp_droplogin [ @loginame = ] 'login' |
sp_droprole [ @rolename= ] 'role' |
sp_droprolemember [ @rolename = ] 'role' , [ @membername = ] 'security_account' |
sp_dropuser [ @name_in_db = ] 'user' |
sp_password [ [ @old = ] 'old_password' , ] { [ @new =] 'new_password' }[ , [ @loginame = ] 'login' ] |
对应《数据库系统概论》中,目前版本(SQL server2017),不能实现的数据库完整性控制功能,使用以上函数,便可以基本进行实现。