从SQL Server 向SQL Server 迁移数据库复制.docx
《从SQL Server 向SQL Server 迁移数据库复制.docx》由会员分享,可在线阅读,更多相关《从SQL Server 向SQL Server 迁移数据库复制.docx(26页珍藏版)》请在冰豆网上搜索。
从SQLServer向SQLServer迁移数据库复制
数据库复制——
从SQLServer2000向SQLServer2005迁移数据库
服务器环境如下:
GOCEAN-LEE\SQL2000:
SQLServer2000
GOCEAN-LEE\SQL2005:
SQLServer2005
WindowsServer2003sp2
系统用户GOCEAN-LEE\Administrator,GOCEAN-LEE\SQLAgentUser,密码皆为password,同隶属于Administrators
配置过程如下:
1.设置SQLServerAgent服务启动账户(不执行这一步也可以,不过建议执行此步骤)
设置GOCEAN-LEE\SQL2000和GOCEAN-LEE\SQL2005两个SQLServer实例的SQLServerAgent服务的启动账户设置为GOCEAN-LEE\SQLAgentUser,并将其高设置为自动启动。
(图1.设置SQLServer2005Agent服务的启动账户)
(图2.设置SQLServer2000Agent服务的启动账户)
2.建立数据库快照文件共享文件夹
建立一个共享文件夹(如c:
\shareCopy),以存放并共享耍要发布的数据库的快照文件,同时设置GOCEAN-LEE\SQLAgentUser账户对该文件夹有完全控制权限,如下图
(图3.设置共享文件夹属性)
3.确定发布服务器、分发服务器、订阅服务器
发布服务器、分发服务器和订阅服务器是SQLSERVER复制数据库时的三个服务器角色,三个的作用分别是:
发布服务器将需要同步的服务器发布出来;订阅服务器把从发布服务器所发布的数据库更新到自己的数据库上;而分发服务器则起一个中转站的作用,将发布服务器发布的服务整理,各个订阅服务器直接从分发服务器上订阅发布服务器的更新。
注意:
不同用户采取的复制方法可能略有不同,必须保证分发服务器的SQL版本高于或等于发布服务器的SQL版本,订阅服务器的SQL版本低于或等于分发服务器(这是在本工作场景中决定分发服务器的一个重要原因)
终上所述,将GOCEAN-LEE\SQL2000作为发布服务器,GOCEAN-LEE\SQL2005作为分发服务器和订阅服务器
4.在SQLServer2000中建立分发数据库
连接上GOCEAN-LEE\SQL2000,建立数据库publishDB,并建立一个表productInfo,T-SQL代码如下:
USEmaster
GO
CREATEDATABASEpublishDB
GO
USEpublishDB
GO
IFOBJECT_ID(‘productInfo’,’U’)ISNOTNULL
DROPTABLEproductInfo
GO
CREATETABLEproductInfo
(
productIDuniqueidentifierROWGUIDCOLNOTNULL,
productNamechar(10)NULL,
CONSTRAINTPK_productInfoPRIMARYKEY(productID)
)
GO
连接上GOCEAN-LEE\SQL2005,建立数据库publishDB,不用建立数据表。
将GOCEAN-LEE\SQLAgentUser添加到GOCEAN-LEE\SQL2000和GOCEAN-LEE\SQL2005登录用户,并将其设置为两个publishDB数据库的public角色和db_owner角色。
如下图所示:
(图4.创建数据库及数据表)
5.配置分发服务器
SQLServerManagementStudio连接到GOCEAN-LEE\SQL2005,右击“复制”节点执行如下操作:
(图5.选择”配置分发…”)
(图6.)
(图7.)
(图8.输入之前建立的共享文件夹)
(图9.建立分发服务器时将自动创建默认数据库distribution,可以自定义以上信息)
(图10.默认只有GOCEAN-LEE\SQL2005一个发布服务器,可以通过右下角的添加按钮添加GOCEAN-LEE\SQL2000为发布服务器,这一步相当重要,如果不执行这一步而直接在2000中执行发布操作将报错误信息,即会报如下图所示的错误
(图11.建立与GOCEAN-LEE\SQL2000的连接)
(图12.已经将GOCEAN-LEE\SQL2000和GOCEAN-LEE\SQL2005同时配置为分发服务器)
(图13.要求输入请求订阅时的密码)
(图14.)
(图15.分发服务器配置成功)
6.在GOCEAN-LEE\SQL2000中发布数据库
连接上GOCEAN-LEE\SQL2000,步骤如下:
(图16.选择“新建发布”)
(图17.新建发布向导)
(图18.添加GOCEAN-LEE\SQL2005作为分发服务器)
(图19.已将GOCEAN-LEE\SQL2005添加分发服务器)
(图20.输入建立分发服务器时设立的密码)
(图21.选择要发布的数据库,不能发布系统数据库)
(图22.选择合适的发布类型)
(图23.选择数据库中需要发布的对象)
(图24)
(图25.选择合适的生成数据库快照的时间调度)
(图26)
(图27.输入发布数据库的名称)
(图28.数据库发布成功)
(图29.在”复制”→”本地发布”节下可以看到发布的数据库)
7.在GOCEAN-LEE\SQL2005中订阅数据库
连接上GOCEAN-LEE\SQL2005,执行如下操作:
(图30.选择“新建订阅”)
(图31.新建订阅向导)
(图32.添加GOCEAN-LEE\SQL2000作为发布服务器)
(图33.已将GOCEAN-LEE\SQL2000添加为发布服务器)
(图34)
(图35.选择或者新建数据库,作为订阅数据库)
(图36.点击省略号
设置代理安全性)
(图37.设置代理安全性)
(图38.已设置完分发代理安全性)
(图39.设置同步计划)
(图40.设置初始化订阅)
(图41)
(图42.完成订阅向导)
(图43.已成功建立数据库订阅,可以在”复制”→”本地订阅”节点下看到所订阅的数据库)
(图44.已同步到GOCEAN-LEE\SQL2005数据库publishDB中的表dbo.productInfo及其数据)
至此,已经完成了从SQLServer2000数据库向SQLServer2005数据库复制数据的操作,可以通过向2000数据库中更新数据以查看是否已成功配置数据库复制,结果表明当更新GOCEAN-LEE\SQL2000中数据时,在短时间内则将更新的数据同步复制到GOCEAN-LEE\SQL2005中。