当数据库存在时,TSql dbcc checkident命令失败

当数据库存在时,TSql dbcc checkident命令失败,tsql,ssms,Tsql,Ssms,在SQL Server Management Studio中运行dbcc checkident命令,尝试重置标识列。正如您在下图中清楚地看到的,我的表存在,模式是默认的dbo。但在尝试执行时: dbcc checkident (Article, RESEED, 4); 我从查询中得到以下响应: Msg 2501, Level 16, State 45, Line 1 Cannot find a table or object with the name "Article". Check the

在SQL Server Management Studio中运行
dbcc checkident
命令,尝试重置标识列。正如您在下图中清楚地看到的,我的表存在,模式是默认的dbo。但在尝试执行时:

dbcc checkident (Article, RESEED, 4);
我从查询中得到以下响应:

Msg 2501, Level 16, State 45, Line 1
Cannot find a table or object with the name "Article". Check the system catalog.


我所有数据库中的每个表都会发生这种情况。但这是我正在尝试使用的一个。表中确实有数据。我能做什么/检查什么?

从注释中可以看出,您的脚本窗口似乎正在
主数据库的上下文中运行。您需要通过更改下拉列表中的值或运行以下命令来更改数据库的上下文

use mattsblog;

dbcc checkident (Article, RESEED, 4);

注意:在SSMS中,每个脚本窗口表示不同的连接。您可以在状态栏中查看每个窗口的当前数据库上下文、用户名和
spid

使用引号是否有帮助??dbcc checkident('dbo.Article',重新种子,4);我假设您选择了正确的数据库?
createtabledbo.Article(int标识(1,1));dbcc checkident(文章,种子,4)适合我。您确定
dbo
是您的登录名的默认模式,您的登录名有足够的权限执行此操作,并且您选择了正确的数据库上下文吗?@Martin-我不知道您选择的数据库上下文是什么意思。我是SQL Server的新手,所以我在使用SQL Server时会如坐针毡。@DaveShaw不使用引号,而只是将
dbo.Article
放在同一条消息上。它只是在错误中的名称周围加上引号message@Matt-您如何运行此脚本?在SSMS中?如果是,您是否在下拉列表中选择了
mattsblog
?您可以运行
使用mattsblog确保它在正确的上下文中。哈哈,它一定很简单,不是吗;)谢谢你的快速侦查工作!这是我在评论中的第二个问题:p