将SQL Server存储过程转储到文件

是否有非交互式(读取:脚本)的方式来转储所有存储过程到磁盘?

我们将存储过程的版本保存在存储库中,以跟踪更改以及部署和回滚的目的。 目前,无论何时我们想要修改存储过程,当您开始更改时,都必须直接将其从数据库中提取出来。

你在为你的仓库使用什么? 我不明白为什么当你开始你的改变时,你必须直接把它从数据库中提取出来。 如果您的版本pipe理是这样的,那么您可以将它们放在版本库中,然后在pipe理工作室中启动一个连接,然后运行ALTER PROCEDURE。

也就是说,您可以使用INFORMATION_SCHEMA.ROUTINES系统视图或syscomments视图来提取对象的代码。

使用INFORMATION_SCHEMA.ROUTINES就像这样:

 SELECT Routine_Definition FROM INFORMATION_SCHEMA.ROUTINES WHERE Routine_Type='Procedure' 

使用syscomments是这样的:

 SELECT OBJECT_NAME(id),text FROM syscomments WHERE OBJECTPROPERTY(id, 'IsProcedure') = 1