Microsoft SQL Server查询分析器不能与本机连接?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Microsoft SQL Server查询分析器不能与本机连接?相关的知识,希望对你有一定的参考价值。

重装系统后再装Microsoft SQL Server2000装不了了,删除hkey_local_machine\system\currentcontrolset\control\session manager\PendingFileRenameOperations后可以装了但查询分析器连接不上
本人用的是win7旗舰版7260不是VISTA也卸掉重装了,装了几遍都一样。该版本是SERVER2000
服务起来了

安装SQL的时候一定是没有正常完成安装,
你还是重新安装一次算了!
参考技术A 你这是SERVER2008么? 参考技术B 数据库服务启来了吗?如果没有起来,就从服务管理器把它起来,然后再连。 参考技术C sqlserver2000不支持Vista系统

是否可以在Microsoft SQL Server上为SQL查询设置超时?

我有一个场景,有时用户选择正确的参数并进行一个需要几分钟或更长时间才能执行的查询。我不能阻止他选择这样的参数组合(这是非常合法的),所以我想在查询上设置超时。

请注意,我真的想要停止查询执行本身并回滚任何事务,否则它会占用大部分服务器资源。添加一个不耐烦的用户,他重新启动应用程序并再次尝试组合,并且你有一个灾难的配方(读取:sql server DoS)。

可以这样做,怎么做?

答案

据我所知,除了在客户端设置命令或连接超时外,无法在服务器中按查询更改查询超时。

您确实可以使用sp_configure更改默认的600秒,但这些是服务器作用域。

另一答案

姆!你试过LOCK_TIMEOUT吗? 在运行查询之前记下它最初的内容 设置它为您的查询 运行查询后,将其设置回原始值

SET LOCK_TIMEOUT 1800;  
SELECT @@LOCK_TIMEOUT AS [Lock Timeout];  
另一答案

我可能会建议两件事。

1)如果您的查询需要花费大量时间,因为它使用了几个可能涉及锁的表,一个非常快速的解决方案是使用“NoLock”提示运行查询。

只需在所有表引用中添加Select * from YourTable WITH (NOLOCK),这将阻止您的查询阻止并发事务。

2)如果你想确保你的所有查询都运行(假设说)少于5秒,那么你可以添加@talha提出的内容,这对我来说很有用

只需在执行的顶部添加即可

SET LOCK_TIMEOUT 5000;   --5 seconds.

这将导致您的查询少于5或失败。然后你应该捕获异常并在需要时回滚。

希望能帮助到你。

另一答案

如果您只有一个查询,我不知道如何在T-SQL级别设置超时。

但是,如果您在存储过程中有一些查询(即将数据收集到临时表中),您可以使用GETDATE()DATEDIFF()和一些INT变量来控制执行时间,从而存储每个部分的执行时间。

另一答案

连接到数据库时,可以在SQL连接字符串中指定连接超时,如下所示:

"Data Source=localhost;Initial Catalog=database;Connect Timeout=15"

在服务器级别,使用MSSQLMS查看服务器属性,在Connections页面上,您可以指定默认查询超时。

在客户端连接关闭后,我不太确定查询是否继续运行。查询也不应该花那么长时间,MSSQL可以处理大型数据库,我之前使用过它的GB数据。在查询上运行性能配置文件,或许一些放置良好的索引可以加快速度,或者也可以重写查询。

更新:According to this list,等待来自服务器的注意确认时​​发生SQL超时:

假设您执行命令,那么命令超时。发生这种情况时,SqlClient驱动程序会向服务器发送一个特殊的8字节数据包,称为注意数据包。这告诉服务器停止执行当前命令。当我们发送注意数据包时,我们必须等待来自服务器的注意确认,这理论上可能需要很长时间和时间。您还可以通过在异步SqlCommand对象上调用SqlCommand.Cancel来发送此数据包。这是一个我们使用5秒超时的特殊情况。在大多数情况下,您永远不会遇到这个,服务器通常对注意数据包非常敏感,因为它们在网络层中处理得非常低。

因此,似乎在客户端连接超时后,会向服务器发送一个信号以取消正在运行的查询。

以上是关于Microsoft SQL Server查询分析器不能与本机连接?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Microsoft SQL Server 2000数据库下的查询分析器中查看数据库的版本,请用命

[Microsoft][ODBC SQL Server Driver]超时已过期

我安装的Microsoft SQL Server打不开查询分析器,找不到本机服务器。

在sql server 2000上用sa登录sql查询分析器的时候报错:无法打开用户默认数据库

服务器:消息 17,级别16,[Microsoft][ODBC SQL Server Driver][DBMSLPCN]SQL Server 不存在或访问被拒绝

与 R/RStudio 建立 Microsoft SQL Server 连接