2013-05-09 67 views
2

我們的數據庫包含大約600個存儲過程和函數。我們正試圖更好地管理對數據庫腳本的更改,而無需購買任何其他軟件。如何修改SQL Server Management Studio中自動生成的腳本文件的默認文件名格式?

我們希望使用SQL Server Management Studio中的> Tasks > Generate Scripts函數爲數據庫中的每個存儲過程和函數自動生成單個文件。

本文幾乎總結我們就實現這一目標的步驟:http://earljon.wordpress.com/2008/04/10/sql-server-2005-scripting-each-objects-to-a-separate-file/

我們與此有唯一的問題是與默認的命名約定Management Studio中使用的文件名。它將腳本類型後綴加到文件名末尾,如dbo.Name.StoredProcedure.sqldbo.Name.UserDefinedFunction.sql。我們想改變它,所以文件名是SP_Name.sqlFN_Name.sql

是否可以自定義SQL Server Management Studio中的輸出文件名格式?我們希望向導輸出這個文件名稱約定,而不必使用單獨的軟件批量重命名它們。

感謝, 尼克

+1

據我所知,目前還沒有辦法能夠影響這個命名 - 你將不得不住在一起生成輸出,並在事實之後對其進行批量重命名。 – 2013-05-09 20:35:03

回答

2

有沒有設置在SSMS來控制這一點,所以你的選擇是:

  • 編寫一個腳本來重命名這些文件,他們正在生成後
  • 寫一個腳本使用SMO生成腳本
  • 查找可讓您控制文件名的第三方工具
+0

當,數字這是不可能的!謝謝。 – 2013-05-15 18:16:46

1

PowerShell腳本rename.ps1,該文件夾中包含要重命名這些文件運行:

Get-ChildItem -Filter "*.Table.sql" |Rename-Item -NewName {$_.name -replace '.Table.sql','.sql'} 
Get-ChildItem -Filter "*.UserDefinedFunction.sql" |Rename-Item -NewName {$_.name -replace '.UserDefinedFunction.sql','.sql'} 
Get-ChildItem -Filter "*.StoredProcedure.sql" |Rename-Item -NewName {$_.name -replace '.StoredProcedure.sql','.sql'} 
Get-ChildItem -Filter "*.View.sql" |Rename-Item -NewName {$_.name -replace '.View.sql','.sql'} 
+0

好東西 - 謝謝。我想擺脫dbo。前綴也是這樣,我只是補充:** Get-ChildItem -Filter「* .sql」| Rename-Item -NewName {$ _。name -replace'dbo。',''} ** – 2016-06-03 10:21:43

相關問題