从MySQL导入导出SQL Server数据库
我有microsoft服务器的.net脚本访问权限,我需要将一端的数据库与另一端的LAMP服务器同步。目前,我已经编写了自己的CSV导出例程,以及一个匹配的导入程序,但它在压力下嘎吱作响。有没有更有效的方法?我是否可以以某种方式将CSV导出直接流式传输到IIS从MySQL导入导出SQL Server数据库,mysql,sql-server,Mysql,Sql Server,我有microsoft服务器的.net脚本访问权限,我需要将一端的数据库与另一端的LAMP服务器同步。目前,我已经编写了自己的CSV导出例程,以及一个匹配的导入程序,但它在压力下嘎吱作响。有没有更有效的方法?我是否可以以某种方式将CSV导出直接流式传输到IIS 我知道如果我有更多的特权,我可以运行一个备份数据库命令,然后用FTP运行到另一台服务器的备份,并希望找到某种方法将其导入MySQL。但是,这不是一个选项。如果可以从MSSQL服务器访问MySQL,那么您可以在MSSQL中创建一个链接服务器
我知道如果我有更多的特权,我可以运行一个备份数据库命令,然后用FTP运行到另一台服务器的备份,并希望找到某种方法将其导入MySQL。但是,这不是一个选项。如果可以从MSSQL服务器访问MySQL,那么您可以在MSSQL中创建一个链接服务器,并从MSSQL中将
合并,插入,更新
或任何内容添加到MySQL的表中。我做了类似的事情。最简单的方法是在MSSQL服务器和MySQL服务器之间建立直接连接。您可以在MSSQL中设置一个链接到MySQL服务器的服务器,然后使用insert、update等对链接服务器进行事务处理。这就是ta.speot.在他的回答中提到的。但是,您没有到MySQL服务器的直接链接,因此该选项不可行
另一种选择是使用MSSQL Service broker。使用ServiceBroker,您可以对Web服务的个别更新、删除和插入进行排队。此Web服务可以托管在IIS上。webservice将从队列中被调用,然后您可以将单个事务一次应用到MySQL数据库。ServiceBroker是嵌入在MSSQL 2005+中的异步消息传递系统。使用它,您可以向其他服务器、数据库甚至外部服务发送消息
请记住,ServiceBroker体系结构需要时间来学习和实现。我使用ServiceBroker在mssql和mysql之间创建了自定义复制体系结构,每天在赛扬笔记本电脑上处理8800多万个事务。它只是需要一些严重的肘部润滑脂
更新
SQL2008似乎允许您以某种方式在SQL server之外运行服务代理。查看此链接我不知道这是否更适合您。您可以编写一个脚本,让.NET DataReaders在MS SQL上打开游标,然后使用另一个连接到MySQL的连接逐行插入数据。您可以按顺序处理所有表。代替CSV文件生成适合在MySQL服务器上运行的SQL脚本我不知道这是否有帮助,但很久以前,我创建了一个小软件,用一个大数据集执行此特定任务,它是:
我把它开源了:)
希望有帮助。您能解释一下为什么@ta.speot.is的建议答案不被您接受吗?你能解释一下你有什么特权吗?@eggyal我有有限的FTP访问权限和上载.aspx.vb脚本的能力。你不能链接服务器,因为…?你不能在MySQL系统上恢复MSSQL备份。所以这种想法是不可能的。在某种程度上,您可以在MSSQL备份上运行MySQL备份,但这需要您编辑备份脚本。您可以通过.net设置service broker吗?没有service broker完全是SQL。你需要在MSSQL服务器上做这件事。那对我来说没用了。谢谢你有趣的回答。你能给这个问题增加一些细节吗?我相信一定有办法帮助你。只是细节在粗略的一面。