【发布时间】:2016-08-17 12:32:07
【问题描述】:
在 Sql Server Management Studio 中,有一个奇怪的情况让我失去了一整天的工作。就是多次打开数据库对象的问题。当我尝试通过从对象资源管理器中单击右键来编辑表格时,它第一次打开了编辑屏幕,第二次它重新打开了以前打开的但不在新的编辑屏幕中。尽管如此,如果我尝试通过右键单击对象资源管理器从该表中进行选择,它会在我重试此过程时多次使用 select 语句打开新查询。它也对存储过程和函数做同样的事情。由于多次打开,我丢失了存储过程中的更改。在 Visual Studio 中,默认情况下无法在新编辑器中多次重新打开文件。是否有任何选项可以重新配置 sql server management studio 以不打开已在编辑器中打开的对象?
注意:我知道记住我已经打开了哪些对象是我的问题,但是如果有我不知道的选项,我正在寻求帮助。
注意#2:我怀疑这是提出此类问题的正确地方。请不要冒犯我。
【问题讨论】:
-
我同意你的观点,这可能是一个可用性问题。它偏离了通常的“文件”概念,因为在内部,视图或过程上的“修改”选项在功能上等同于“脚本存储过程作为 > ALTER 到 > 新查询窗口”。所以你真正要做的是打开一个新的查询窗口(一个“未命名的文件”)并将一些脚本粘贴到其中。作为 SSMS 的用户,我们必须意识到这一点。考虑使用源代码管理来防止数据丢失。
-
我建议你在 dba.stackexchange.com 上问这个问题
-
我们就是这样做的:我们将所有的存储过程存储在文件中(每个存储过程一个文件)。要编辑存储过程,请双击文件而不是 SQL 服务器中的对象。这些文件被检入 git(您可以使用任何源代码控制系统)。在部署时,我们使用 github.com/chucknorris/roundhouse 运行 sproc 脚本
-
@mortb 这似乎是一个很好的解决方案,但这不是我想要的。谢谢。
-
您遇到了问题,这是您选择的流程的一部分。选择一个更好的过程,也许是 mortb 建议的那个。
标签: sql-server sql-server-2012 ssms