如何解决无法创建/删除表
| 我犯了通过对象资源管理器删除表的错误。我试图创建一个具有相同名称的表,但出现错误消息,即已存在具有该名称的对象。我有服务器角色系统管理员 我尝试了以下命令。DROP TABLE \'Test\'
结果:
无法删除表,因为该表不存在或您没有权限。
select * from informatION_SCHEMA.TABLES order by 3
结果:
表名称测试没有结果
select * from sys.objects where name = \'Test\'
结果:
空白表
当我键入DROP TABLE intellisense时,将显示一个名为Test的表。看来这是一个权限问题,但是由于我具有sysadmin的服务器角色,因此不确定如何实现。
我不确定这是否重要,但是我从登台服务器导入了该数据库。
解决方法
确保所有操作都在正确且相同的数据库上下文中
要查找表存在于哪个数据库中:
EXEC sys.sp_MSforeachdb \'USE ? SELECT DB_NAME() FROM sys.objects WHERE name = \'\'Test\'\' \'
, 使用SysObjects时,请使用xType列:
select * from sys.objects where name = \'Test\' and xType = \'U\'
也许有一个同名的对象,使用xtype = \'U \',我们可以知道是否有一个用户表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。