通过Python备份msSQL存储过程或UDF代码

时间:2011-12-07 09:00:17

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

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

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

我在使用SQL管理对象之前通过C#完成了这项工作。

提前致谢!

1 个答案:

答案 0 :(得分:1)

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

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