如何自动导出 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,怎么整
为啥我的SQL Server 2008把数据库分离出来后就附加不进去了呢?