备份存储过程

时间:2010-03-23 13:40:28

标签: database stored-procedures sql-server-2000 backup

在SQL Server 2000中备份数据库存储过程的查询是什么?

1 个答案:

答案 0 :(得分:1)

在SQL Server 2000中,您可以使用此查询列出存储过程的完整文本,它们可以跨越多行。

SELECT
    o.name,o.id,o.xtype, c.colid, c.text
    FROM dbo.sysobjects            o
        INNER JOIN dbo.syscomments c ON o.id = c.id
    WHERE o.xtype = 'p'
    ORDER BY o.Name,c.colid

我会更容易使用Enterprise Manager来编写所有程序的脚本。在Enterprise Manager中,右键单击要从中捕获所有过程的数据库。将弹出一个选项列表,选择“所有任务”,然后选择“生成SQL脚本...”。将出现一个对话框,单击“全部显示”,然后可以使用复选框将对象列表细化为脚本。选择左侧的对象,然后单击“添加>>”将它们移动到脚本列表。您可以设置格式和其他选项,完成后单击“确定”。

在SQl Server 2005+中,您可以使用此查询列出所有存储过程,视图和函数的完整文本:

SELECT 
    LEFT(o.name, 100) AS Object_Name,o.type_desc,m.definition
    FROM sys.sql_modules        m 
        INNER JOIN sys.objects  o ON m.object_id=o.object_id

你可以拿这个输出并保存,如果你愿意的话。

但是,使用SQL Server管理Studio编写出所有过程的脚本会更容易。