【问题标题】:backup msSQL stored proc or UDF code via Python通过 Python 备份 msSQL 存储的 proc 或 UDF 代码
【发布时间】:2011-12-07 09:00:17
【问题描述】:

这个想法是制作一个脚本,每小时(例如)获取存储过程和 udf 内容(代码)并将其添加到 SVN 存储库。结果我们有了sql版本控制系统。

有谁知道如何使用 Python(sqlAlchemy、pyodbc 或 smth)备份存储过程代码。

在使用 SQL 管理对象之前,我已通过 C# 完成此操作。

提前致谢!

【问题讨论】:

    标签: c# python sql-server stored-procedures smo


    【解决方案1】:

    从 Python 访问 SMO 没有简单的方法(因为没有从 Python 访问 .NET 的通用解决方案),所以我会用 C# 编写一个命令行工具并使用 subprocess 模块从 Python 调用它.也许你可以用ctypes 做点什么,但我不知道这是否可行。

    但是,也许更重要的问题是您为什么想要或需要这样做。你的数据库结构真的经常变化吗?如果是这样,大概您无法真正控制它,那么源代码控制在这种情况下有什么好处?首先如何部署数据库更改?通常更改从源代码控制进入生产,而不是相反,因此 DDL(包括表、索引等)的“主”源是 SVN,而不是数据库。但是您没有提供太多关于您真正需要实现什么的信息,所以也许有充分的理由需要在您的环境中执行此操作。

    【讨论】:

    • 感谢您的回复!数据库的结构不会经常改变。 SP 和 UDF 源更改。我有 SVN 来控制 PHP 源代码。如果使用 sql,我发现没有预生产源代码控制更容易。对我来说,自动备份 SP 并查看更改或按需恢复源更容易。
    • 我忘了提到的另一个选项是 IronPython,它可以让访问 SMO 变得非常容易。另一方面,它是完全不同的 Python 实现,因此它可能不太适合您的环境。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    相关资源
    最近更新 更多