如何备份存储过程的当前代码及其权限?

Mar*_*lli 3 sql-server backup stored-procedures sql-server-2014

在测试、开发和生产环境中,我经常收到更改存储过程的请求。

我想要一种简单的方法来在更改之前将存储过程的当前代码保存到我的“ tablebackups ”数据库中的一个表中- 这是一个我在更新或删除记录之前保存记录的数据库。

我在想这样的事情:

sp_helptext 'sp_myprocedure'
Run Code Online (Sandbox Code Playgroud)

使用的想法是这样的:

select * into tablebackups.dbo.my_procedure_20150827_1220
from ss_save_my_procedure 'my_procedure'
Run Code Online (Sandbox Code Playgroud)

有人已经为此开发了解决方案吗?

spa*_*dba 7

与其将过程保存在用户表中,不如直接设置一个 SSDT 数据库项目并使用版本控制(TFS、Git、Mercurial、SVN 或任何您认为合适的)来处理版本控制?

SSDT 或其他工具(例如Red Gate 的 SQL Source Control)将帮助您跟踪版本并将更改部署到您的环境中。