SQL Server 不存在或本地计算机上的访问被拒绝

SQL Server 不存在或本地计算机上的访问被拒绝

自上周以来,当我尝试打开与服务器的连接时出现以下异常。

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
  • 我正在使用 MSSQL Server 2008 Express
  • 允许远程连接已选中
  • 我的应用程序、SSMS 和服务器都在同一台计算机上
  • 我可以从 SSMS 连接到数据库
  • 一周前我曾经能够连接到服务器。唯一的变化是修改了设置:第一次失败、第二次失败和后续失败的恢复选项在 Sql Server 服务的属性窗口中“重新启动服务”。
  • 我不是我的电脑管理员,除非有支持人员接管我的电脑,否则我无法拥有它
  • 连接字符串:

    Provider=SQLOLEDB;Data Source=ComputerName\SQLEXPRESS;Initial   Catalog=DatabaseName;Integrated Security=SSPI
    
  • protocol for SQLEXPRESS共享内存、命名管道 tcp/ip 均对和启用"Client Protocols"
  • 我发现“之前”错误日志和“之后”错误日志之间的唯一区别是:

    Dedicated administrator connection support was not started because it is disabled on this edition of SQL Server. If you want to use a dedicated administrator connection, restart SQL Server using the trace flag 7806. This is an informational message only. No user action is required.
    2013-04-15 19:13:27.98 Serveur     The SQL Server Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0x490, state: 16. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies.
    2013-04-15 19:13:28.53 spid10s     Erreur : 1802, Gravité : 16, État : 4.`
    

谢谢你的时间。

答案1

您的应用程序是用什么编写的?Visual Studio?

您的连接字符串来自哪里?看起来不像是 Visual Studio 生成的。

将连接字符串更改为 Data Source=ComputerName\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True

编辑 :

好的,所以您正在使用 Visual Studio。进入“服务器资源管理器”选项卡并添加与 SQL 服务器的连接,将 DBML 文件添加到您的项目(这里没有 Visual Studio,但我认为它被称为 Linq to SQL 类),然后从 DBML 中的服务器中提取任何表并保存。这将使 Visual Studio 自动创建连接字符串。然后进入项目属性、设置选项卡,并检查连接字符串的样子。

答案2

好的,所以用户 2210761 给我提供了一个临时解决方案。

我发现服务器资源管理器正在使用这种连接字符串数据源 = ComputerName \ SQLEXPRESS;初始目录 = DatabaseName;集成安全性 = True

然而,此连接字符串与 Ole DB 连接类不兼容。(我使用 OleDbConnection 和与其关联的所有对象树)因为它需要一个提供程序值。

因为我确实需要连接到我的数据库,所以我切换到 SqlConnection 类并设置了服务器资源管理器连接字符串并且它起作用了!

当我拥有一个真正的数据库时,我会再次考虑连接字符串。

感谢user2210761的帮助!

相关内容