将MySQL迁移到 Microsoft SQL Server

作者:无名 - 数据库 -

介绍

本文介绍了将mysql迁移到 sql server 2005中的几个简单步骤。 这种技术非常简单,但如果你计划从mysql移动数据并最终升级到 to sql server 环境很有用。

背景

最初,我开始搜索关于codeproject的文章 regarding mysql mysqlgt; sql迁移,而没有任何成功。 我有一个老phpbb论坛运行,需要升级到微软环境。 我可以只保留mysql和apache服务器,但是我决定将整个phpbb的概念迁移到一个 yaf论坛。

设置odbc连接到mysql数据库

虽然你已经下载了mysql或者微软 sql server,但是你已经从这里下载了1 英镑的mysql odbc连接器,这篇文章不会涉及到如何设置。

对于本文,我下载了 mysql odbc连接器 5.1.

这里连接器的设置非常简单:

  • 从管理工具中打开你的odbc数据源管理员 nel administrative管理工具。 在标签为"系统 dsn"的标签下,按下"添加"按钮。

    setup_odbc1.jpg

  • 选择"创建新数据源"odbc,然后选择 driver,然后按。

    setup_odbc2.jpg

  • 然后,将出现一个mysql连接配置对话框。 添加你的mysql数据库帐户信息,最好是"root"帐户,它可以完全访问mysql中的数据库。 在这种情况下,我的数据库称为" tigerdb"。 除非将端口设置为 3306,否则不要更改端口,除非在你的mysql服务器安装过程中已经定义了。

    setup_odbc3.jpg

  • 按"测试"按钮确保连接设置正确,并在完成后按"行"按钮。

创建你的mysql数据库的微软sql链接

现在,你已经准备好从你的微软 sql server 管理studio建立指向mysql数据库的链接。 打开一个查询窗口并运行下面的sql语句:

exec master.dbo.sp_addlinkedserver @server = n'mysql', 

@srvproduct=n'mysql',

@provider=n'msdasql',

@provstr=n'driver={mysql odbc 5.1 driver}; server=localhost; _

database=tigerdb; user=root; password=hejsan; option=3'

这个脚本将通过你刚刚在本文的前一阶段创建的odbc连接生成到你的mysql数据库的链接。 链接将像这样出现在 microsoft sql server management studio中:

create_link.jpg

如果不能在 treeview 中显示,请按刷新按钮。

在数据库之间导入数据

在 sql server 中创建新数据库。 我把我的" testmysql"叫做。 在查询窗口中,运行以下sql语句从mysql数据库 tigerdb 导入 table shoutbox,到新创建的microsoft sql中名为 testmysql的数据库中。

select * into testmysql.dbo.shoutboxfromopenquery(mysql, 'select * from tigerdb.shoutbox')

就是这样!

points of interest

在迁移期间,我不得不将最近迁移的数据库导入"另一个论坛"表的结构中。 为此,我使用了一系列的sql脚本。 但是我不会把它们放在这里。 如果人们在这里留下关于这些脚本的需求,只要告诉我,我会很乐意改变这篇文章并开始添加它们。 欢迎发表评论。

你最可能遇到的另一个问题是基于数据类型的这两个数据库之间的差异。 我建议在( 例如visio是一个提供反向工程功能的应用程序) 数据库逆向工程,并开始映射丢失数据部分的差异和潜在风险,例如在 varchar 列中。

microsoft sql数据类型:http://msdn.microsoft.com/en-us/library/aa258271.aspx

mysql数据类型:http://dev.mysql.com/tech-resources/articles/visual-basic-datatypes.html

历史记录

  • 2008-09-05: 本文的第一版



文章标签:servermicrmicrosoft

这篇内容就是由IT人知识库 小编为各位整理 原文链接:http://www.itpeo.net/12720/4630774.html





标签 迁移
rfedfre

在关系数据库中,一般树保持不变

下载源代码 8.58 kb抽象画本文提出了一些常用的子父父格式下在关系数据库中实现计算的技术。 另一种更好的格式。介绍关 ...

