MS SQL Server - 如何将所有存储过程从我的机器导出到我的朋友机器?

Posted

技术标签:

【中文标题】MS SQL Server - 如何将所有存储过程从我的机器导出到我的朋友机器?【英文标题】:MS SQL Server - How to export all Stored procedures from my machine to my friends machine? 【发布时间】:2018-10-24 14:21:19 【问题描述】:

如何将 MS SQL Server 上的所有存储过程从我的机器复制/导出到我的项目合作伙伴的机器上?这可能是一个基本问题。道歉。

谢谢。

【问题讨论】:

Generate a separate script file for each stored procedure in a SQL Server database 告诉他从源代码库中获取它们。不要将源代码存储在数据库中。 【参考方案1】:

在SQL Management Studio中很简单,右键数据库进入任务然后生成脚本并选择存储过程

【讨论】:

【参考方案2】:

您可以使用这个简单的脚本提取所有存储过程的定义。

select m.definition
from
    sys.objects as o
    inner join
        sys.sql_modules as m
            on o.object_id = m.object_id
where
    o.type = 'p'

之后,您可以在另一台机器上运行它们。然而,它几乎没有那么容易。可能存在需要首先存在的基础架构或类型。如何访问存储过程中的其他数据库甚至链接服务器?在将存储过程传输到另一台服务器之前,需要先解决所有这些依赖关系。

【讨论】:

尽管可能,但我强烈反对将它们从一个数据库共享到另一个数据库。使用源代码存储库。否则源将失控。 @TheImpaler 我猜这意味着您实际上有一个源代码存储库,并且您正在运行某种软件来连接到该源代码存储库并使其与您的实际提交保持同步。此外,您之后需要在“项目经理”上进行相同的设置,以将提交应用到辅助服务器/数据库。我知道这可以很容易地设置和实施(如果他们的公司环境允许此类软件、插件和访问可能的外部托管存储库)。但这(在我看来)超出了所提出的问题。 很遗憾,我同意你所说的一切。【参考方案3】:

您可以按如下方式生成脚本-

右键单击数据库 任务 生成脚本 选择要编写脚本的对象 脚本文件 针对目标数据库运行生成的脚本

如果您想选择多个对象(例如 SP),请勾选“存储过程”旁边的***复选框,它会在一次单击时将它们全部选中。

【讨论】:

以上是关于MS SQL Server - 如何将所有存储过程从我的机器导出到我的朋友机器?的主要内容,如果未能解决你的问题,请参考以下文章

如何生成将使用数据重建我的 MS SQL Server 2005 数据库的脚本?

如何删除 MS SQL Server 存储过程中的 While 循环? [关闭]

将数据从 MS Sql Server 存储过程导出到 excel 文件

从 MS SQL SERVER 和 MS ACCESS 调用存储过程的结果之间的差异

带参数的ms sql server的扩展存储过程,怎么传递参数

具有存储过程支持的 MS(正在进行?)嵌入式(无服务器)SQL Server 版本的名称是啥?