删除SQL Server中“坏表”的方法

数据库 SQL Server
在一些网站或者软件系统中,由于安全或者程序异常等问题,可能会在SQL Server 2000中造成一个异常问题:在企业管理器中打开数据库发现有一些“坏表”,即无法使用,也无法正常删除。下面就将为您介绍“坏表”的删除方法。

SQL Server 数据库中某些无法使用的表很让人头疼,那么,如何才能删除这些“坏表”呢?下文将为您介绍这种方法,供您参考。

在一些网站或者软件系统中,由于安全或者程序异常等问题,可能会在SQL Server 2000中造成一个异常问题:在企业管理器中打开数据库发现有一些“坏表”,即无法使用,也无法正常删除。其原因往往是因为在尝试建表的过程中,只向数据库服务器的系统表sysobjects中写入了类型为“U”的记录,却并未真正在数据库中成功创建该表的实体。ok,解决问题有思路了:

假设“坏表”的表名为cmd,那么我们在查询分析器中对当前的数据库写一个sql语句:

delete from sysobjects where [name]='cmd' and xtype='U'

按F5执行,可能会碰到一个错误提示:“未启用对系统目录的特殊更新。系统管理员必须重新配置 SQL Server 以允许这种操作。” 解决这个小小的问题的方法是:打开mssql server 属性---》服务器选项----》启用对系统目录的特殊更新(允许对系统目录进行直接修改)  即可。之后重新在查询分析器中执行刚才的sql语句。

执行成功后。在企业管理器中会发现那个坏表已经不存在了。

[ 注:SQL2005中,由于微软做了重大调整,正常情况下不允许对系统表进行即席更新操作。所以本文提到的问题目前仅适用于SQL2000数据库,敬请注意 ]
 

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-02 11:38:44

SQL删除

2010-09-01 16:47:18

SQL删除

2010-11-11 09:20:46

SQL Server创

2010-09-08 13:21:19

SQL删除约束

2010-09-01 16:44:26

SQL删除主键

2009-04-20 15:54:04

SQL Server重复行

2010-11-10 13:28:06

SQL Server删

2010-11-11 10:53:22

SQL Server遍

2010-10-28 16:17:22

2010-06-28 12:46:09

SQL Server

2010-11-10 11:54:32

SQL SERVER删

2010-10-20 10:19:33

sql server删

2010-09-02 10:53:21

SQL删除

2010-11-10 13:03:15

SQL Server存

2010-11-10 11:37:29

SQL Server删

2010-09-02 16:28:03

SQL删除

2010-09-01 17:19:49

SQL删除TABLE

2010-09-16 14:13:11

SQL Server系

2010-09-14 11:45:16

Sql Server系

2010-09-16 16:35:31

sql server表
点赞
收藏

51CTO技术栈公众号