连接丢失后,SQL Management Studio 2008 R2“错误地”重新连接

时间:2011-04-27 09:51:32

标签: sql-server sql-server-2008-r2

不久之前我专门使用SQL2k5,但最近更新到了2008 R2。除了Mgmt Studio的明显变化之外,有一个怪癖开始变得非常烦人:每次连接被丢弃时,我都必须再次切换回'丢失'数据库,因为似乎连接自动重新连接到初始数据库再次。

  • 在SQL 2005中,我只需要按F5两次,第一次它会给我一个错误,说连接丢失,第二次重新连接到数据库,它在连接断开之前打开了然后执行它拥有的任何sql命令。无论我如何使用该数据库,无论是使用顶部的下拉框还是使用USE声明都没关系......

  • 在SQL 2008(R2)中我现在按F5并且mgmt studio将静默“吃掉”丢失的连接,而是立即重新连接到服务器并执行默认数据库或我强制使用的数据库上的代码使用[>>进行连接时选项]按钮/标签

这种情况发生了很多,因为我经常打开一个标签来杀死所有连接并恢复数据库,另一个(系列)标签包含已更改的程序,测试用例等......

是否有(隐藏)配置(重新)设置此行为? 我知道我可以尝试在任何地方添加USE语句,或者“强制”将每个连接直接添加到它的“目标”数据库,但是再见即时查询=(

ps:做一些额外的搜索我想知道这是不是因为“修复”而言 here [connect.com]

ps:作为附注,在重新连接屏幕底部的SPID之后也没有正确更新,因此我已经杀死了错误的连接,因为我基于过时的信息... yay进步=((**)

任何人比我更好的谷歌?或者与微软的关系更密切? =)

THX。

(**:伙计,我很想念查询分析器=)

1 个答案:

答案 0 :(得分:2)

如果您在管理工作室中注册要连接的实例,则可以转到已注册实例上的“连接属性”,并将“连接到数据库”设置为您在该实例上使用的主数据库。当您断开连接并自动重新连接时,它将再次使用该默认数据库。

限制:

  • 您只能按设计将此设置为每个实例一个数据库。
  • 您需要使用该注册实例进行连接才能使其正常工作(右键单击它,然后“新查询”)。如果只是在不进入“已注册的服务器”窗格的情况下执行新连接,则不会将属性应用于连接。

当然不是一个完美的解决方案,但也许比什么都好。

PS:错误spid的连接错误是here。看起来Denali有一个承诺的解决方案

注意:重新阅读,我发现您有时已经在连接的高级选项上设置了数据库。当然,这并没有比这更有帮助,只是阻止你每次都必须这样做。