• SQLServer之删除用户自定义数据库用户


    删除用户自定义数据库用户注意事项

    不能从数据库中删除拥有安全对象的用户。 必须先删除或转移安全对象的所有权,才能删除拥有这些安全对象的数据库用户。

    不能删除 guest 用户,但可在除 master 或 tempdb 之外的任何数据库中执行 REVOKE CONNECT FROM GUEST 来撤消它的 CONNECT 权限,从而禁用 guest 用户。

    需要对数据库具有 ALTER ANY USER 权限。

    使用SSMS数据库管理工具删除用户自定义数据库用户

    1、连接服务器-》展开数据库-》选择要删除用户的数据库-》展开数据库-》展开安全性-》展开用户-》选择要删除的用户右键点击-》选择删除。

    2、在删除对象弹出框-》点击确定。

    3、不需要刷新即可查看删除结果。

    使用T-SQL脚本删除用户自定义用户

    语法

    --声明数据库引用
    use database_name;
    go
    
    --判断是否存在用户自定义用户,如果存在则删除。
    if exists(select * from sys.database_principals where name=user_name)
    --把架构所有者修改回来架构自身
    alter authorization on schema::[Architecture_name] to Architecture_name;
    --删除角色拥有的成员
    alter role [[Architecture_name] drop member user_name;
    --删除扩展属性
    exec sys.sp_dropextendedproperty @name=N'tests_description', @level0type=N'user',@level0name=N'user_name'
    --删除用户架构
    drop user user_name;
    go

    语法注释

    --database_name
    --数据库名称
    --user_name
    --用户名称
    --Architecture_name
    --架构名称
    --tests_description
    --扩展属性名称

    示例

    --声明数据库引用
    use [testss];
    go
    
    --判断是否存在用户自定义用户,如果存在则删除。
    if exists(select * from sys.database_principals where name='test1')
    --把架构所有者修改回来架构自身
    alter authorization on schema::[db_accessadmin] to db_accessadmin;
    --删除角色拥有的成员
    alter role [db_accessadmin] drop member test1;
    --删除扩展属性
    --exec sys.sp_dropextendedproperty @name=N'tests_description', @level0type=N'user',@level0name=N'test1'
    --删除用户架构
    drop user test1;
    go

    示例结果:使用T-SQL脚本删除用户需要刷新用户文件夹才能查看删除结果。

  • 相关阅读:
    iOS UITableViewCell中包含UICollectionView嵌套 解决UITableViewCell显示异常
    mac 终端创建podfile文件
    iOS UIScrollView弹性问题
    NSMutableParagraphStyle与NSParagraphStyle的使用
    iOS 单个控制器隐藏 导航栏下划线
    iOS UICollectionView reloadData后立即获取contentSize.height高度
    高德地图API开发二三事(一)如何判断点是否在折线上及引申思考
    Python-6
    Python-模块
    python-递归函数和内置函数笔记汇总
  • 原文地址:https://www.cnblogs.com/vuenote/p/10241418.html
Copyright © 2020-2023  润新知