1. 删除数据库或者恢复数据库时,一定要先将数据库离线,在执行删除、恢复操作。

SQL代码如下:

 /*使数据库离线*/
ALTER DATABASE [数据库名] SET OFFLINE WITH ROLLBACK IMMEDIATE /*使数据库重新上线*/
ALTER DATABASE [数据库名] SET online

2. 删除数据库用户时,同样也要将用户帐号的进程给关闭,否则会提示:SQLServer无法删除登录名'***',因为该用户当前正处于登录状态

SQL代码如下:

 /*
要关闭用户帐号进程,必须获取帐号的spid值,通过 kill spid 关停帐号
exec sp_who 可以显示所有数据库帐号的spid
我们筛选想要的spid,就必须通过一个临时数据库,存储exec sp_who结果,这样就可以使用select检索想要的记录 1、定义临时表,存储exec sp_who 结果集
*/
Create Table #tmpTable (spid int,ecid int,status varchar(32),loginname varchar(32),hostname varchar(32),blk int,dbname varchar(32),cmd varchar(32),request_id int) /*2、向临时表写入记录*/
Insert Into #tmpTable EXEC sp_who /*3、定义变量用于循环记录*/
Declare @i Int /*4、 检索指定记录*/
Select @i=Min([spid]) From #tmpTable Where [dbname]='数据库名' And [loginname]='用户帐号' /*5、中止该帐号进程*/
EXEC('kill '+@i)
EXEC('kill '+@i) 时,我们建议采用循环来处理,因为可能
Select @i=Min([spid]) From #tmpTable  Where [dbname]='数据库名' And [loginname]='用户帐号' 的结果不存在,优化代码:
Declare @i Int
Select @i=Min([spid]) From #tmpTable Where [dbname]='数据库名' And [loginname]='用户帐号'
While @i Is Not Null
Begin
EXEC('kill' + @i)
Select @i=Min([spid]) From #tmpTable Where [dbname]='数据库名' And [loginname]='用户帐号' And 1=0
End

效率上来说,用case 更好一些。不过如果针对多个用户,用循环比较好:

Select @i=Min([spid]) From #tmpTable  Where [dbname]='数据库名' And [loginname]='用户帐号' And [spid]>@i

mssql删除数据库、删除帐号错误解决方法的更多相关文章

  1. android6.0SDK 删除HttpClient的相关类的解决方法

    本文转载自博客:http://blog.csdn.net/yangqingqo/article/details/48214865 android6.0SDK中删除HttpClient的相关类的解决方法 ...

  2. MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”。操作系统错误 5:“5(拒绝访问。)”。 (Microsoft SQL Server,错误: 5120)

    MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”.操作系统错误 5:“5(拒绝访问.)”. (Microsoft SQL Server,错误: 5120) ***** 解决方法 ...

  3. windows 10 删除库后自动恢复的解决方法

    目录 什么是windows 库? 手动删除不行吗? 如何正确的"删除"? title: windows 10 删除库后自动恢复的解决方法 date: 2019-06-09 15:4 ...

  4. (C#)asp_net调试错误解决方法收集(1)

    (C#)asp_net调试错误解决方法收集(1) 2007-11-2309:20 一.异常详细信息:System.InvalidOperationException:对于不返回任何键列信息的Selec ...

  5. SQL SERVER 9003错误解决方法 只适用于SQL2000

    SQLSERVER 9003错误解决方法 只适用于SQL2000 (只适用于SQL2000) "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft S ...

  6. GoldenGate 1403错误解决方法

    OGG  oracle goldengate 1403错误解决方法 1. 错误描述WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, re ...

  7. mysql Access denied for user root@localhost错误解决方法总结(转)

    mysql Access denied for user root@localhost错误解决方法总结(转) mysql Access denied for user \'root\'@\'local ...

  8. MongoDB下载+安装+配置+错误解决方法

    下载 官网下载: https://www.mongodb.com/download-center/community Server=>Download 安装 下载完成后安装 建议下载根目录(下过 ...

  9. Eclipse 出现Some sites could not be found. See the error log for more detail.错误 解决方法

    Eclipse 出现Some sites could not be found.  See the error log for more detail.错误 解决方法 Some sites could ...

随机推荐

  1. Android Watchdog

    http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/Watchdog ...

  2. debian sudo

    apt-get install sudo vi /etc/sudoers add CentOS 7 root ALL=(ALL) ALL Debian root ALL=(ALL:ALL) ALL 按 ...

  3. LeetCode 100.相同的树(C++)

    给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1 ...

  4. Robot Framework_Ride(Run标签)

    前言 我一直在想 Robot Framework 不要 RIDE 可不可以.对于编写测试用例来说,只要掌握 RobotFramework 的语法规则,随便在一个你顺手的编辑器下编写也没问题,甚至效率更 ...

  5. 常见Http协议响应码

    总体总结: 1XX:信息相应类,表示接受到请求并且继续处理 2XX:处理成功响应类,表示动作被成功的接收.理解和接受 3XX:重定向响应类,为了完成指定的动作,必须完成进一步处理和操作 4XX:客户端 ...

  6. JSP页面GET传值乱码问题

    两个JSP页面进行GET传值的时候.两个页面的编码都是UTF-8,且传值之前设置response的content为UTF-8也解决不了问题. 设置tomcat的配置文件server.xml:在Conn ...

  7. no jpeg in java.library.path;java.lang.NoClassDefFoundError: Could not initialize class sun.awt.image.codec.JPEGImageEncoderImpl

    no jpeg in java.library.path;java.lang.NoClassDefFoundError: Could not initialize class sun.awt.imag ...

  8. bzoj 5252: [2018多省省队联测]林克卡特树

    Description 小L 最近沉迷于塞尔达传说:荒野之息(The Legend of Zelda: Breath of The Wild)无法自拔,他尤其喜欢游戏中的迷你挑战. 游戏中有一个叫做& ...

  9. JSON跨域问题总结

    一.跨域问题的原因: 1 浏览器的检查 2 跨域 3 XMLHttpRequest请求二.跨域问题的解决: 1 禁止浏览器检查:使用dos命令,在启动浏览器的时候,加一个参数:chrome --dis ...

  10. 问题集录04--json和jsonp讲解

    JSON和JSONP  JSON(Javascript Object Notation)是一种轻量级的数据交换格式,用于在浏览器和服务器之间交换信息.  JSONP(JSON With Padding ...