《数据库系统概论》拾遗--数据库安全控制(SQL server安全存储过程 实现)

《数据库系统概论》中grant语句不适用于新版本的SQL Server,实验需要使用安全存储过程

以下截自官方文档:

《数据库系统概论》拾遗--数据库安全控制(SQL server安全存储过程 实现)_第1张图片

《数据库系统概论》拾遗--数据库安全控制(SQL server安全存储过程 实现)_第2张图片

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),不能实现的数据库完整性控制功能,使用以上函数,便可以基本进行实现。

你可能感兴趣的:(数据库)