如何自动导出 SQL Server 2008 版本的存储过程

Posted

技术标签:

【中文标题】如何自动导出 SQL Server 2008 版本的存储过程【英文标题】:How to automatically export stored procedures for a release SQL Server 2008 【发布时间】:2012-07-19 10:15:25 【问题描述】:

我们的团队昨天发布了我们系统的新版本,我们遇到了一些存储过程的问题。长话短说,我们必须上传旧的存储过程来解决问题。

现在,我的任务是在发布构建之前自动备份数据库的存储过程。我浏览过很多网站,也看过生成脚本、制作批处理文件、进行完整备份和安排任务等,但这些解决方案都不会自动备份存储过程。

在此先感谢您的任何帮助。

最好的问候 瑞恩

【问题讨论】:

【参考方案1】:

在 Management Studio 中,右键单击对象资源管理器窗口中的数据库,转到任务 -> 生成脚本...并按照向导进行操作。

【讨论】:

我们已经这样做了,它不会自动化这个过程。我们经常需要发布新版本,我希望让这个过程自动化,这样我们就不必每次都这样做。同样感谢您的回答,它应该对某人有所帮助。 查看 Powershell 以实现此类自动化。【参考方案2】:

您需要使用 SMO 库来创建脚本并在命令行批处理文件中使用它们。阅读更多http://msdn.microsoft.com/en-us/library/ms162153.aspx

【讨论】:

我真的很喜欢使用这种设置的想法,我会看看我能想出什么,我会在这里发布。谢谢 DiRaTT【参考方案3】:

在运行脚本生成器之前,将选项继续脚本设置为错误,否则将不会生成脚本。 如果选择了选项 DROP and Create,则为存储过程设置选项 Script Object-Levels 权限

【讨论】:

【参考方案4】:

您的软件源代码是否已检查到源代码控制中?如果您的数据库也是如此,这可能会有所帮助。这是软件多年来用来管理版本和发布的方法,DB 也该加入这个队伍了。

我建议您研究一个数据库项目(在当前 2015 年免费版本的 SQL Server Data Tools 中可用),这是一种检查对象进出存储库等的方法。它是一种更完整的数据库管理方法对象并适合软件生命周期。您可以将您的数据库代码库与您的软件代码库一起发布并统一管理。

【讨论】:

以上是关于如何自动导出 SQL Server 2008 版本的存储过程的主要内容,如果未能解决你的问题,请参考以下文章

SQL SERVER 2008 R2 数据库附加到 SQL server 2005,怎么整

如何备份sqlserver数据

为啥我的SQL Server 2008把数据库分离出来后就附加不进去了呢?

如何使用sqlserver导出数据库脚本

SQL SERVER 2008 R2 数据库附加到 SQL server 2005,怎么整

sql Server 怎么把2008高版本数据库用在2005版本上啊