技术开发 频道

图解SQL Server2008迁移到EnterpriseDB

  【IT168 技术文档】在本文中,我们将以图解的方式带领读者详细了解从MS SQL Server 2008向EnterpriseDB迁移数据的详细过程。

  一、概述

  目前在市场上有许多数据库厂商,并且被许多数据密集型应用所采用,因此,许多时候人们需要移植应用程序以使用不同数据库中的数据,或者从不同数据库中迁移数据以供自己的应用程序之用。一般情况下,业内多采用数据迁移方式,因为这样做相对容易一些。 Migration Studio是一款从诸如SQL Server、Oracle、MySQL等各种数据库向Postgres自动迁移数据和业务逻辑的工具包,它是跟EnterpriseDB数据库捆绑下载的,也就是说,只要下载了EnterpriseDB,就不用单独下载它了。我们将向您逐步地介绍将SQL Server 2008的数据表迁移至Postgres Plus的详细步骤。需要说明的是,我们这里只是迁移表和方案,而不是迁移整个数据库。

  二、SQL Server 2008中需要迁移的表

  下图展示的,是Microsoft SQL Server 2008的Management Studio中的表Categories,我们要将其迁移至Postgres数据库。

  三、使用Postgres Studio创建数据库

  右键点击Advanced Server 8.3中的节点Databases,然后单击New Database...菜单,如下图所示。

  这时将看到如下图所示的New Database... window窗口。在postgres studio中输入图中所示的有关信息,就可以创建一个空的数据库PGNorthwind。

  这将创建一个新的数据库和有关对象,具体如下图所示。

  这还会在Properties面板中创建脚本,见图。您可以在此查看有关的属性。当然,你可以使用Drop Database语句来丢弃这个数据库。

  四、启动Migration Studio

  单击“启动|所有程序|Postgres Advanced Server 8.3”,将看到如下图所示的下拉菜单。

  单击Migration Studio选项,将打开EnterpriseDB Migration Studio 8.3(下文中我们简称为Migration Studio),我们可以看到其标题为Edit Server Advanced Server 8.3(localhost:5432)。 这实际上是我们之前安装好的服务器。

  输入用户名和口令,并单击OK按钮,将看到如下图所示的消息。

  在打开的这两个窗口中单击OK按钮,EnterpriseDB Migration Studio将显示如下图所示的内容。

  单击Migration Studio主菜单中的File选项,然后选择Add Server项,将调出如下图所示的Add Server窗口。

  五、将Microsoft SQL Server 2008添加到Migration Studio

  单击New按钮,将出现一个New Server窗口,其中各字段均为空。从下拉菜单中,为Server Type字段选择SQL Server。提供一个昵称用于SQL Server身份验证,用户名输入[DomainUSER],InitialDB这里为TestNorthwind。

  通过这里的Test按钮可以测试该服务器信息,对于本例来说,输出内容如下所示:

  "The SQL Server 2008 used here is a named instance with the name Sangam[localhost]. The user name in the Migration Studio's New Server window is that of the computer owner. If you are not the computer owner, you should get the proper credentials to the SQL Server from your DBA."

  单击OK按钮,SQL Server就会添加到Add Server窗口,如下图所示。

  单击Add Server窗口中的OK按钮,SQL Server就会被加到服务器列表中,如下图所示。 需要注意的是,虽然添加该服务器时规定的是初始db,但是我们却能找到所有的用户数据库,包括报表服务数据库和Subscribers数据库——它是SQL Server报表服务的一部分。

  在名为SSonEDB的服务器中右键单击表Catogories,将显示一个如下图所示的下拉菜单。

  六、迁移数据表

  接上步,在显示的Online Migration窗口中,有两个下拉框可供选择:目标数据库服务器和目标数据库都能在这里找到。默认模式是dbo, 一些模式是用于存储元数据的,而不可以在其中存储你的数据。将模式改为public。 这里我们有两种对象可以导出。

  接受默认选项(Export constraints和Export Indexes),单击Run按钮,这就会启动迁移过程,结束时最终结果也将显示在同一个窗口中,如下图所示。

  表Categories已经迁移完毕,我们可以在Migration Studio中通过展开PGNorthwind数据库中的对象来进行验证,如下图所示。

  在Migration Studio迁移好的数据库PGNorthwind表中,可以查看表Table:categories的各项内容,例如Properties、Statistics、Dependencies、Dependents和Data。迁移的数据显示在下面的图中。

  在Advanced Server的Postgres Studio中展开显示导入的表,如下图所示。

  七、比较原始表和迁入的表

  下面是原先的表和迁移后的表在数据类型、尺寸等方面的比较:

  Microsoft SQL Server 2008

  CategoryID (PK, int, not null)

  CategoryName(nvarchar(15), not null)

  Description(nvarchar(max), null)

  Picture(image, null)

  EnterpriseDB (Postgres)

  categoryid Integer Primary Key Not Null

  categoryname Character Varying(30) Not Null

  Description text

  picture bytea

  八、结束语

  本文详细讲解了从SQL Server 2008向Postgres Plus数据库复制数据库的详细过程,从创建目标数据库、连接到Advanced Server的Migration Studio中的SQL Server数据库,以及选择对象的迁移等等。最后,我们还提供了原始表和迁入后的表的比较情况。希望本文能够对您有所帮助。

0
相关文章