是:如何使用查询备份选定的存储过程
我想通过命令行备份200个存储过程中的10个(在SQL Server Management Studio中)。有一个简单的方法吗?
现在,我正在使用“数据库”->“任务”->“生成脚本”选项,这将带我完成一系列对话框,从中可以选择要导出的SP。我想简化此过程,所以我不必一遍又一遍。
注意:“导出”是指仅将其打印在屏幕上,以便可以将其复制并保存在文本文件中。
最佳答案
如何使用INFORMATION_SCHEMA.Routines?
DECLARE MY_CURSOR Cursor
FOR
SELECT r.Routine_Definition
FROM INFORMATION_SCHEMA.Routines r
OPEN MY_CURSOR
DECLARE @sproc VARCHAR(MAX)
FETCH NEXT FROM MY_CURSOR INTO @sproc
WHILE (@@FETCH_STATUS <> -1)
BEGIN
IF (@@FETCH_STATUS <> -2)
PRINT @sproc
FETCH NEXT FROM MY_CURSOR INTO @sproc
END
CLOSE MY_CURSOR
DEALLOCATE MY_CURSOR
GO
编辑
听起来您可能希望像这样在结果集中包含LAST_ALTERED日期和定义。
SELECT
r.LAST_ALTERED,
r.ROUTINE_NAME,
r.Routine_Definition
FROM INFORMATION_SCHEMA.Routines r
关于sql - 通过SQL脚本导出存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6817199/