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

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

是否有一种非交互式(读取:可编写脚本)的方式将所有存储过程转储到磁盘?

我们将存储过程的版本保存在存储库中,以跟踪更改并用于部署和回滚。目前,每当我们想要修改存储过程时,您都必须在开始更改时将其直接从数据库中拉出。

答案1

您的存储库使用什么?我不明白为什么在开始更改时必须将其直接从数据库中拉出。如果您的发布管理是将它们放在存储库中,那么您应该能够将文件从存储库中拉出,在 Management Studio 中启动连接并运行 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

相关内容