这不是此错误通常表示的SSPI错误
但是打开“新查询”窗口失败(在尝试输入任何内容之前)
已成功与服务器建立连接,但随后成功建立了连接 登录过程中发生错误。 (提供者:SSL提供商, 错误:0 - 目标主体名称不正确。)(Microsoft SQL 服务器,错误:-2146893022)
我注意到,当查询窗口出现时,通常包含模式列表(master,model,msdb)的下拉列表未填充,但可能与真正无关(可能是该列表只是加载)在错误发生的任何一点之后)
关闭错误后尝试在窗口中运行查询也会失败。
这很令人困惑,因为“显示数据”链接有效。 (也许是因为没有选择架构)
修改:经过进一步的实验,似乎问题与证书有关。作为我的DBA连接到数据库的信息的一部分,他说要确保“Encrypt”设置为true,“TrustServerCertificate”也设置为true。
我在创建连接时在UI中设置了这些设置,VS生成的连接字符串反映了这些设置:
Data Source=***********;Initial Catalog=***********;Persist Security Info=True;
User Id=***********;Password=***********;
Encrypt=True;TrustServerCertificate=True
出现错误消息后,将弹出一个连接对话框。它与最初用于创建连接的连接对话框略有不同。在该对话框的高级选项卡中,有一个“附加设置”文本框。如果我将“TrustServerCertificate = True”添加到该文本框,那么一切正常。
但我必须让它失败,然后在每次打开连接时设置该设置。为什么它不遵守在初始连接对话框中设置的设置,并且是Visual Studio生成的连接字符串的一部分?