首页 > 解决方案 > 可以创建表格但不显示在对象资源管理器中,无法选择或删除表格?

问题描述

使用 SQL Server 2016。有一个本地托管的数据库,该数据库使用 Windows 登录 sa,这是我用来登录的。

昨天我跑了

CREATE TABLE [Otis].[AnalyzerGroups] 
(
    [id] [int] IDENTITY,
    [Name] [varchar](50) NULL
);

并成功完成命令。今天我尝试从这个表中选择但得到一个错误:

消息 208,级别 16,状态 1,第 1 行
无效的对象名称“Otis.AnalyzerGroups”

所以我以为我记错了并尝试再次运行 create 语句,但随后出现错误 -

消息 15530,级别 16,状态 1,第 1 行
名称为“AnalyzerGroups”的对象已存在。
该语句已终止。

所以然后我尝试DROP TABLE [Otis].[AnalyzerGroups];并得到了

消息 3701,级别 11,状态 5,第 1 行
无法删除表“Otis.AnalyzerGroups”,因为它不存在或您没有权限。

我尝试制作一个新的测试表和同样的东西。我第一次运行创建语句命令成功完成,但是我无法从表中选择/插入/删除,我也无法在对象资源管理器中看到它。

我认为这一定是一些权限问题,但我不知道是什么属性阻止我查看这些表 - 这不像我在这些表上设置安全性,我可以看到我们数据库中的所有其他表。有什么想法吗?

标签: sql-serversql-server-2016

解决方案


SQL Server 数据库中有一个触发器,每当在任何架构下创建新表时都会触发该触发器,然后将其传输到该dbo架构。所以我的表确实存在,但由于这个触发器,它们在我期望的模式下。为什么会存在这个触发器?得到我。但它已经投入生产并且已经有十多年了,所以有一些原因/它绝对不会改变。感谢大家的帮助。


推荐阅读