我正在运行 Windows Server 2008 Standard Edition R2 x64,并且安装了 SQL Server 2008 Developer Edition。所有初步检查都运行良好(除了有关 Windows 防火墙和打开端口的警告,这与此无关,应该不是问题 - 我可以打开这些端口)。
在实际安装进行到一半时,出现一个弹出窗口,其中显示以下错误:
由于数据移动,无法继续使用 NOLOCK 进行扫描。
当我按下“确定”时,安装仍会完成。
然而,最后却显示以下服务“失败”:
数据库引擎服务 SQL Server 复制 全文搜索 报告服务
我怎么知道这是否实际上意味着我的安装(在干净的 Windows Server 设置上 - 没有其他内容,没有以前的 SQL Server,没有升级等)缺少任何内容?
从我的编程经验来看,锁用于并发控制,Microsoft 对此问题的帮助指出,可以通过某种方式更改查询的锁/事务来修复此问题。但我没有触碰任何查询?
此外,现在我已经安装了该应用程序,当我登录时,我不断收到此消息:
标题:连接到服务器 ------------------------------ 无法连接到 MSSQLSERVER。 ------------------------------ 附加信息: 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)(Microsoft SQL Server,错误:67) 如需帮助,请单击:http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=67&LinkId=20476 ------------------------------ 纽扣: 好的 ------------------------------
我进入配置管理器并启用命名管道并重新启动服务(这是我以前做过的事情,因为这个消息很常见并且并不严重)。我暂时禁用了 Windows 防火墙。我已根据错误日志检查了实例名称。
请就这两个错误提出建议。我认为这两个错误是相关的。
谢谢
答案1
您是否将服务器配置为接受外部连接?默认情况下,SQL 禁用来自其他机器的连接。
如果不是这种情况,请尝试将服务器和客户端的连接方法切换为 TCP/IP 作为默认方法,看看是否仍然出现错误。
确保 MSSQLSERVER 服务正在运行。检查是否可以使用服务器上的客户端工具连接到 SQL 服务器。
答案2
我也遇到了同样的错误。
在我的例子中,我有一张包含约 6000 行的表。一个插入作业从其他数据源计算新行并将其插入到此表中,使行数达到约 12000。然后,同一个作业删除了之前的行,以确保几个业务需求。(在我的例子中,“之前截断/之后插入”是不可能的)。
还有其他查询使用不锁定的 select 来从表中读取数据。我猜这个错误意味着 SQL Server 刚找到要读取的记录,该行就被删除了。