我以登录/用户身份登录,其数据库角色为db_owner,并且尝试删除表但收到错误208 SQLServer 2012中的对象名称“ddl_log”无效。
drop table [dbo].[ddl_log]
select
,delete
和truncate
工作正常,我可以添加新列但不能删除任何旧列。
该表在SSMS中可见,在以下所有视图中查找时,我在dbo(schema_id = 1)模式中找到该对象。
select * from sys.objects where name = 'ddl_log'
select * from sys.schemas
select * from sys.tables where name = 'ddl_log'
select * from INFORMATION_SCHEMA.TABLES where TABLE_NAME='ddl_log'
select * from sys.sysobjects where name = 'ddl_log'
该表最初用于我们的一个主数据库中的SQL事件探查器,然后该数据库被备份并恢复到当前数据库。我认为这是出了问题,但无法弄清楚是什么/为什么。
有谁知道这个桌子上可能缺少什么信息/权限阻止我放弃它?
答案 0 :(得分:1)
尝试清除以下缓存:
Edit -> IntelliSense -> Refresh Local Cache
或捷径:
CTRL + SHIFT + R
答案 1 :(得分:0)
通过删除触发器(链接到不存在的模式)以及对表的依赖性来解决。