SQL Management Studio 在脚本创建后无法识别表存在

Posted

技术标签:

【中文标题】SQL Management Studio 在脚本创建后无法识别表存在【英文标题】:SQL Management Studio won't recognize a table exists after scripted create 【发布时间】:2010-02-04 16:09:02 【问题描述】:

因此,如果我在数据库上点击刷新后在 SQL Management Studio 的查询编辑器中创建一个新表,我可以看到并使用该表。但是,如果我想从查询编辑器中运行另一个查询来引用该表,它不会重新确认该表是否存在。我尝试在数据库级别和表级别刷新刷新,但没有区别。但是,如果我退出管理工作室,然后重新打开它就可以了。

USE [DataBaseName]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[States](
    [StateAbbreviation] [nchar](2) NOT NULL,
    [StateFullName] [nchar](30) NULL,
GO

所以我运行它,然后运行它。

INSERT INTO States
SELECT *
FROM ExistingStatesTable

这没有说明States 不存在。状态也不会出现在智能感知中。我该怎么办

【问题讨论】:

【参考方案1】:

按 Ctrl-Shift-R 刷新智能感知。

【讨论】:

差不多 8 年后,并确认在 SQL Server 2017 上仍然有效【参考方案2】:

如果您愿意,可以使用菜单刷新缓存:

编辑>智能感知>刷新本地缓存

使用菜单的好处是您将学习一些新的 Intellisense 热键...

SQL Server Management Studio Intellisense doesn’t work after schema changes

【讨论】:

【参考方案3】:

你可能做了我一直做的事。我经常在连接到错误的数据库或默认数据库时创建表。对我来说,默认数据库是“主”,所以我的主数据库中有很多垃圾:)

兰迪

【讨论】:

或者错误的服务器,我也做了一两次,在一台服务器上创建数据库在另一台服务器上运行查询。 不,我可以刷新左侧的对象浏览器,它会显示右侧数据库中的表【参考方案4】:

我右键单击表格并从上下文相关菜单中选择刷新(Ctrl-R 也可以)

【讨论】:

以上是关于SQL Management Studio 在脚本创建后无法识别表存在的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server Management Studio 中的脚本大小限制

SQL Management Studio 在脚本创建后无法识别表存在

SQL Server Management Studio 执行超大脚本文件

无法从 SQL Management Studio 中的 LocalDB 生成脚本

Microsoft SQL Server Management Studio 中的 R 脚本

使用 SQL Server Management Studio 为表中的前 100 个值创建脚本