持久排列

下载 pl/sql源代码和演示 5.47 kb。介绍从关系数据库获取有序数据集的常用方法是使用sql子句 order b ...

自定义业务对象 helper 类

下载源文件 14.22 kb介绍在花费了很多时间输入从 datareader 返回的值以分配值之后,我开始认为有一个更好 ...

rfedfre

自动生成 C# 数据访问层

从sourceforge下载项目源码,exe和用户手册内容简介初步设计背景信息使用图形用户界面的开始一个新项目。输入一个 ...

rfedfre

SQL案例表达式的简单用法

下载脚本 1.11 kb目录简介什么是案例表达式?案例表达式的语法sql案例语句的示例示例使用案例表达式基本在存储过程中 ...

使用事务SQL从用户定义文件路径中获取文件名或者文件扩展名的简便方法

下载脚本- 865介绍本文将演示如何使用事务sql获取文件名或者文件扩展名。背景几次,开发人员只需要将文件名或者文件扩展 ...

收缩数据库事务日志的过程

下载脚本 2.54 kb介绍什么是收缩数据库? 实际上,为了增加 sql server 磁盘空间,收缩数据库的任务被使用 ...

在你的数据库中,有多少个记录?

介绍数据库中有多少条记录? 你可能认为你需要编写一个巨大的sql语句。 本文将向你展示,你可以轻松地做到这一点。不是很有 ...

获得允许的扩展storedProcedures列表,供常用使用

下载脚本- 820介绍对于你拥有多少扩展 storedprocedures,你可以在自己的sql查询/storedpro ...

如何保护存储过程代码

介绍每个开发人员都特别关心她/他如何制作/他的sql代码对象的最佳安全性。 出于这个原因,我们将进行加密。 加密是一个好 ...

rfedfre

在SSIS中一步一步,创建自定义转换组件( 电子邮件验证程序)

下载 emailvalidator 45.7 kb介绍ssis是一个很好的etl工具,现在已经存在了很长的time.bu ...

rfedfre

在 CTP 1中,介绍Sql 11 ( 代号 Denali ) 第IV部分( 包含数据库)

介绍 sql 11 ( 代码 name denali ) -part iv ( 包含在 ctp 1中的数据库)目录简介背 ...

rfedfre

在 CTP 1中,介绍Sql 11 ( 代号 Denali ) –Part i ( SSMS特性)

sql 11 ( 代码 name denali ) -part i ( 1中的ssms特性) 简介目录简介背景信息安装工 ...

rfedfre

WTL数据库数据库应用程序简介

下载示例项目 11 kb下载示例数据库 9 kb下载示例执行 28介绍本文介绍如何使用generated生成的ole使用 ...

rfedfre

使用 vs 2005连接到数据库 SQL Express 2005

开始 lt;--文章- 不添加 html/正文启动 tags--gt; !介绍安装 visual studio 2005 ...

rfedfre

使用 ADO.NET 2.0 SqlBulkCopy 在不同环境间迁移数据的应用程序

下载源文件 28.7 kb介绍经常需要在不同环境之间迁移数据以进行测试或者审核。 例如生产数据可以移动到测试环境中,测试 ...

rfedfre

SQL Server 存储过程用示例解释

1. 引言sql server中的"存储过程"是可以执行程序单元,可以作为对象存储在数据库中。 可以从客户端应用程序程序 ...

rfedfre

使用SQL了解表联接

下载 createobject.zip - 334下载 instnwnd.zip 262.3 kb1. 引言联接对于根据 ...

在ef代码的情况下插入事件时,自动表( re ) 创建

问题有时( re ) 创建特定数据库 table(s) 有一些原因。 让我们考虑日志记录的常见情况。 可能,所有项目都写 ...

在 SQL Server 2000中,实现触发器

介绍触发器是定义在数据修改后或者之后自动执行的特殊存储过程类型。 它们可以自动执行 插入 , 删除 以及 更新 触发动作 ...