在我的笔记本电脑上使用 SSMS 2016 CTP3.1 十一月预览版 (v13.0.800.111),每当我右键单击任何数据库对象(数据库、表等)时,我都会收到以下错误。
标题:Microsoft SQL Server Management Studio
无法显示请求的对话框。
附加信息:
无法显示请求的对话框。(SQLMgmt)
尝试为服务器“”检索对象的数据失败。>(微软.SqlServer.Smo)
执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)
列名称“federated_service_account”无效。列名称“federated_service_account”无效。(微软 SQL 服务器,错误:207)
如需帮助,请单击: http: //go.microsoft.com/fwlink ?ProdName=Microsoft%20SQL%20Server&ProdVer=13.00.0700&EvtSrc=MSSQLServer&EvtID=207&LinkId=20476
纽扣:
好的
我能够运行 Profiler 跟踪来确定正在运行以引发此错误的查询:
SELECT
eds.location AS [RemoteDataArchiveEndpoint],
eds.name AS [RemoteDataArchiveLinkedServer],
rdad.remote_database_name AS [RemoteDatabaseName],
rdad.federated_service_account AS [RemoteDataArchiveUseFederatedServiceAccount],
case when rdad.federated_service_account = 1 then null else cred.name end AS [RemoteDataArchiveCredential]
FROM
sys.remote_data_archive_databases rdad
INNER JOIN sys.external_data_sources eds ON rdad.data_source_id = eds.data_source_id
LEFT OUTER JOIN sys.database_scoped_credentials cred ON eds.credential_id = cred.credential_id
有人认识这个查询吗?它从哪里来,来源是什么?还有其他人遇到类似的错误吗?这是 SSMS 错误吗?
一些有趣的重现笔记:
从我的笔记本电脑连接到我组织中 VM 上的数据库时发生此错误。
当 RDP 进入虚拟机并在虚拟机本地运行 SSMS 并连接到本地主机时,错误不会重现。
VM 上的 SSMS 版本 (v13.0.700.242) 低于笔记本电脑上的 SSMS 版本 (v13.0.800.111)。因此,我不敢将 VM 上的 SSMS 更新到最新版本,因为这个错误也可能会抛出。
直接在 VM 上运行探查器跟踪并执行重现步骤不会生成与较新的 SSMS 版本似乎从我的笔记本电脑生成的 SQL 相同的 SQL。
将 VM 的引擎更新为 CTP 3.1 解决了该问题。我不再在笔记本电脑的 SSMS 上收到错误。