0

我们正在尝试将版本控制添加到 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];
...

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

4

0 回答 0