2017-02-09 36 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「首選連接」列表中您有一個很好的設置,可以快速開始您的工作。

希望這會有所幫助。

相關問題