2017-02-09 89 views
2

我们有一个名为CreateClientDatabase.SQL的脚本文件,双击它可以在SSMS中打开它,我们可以在其中更改几个参数并执行它。在SSMS中打开同一文件的多个副本

问题: 几个小时/天以后,我们可能需要为另一个客户端再次做同样的,但如果在SSMS原来的标签没有被关闭,然后双击文件将简单地把该选项卡中脱颖而出,没有真正打开文件。 因此,很容易假设您现在正在查看的脚本与文件不相同,并且这可能会导致各种问题。

有没有办法解决这个问题? SSMS是否可以打开文件的第二个副本,或警告用户它并没有像Excel那样实际打开它。

+0

的[此]可能的复制(http://dba.stackexchange.com/questions/147063/opening-a-stored-procedure-file-multiple-times-in-sql-server-management-studio),但问题在于DBA Stackexchange? –

+0

@ N00bPr0grammer该链接指向存储的对象,问题涉及保存在磁盘上的'.sql'文件。 – iamdave

回答

0

如果从Windows资源管理器打开文件,则会打开另一个SSMS实例。

+0

这取决于您的SSMS版本和用户设置。在我的机器查询中,双击所有在同一个SSMS窗口中打开的新标签页。 – iamdave

+0

同意@iamdave,这不会发生在我身上。你使用的是什么版本的SSMS? – userSteve

+0

Microsoft SQL Server Management Studio \t 13.0.15600.2 – mahzar

0

我想你需要的是d时,SQL脚本文件被改变之外,如果SSMS环境etect:

确保工具 - >选项 - >环境 - >文件 - >Detect when file is changed outside the environment检查。

更多细节见here

+0

谢谢,但我不认为这将适用于我的情况。该文件不会在环境外更改,问题是该脚本在环境中更改,但未保存或关闭。重新打开文件不会重新加载它 – userSteve

0

你需要什么,我想,类似于Excel的模板文件东西:只要您通过以下方式打开这样的文件双击,将创建与模板的内容的新文件。

SSMSBoost附加(我开发的)具有“Autoreplacements”功能:你可以定义一个“魔令牌”,即会被你的脚本,每当令牌类型来代替。例如,我们有预先定义的标记“sel”,只要输入“sel”并按空格键,它就会被“select * from”取代。 你可以你的脚本与任何准字,如“DOIT”,所以每当你访问一个顾客,你只需打开新的查询窗口,键入词+空格,然后立即让您的脚本在窗口中。

仅举:SSMSBoost允许您定义“最喜欢”的连接,这样,你可以保存所有CUTOMER的服务器在一个列表中,并在它们之间迅速切换。

备选: 看一看SSMS模板(查看 - >模板资源管理器)。 SSMS允许创建自己的模板并通过从模板资源管理器中双击它们的名称来打开它们。与SSMSBoost“首选连接”列表中您有一个很好的设置,可以快速开始您的工作。

希望这会有所帮助。