你有这种方式
试试这个
- 右键单击数据库>
- 任务 >
- 生成脚本 >
- 选择您要编写脚本的对象(Store-Procedure 或 table)>
- 脚本文件(您在哪里获得脚本代码详细信息)>
- 为 Table 设置架构或数据或带有数据的架构(如果您使用 sp ,则不要设置任何内容)
- 针对目标数据库运行生成的脚本。
如果您需要使用查询来移动它,请查看此链接:
使用脚本将所有 SP 从一个数据库复制到另一个数据库
更新:
............
这是移动存储过程的 4 个选项
选项 1:使用脚本向导 右键单击 db --> 任务 --> 生成脚本 --> 完成向导。
选项 2:在 SSMS 中打开存储过程文件夹(在对象资源管理器详细信息窗口中)。(您也可以按 F7 来执行此操作,有关详细信息,请参阅此博客)。您可以使用 shift+click 来选择所有存储过程,然后您可以右键单击并将它们编写到文件中。
选项 3:其中最简单的一个。
bcp "SELECT definition + char(13) + 'GO' FROM MyDatabase.sys.sql_modules s INNER JOIN MyDatabase.sys.procedures p ON [s].[object_id] = [p].[object_id] WHERE p.name LIKE 'Something%'" queryout "c:\SP_scripts.sql" -S MyInstance -T -t -w
选项 4:为数据库中的所有存储过程编写脚本
SELECT O.Name as ProcName
,M.Definition as CreateScript
,O.Create_Date
,O.Modify_Date
FROM sys.sql_modules as M INNER JOIN sys.objects as O
ON M.object_id = O.object_id
WHERE O.type = 'P'
如果存储过程是使用 ENCRYPTION 选项创建的,那么您将在定义列中获得 NULL。