SSMS间歇性地针对错误的数据库执行突出显示的脚本

时间:2011-09-13 21:55:04

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

在SQL Server 2008 R2上,我有一个明确以

开头的脚本
USE MyDatabase;

它永远不会切换到任何其他数据库; 当我执行整个脚本时,它会针对正确的数据库运行,正如我在第一行中指定的那样。

但是,如果在运行整个脚本之后,我突出显示并运行其中的一部分,SSMS会间歇性地在另一个数据库上运行它。

这可能非常危险,而且以前版本的SQL Server从未发生过这种情况! 我怎样才能避免这个危险的错误?

2 个答案:

答案 0 :(得分:5)

这听起来像this Connect bug,如果你有一个RAISERROR,或者你的SSMS会话被断开连接(这可能是由于片状网络,你可能不会注意到它发生了)。这是一个危险的错误,虽然Connect项目没有明确说明,我建议您将SQL Server 2008 R2 SP1应用到您的工作站,因为我听说它已在那里修复。

答案 1 :(得分:1)

我也更喜欢在所有查询中完全限定我的表(database.schema.table),而不是依赖于use语句。