zoukankan      html  css  js  c++  java
  • 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脚本删除用户需要刷新用户文件夹才能查看删除结果。

  • 相关阅读:
    Hive-基本操作
    Hive-安装
    Hive-概述
    游荡二十几天的感想
    js html css
    C#笔试总结
    ubuntu16.04 下 C# mono开发环境搭建
    scoket、TCP、UDP、WebService选型
    虚拟机安装Windows系统,再安装orcale
    Rosetta Stone 不在C盘安装步骤
  • 原文地址:https://www.cnblogs.com/vuenote/p/10241418.html
Copyright © 2011-2022 走看看