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