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. @Transcational特性

    捕获RuntimeException 捕获Error 并不捕获Checked Exception 在方法中使用@Transcational注解时候,通过throw new Exception(),在发 ...

  2. easygui.py的安装和下载地址

    easygui下载地址:http://nchc.dl.sourceforge.net/project/easygui/0.97/easygui-0.97.zip 安装:解压后将easygui.py拷贝 ...

  3. how to install mapr sandbox

    Sometimes we need a standalone envrionment to test Hadoop and Spark, mapr is a choice to do that in ...

  4. plsql数据库异常---plsql 登录后,提示数据库字符集(AL32UTF8)和客户端字符集(ZHS16GBK)不一致

    今天遇到这个问题网上搜了一下答案找到了 转贴 http://blog.csdn.net/lidew521/article/details/8546155 plsql 登录后提示: Database c ...

  5. 【ExtJS】 FormPanel与ComboBox的集成以及值的获取

    var formPanel = Ext.create("Ext.form.Panel",{ title : 'formPanel', width : 400, url : 'asd ...

  6. view向全屏延伸时的属性设置

    从iOS7 开始,当视图被navigationbar和tabbar包裹时,view默认会延伸到状态bar下面, 1.如果要让view贴着上下的状态bar展示,可以在viewDidLoad中设置属性 s ...

  7. 巧用CheckedTextView完成自定义radiobutton的listview

    因为要用自定义图片的radiobutton的listview,最开始想自己重新写BaseAdapter,重新定义BaseAdapter中的每个list的item.总之android提供了太多方便的控件 ...

  8. sqlserver 自增ID插入指定数据(转)

    set identity_insert 表名 ON --允许对自增列Id插入指定数据 insert into table_name(Id,Name) values(1,'test') set iden ...

  9. Expression Blend实例中文教程(12) - 样式和模板快速入门Style,Template

    在上一篇,介绍了Visual State Manager视觉状态管理器,其中涉及到控件的样式(Style)和模板(Template),本篇将详细介绍样式(Style)和模板(Template)在Sil ...

  10. java 线程池(2)

    ScheduledThreadPoolExecutor概述 ScheduledThreadPoolExecutor下文简称 STPE. public class ScheduledThreadPool ...