将扩展属性添加到所有存储过程

时间:2013-03-26 12:01:38

标签: sql-server extended-properties

我们正在尝试将版本添加到ms sql数据库。由于数据库现已部署到400多个分支机构,并且客户端坚持交错部署,因此管理哪些分支机构具有哪些数据库修复变得非常困难。

我建议我们将release_version扩展属性添加到数据库中的所有存储过程,并使用它来帮助管理。在扫描网页后,我想出了以下脚本,但似乎无法使其正常工作;任何人都可以协助使脚本正确吗?

SELECT 'EXEC sys.sp_addextendedproperty
       @name = N''Release_Version'', 
       @value = N''1.0.0'',
       @level0type = N''SCHEMA'', 
       @level0name = [' + ROUTINE_SCHEMA + '],
       @level1type = N''PROCEDURE'', 
       @level1name = [' + ROUTINE_NAME + '];'
 FROM information_schema.routines where ROUTINE_TYPE = 'PROCEDURE' ORDER BY ROUTINE_NAME

当我执行此操作时,我得到了正确执行语句的结果集,但我如何实际执行它们?

EXEC sys.sp_addextendedproperty            @name = N'Release_Version', @value = N'1.0.0',            @level0type = N'SCHEMA', @level0name = [dbo],            @level1type = N'PROCEDURE', @level1name = [sp_AlterTicketHistoryTable];
EXEC sys.sp_addextendedproperty            @name = N'Release_Version', @value = N'1.0.0',            @level0type = N'SCHEMA', @level0name = [dbo],            @level1type = N'PROCEDURE', @level1name = [sp_AlterTicketTransTable];
EXEC sys.sp_addextendedproperty            @name = N'Release_Version', @value = N'1.0.0',            @level0type = N'SCHEMA', @level0name = [dbo],            @level1type = N'PROCEDURE', @level1name = [sp_BackupAcknowledgementHistory];
...

[注意]:我的错误......我的印象是语句会自动执行,而我需要循环并专门执行。

0 个答案:

没有答案