我们正在尝试将版本控制添加到 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];
...
[注意]:我的错误......我的印象是语句会自动执行,而不是我需要循环并专门执行。