Как изменить формат имени файла по умолчанию для автоматически сгенерированных файлов script в SQL Server Management Studio?

Наша база данных содержит около 600 хранимых процедур и функций. Мы пытаемся лучше управлять изменениями в сценариях базы данных, не приобретая дополнительное программное обеспечение.

Мы хотели бы использовать функцию > Tasks > Generate Scripts в SQL Server Management Studio для автоматического создания отдельных файлов для каждой хранимой процедуры и функции в базе данных.

Эта статья в значительной степени подводит итог шагам, которые мы предпринимаем для достижения этой цели: http://earljon.wordpress.com/2008/04/10/sql-server-2005-scripting-each-objects-to-a-separate-file/

Единственная проблема, с которой мы имеем дело, - это соглашение об именах по умолчанию, которое использует Management Studio для имени файла. Он суффиксы типа script в конце имени файла, например, dbo.Name.StoredProcedure.sql или dbo.Name.UserDefinedFunction.sql. Мы хотим изменить его, чтобы имя файла SP_Name.sql и FN_Name.sql.

Можно ли настроить формат имени выходного файла в SQL Server Management Studio? Мы предпочли бы, чтобы мастер выводил это соглашение о имени файла, вместо того, чтобы использовать отдельную часть программного обеспечения для их переименования.

Спасибо, Ник

2 ответа

powershell script 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'}


Нет настроек для управления этим в SSMS, поэтому ваши параметры:

  • Напишите script, чтобы переименовать файлы после их создания.
  • Напишите script, который использует SMO для создания сценариев
  • Найдите сторонний инструмент, который позволяет вам управлять именами файлов

licensed under cc by-sa 3.0 with attribution.