我不小心使用master运行了一个create schema脚本,现在我想清理它们。我是Win7,SQL Server 2008 R2 Express。我使用Windows身份验证使用本地用户帐户登录SQL Server Management Studio。当我尝试在SQL Server Management Studio中执行drop table语句时
DROP TABLE EVENT_CATEGORY_BRIDGE
GO
DROP TABLE SUBSCRIBER_RELATIONSHIP_TYPE_REFERENCE
GO
等。我得到了
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table 'SUBSCRIBER_RELATIONSHIP_TYPE_REFERENCE', because it does not exist or you do not have permission.
如果我右键单击并尝试在对象浏览器中删除我的垃圾表,我会收到一条消息,表示该表已成功删除 - 但我仍然可以在对象浏览器中看到它,所以我猜测我不会&#39 ; t有权从master中删除表。
我认为有一个问题是我这台计算机上的本地用户帐户不是管理员。我不确定此时我能做什么,有什么建议吗?
答案 0 :(得分:1)
使用以下查询返回默认情况下未包含在master
中的架构和表名称:
SELECT OBJECT_SCHEMA_NAME(object_id) AS SchemaName, name AS TableName
FROM master.sys.objects WHERE type_desc = 'USER_TABLE' AND is_ms_shipped = 0;
检查结果后,为您要删除的每个人运行DROP TABLE [<SchemaName>].[<TableName>]
。
答案 1 :(得分:0)
您需要在master数据库上运行delete tsql。尝试包含架构。
执行删除后,您需要刷新对象资源管理器。