sql - SSMS 18 的无效列名问题

标签 sql sql-server ssms intellisense sql-server-2019

我刚刚安装了 SQL Server 2019 Express 和 SSMS (18.9)。我还从 Microsoft 下载了 AdventureWorksDW2019 数据库。我已成功建立连接。

我已经尝试这样做了 -> 启用智能感知: 对于所有查询窗口,请转到工具 >> 选项 >> 文本编辑器 >> Transact-SQL >> IntelliSense,然后选择启用 IntelliSense。 对于每个打开的查询窗口,请转到查询>>启用智能感知。 启用语句完成:请转到工具 >> 选项 >> 文本编辑器 >> Transact-SQL >> 常规,然后选中自动列表成员和参数信息框。 刷新 IntelliSense 本地缓存:请转到 >> 编辑 >> IntelliSense >>刷新本地缓存或使用 CTRL+Shift+R 键盘快捷键刷新。 等待一两分钟让刷新完成,然后重试。

问题:我可以选择一个表,右键单击并“选择前 1000 行”,查询运行正常,按预期显示结果。但是,出于某种原因,每列都带有红色下划线,表示“列名无效”。

因此,我在编写自己的查询时无法使用 IntelliSense。我已检查是否选中了正确的 IntelliSense 设置。

请看下面的截图:

Right-click -> 'Select Top 1000' works, but still no IntelliSense and same red underline 'Invalid Column Name'

Manually wrote own query, results show as expected, but still no IntelliSense and same red underline 'Invalid Column Name'

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP (1000) [DateKey]
  ,[FullDateAlternateKey]
  ,[DayNumberOfWeek]
  ,[EnglishDayNameOfWeek]
  ,[SpanishDayNameOfWeek]
  ,[FrenchDayNameOfWeek]
  ,[DayNumberOfMonth]
  ,[DayNumberOfYear]
  ,[WeekNumberOfYear]
  ,[EnglishMonthName]
  ,[SpanishMonthName]
  ,[FrenchMonthName]
  ,[MonthNumberOfYear]
  ,[CalendarQuarter]
  ,[CalendarYear]
  ,[CalendarSemester]
  ,[FiscalQuarter]
  ,[FiscalYear]
  ,[FiscalSemester]
FROM [AdventureWorksDW2019].[dbo].[DimDate]

非常感谢任何帮助!

最佳答案

这是 SSMS 18.9 的一个已知问题,目前正在开发修补程序。

https://twitter.com/SysAdminDrew/status/1382869366702624774?s=20

A tweet from Drew Skwiers-Koballa @SysAdminDrew explaining the issue and the upcoming hotfix.

关于sql - SSMS 18 的无效列名问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67117486/

相关文章:

mysql - 非常高级的 sql 查询的问题

c# - ExecuteNonQuery 不返回值?

mysql - 如何删除表的所有外键

sql - MySQL 5.5 数据库查询帮助

sql-server - 为什么我损坏的存储过程被删除了?

sql - 如何使重复值唯一?

SQL Server Management Studio 无法连接到 Sql Server

sql-server-2008 - BULK INSERT 还是导入和导出数据向导?

SQL - 有效比较两个表中所有列的数据

sql-server - ENCRYPTBYPASSPHRASE 和 DECRYPTBYPASSPHRASE 未返回正确的值