WEB开发网
开发学院数据库MSSQL Server SQL/ASE SERVER 移植到同种平台的系统上 阅读

SQL/ASE SERVER 移植到同种平台的系统上

 2007-07-31 09:47:29 来源:WEB开发网   
核心提示:提示:N1 这里所列出的所有步骤,并不需要按顺序执行,SQL/ASE SERVER 移植到同种平台的系统上,只是表明了在实验中成功完成这项任务的顺序,N2 SYBASE 提示您保留直至今日的ISQL脚本,运行以下命令,与原系统的输出进行比较:select * from sysusages order by lstart

提示:

N1 这里所列出的所有步骤,并不需要按顺序执行,只是表明了在实验中成功完成这项任务的顺序。 

N2 SYBASE 提示您保留直至今日的ISQL脚本,包括建立login、create database、disk init等等。使用这些脚本会使您完成这项任务更加容易。这些脚本也可以通过master中系统表的内容来重新生成,可能会繁琐一些。 

N3 成功的关键在于目标系统中系统表的字段与源系统中相应系统表的字段相同。特别是:syslogins与sysdatabases中的'suid 以及 'dbid';sysusages中所有行的segmap、lstart以及size。 

请在数据源系统上执行以下操作:

对所有的数据库进行数据一致性检查(DBCC),并后备所有的用户数据库。 

保留master 数据库中数据表的内容,使用select * from table_name命令: 

sysdevices,sysusages,sysdatabses 

syslogins,sysservers,syssvrroles,sysloginroles,sysremotelogins

对于sysusages 表,请使用以下命令:

select * from sysusages order by dbid,lstart

对于sysdatabases 表,请使用以下命令:

select * from sysdatabases order by dbid 

使用bcp命令拷贝(2)中所列出的系统表内容。

Unix:bcp master..table_name out file_name -Usa -Psa_password -c

Vms:bcp master..table_name out file_name /username="sa"/sa_password/char 

保留sp_configure命令的执行结果 

请在目标系统上执行以下操作:

安装并配置新的SQL Server和Backup Server。

确认所指定的master、tempdb、sybsystemprocs大小至少等于数据源系统上相应数据库的大小,同时确认与数据源系统相同的语言模块以及字符集。 

启动SQL Server,使之处于正常工作状态。参照数据源系统的配置(4中保留的执行结果)修改目标系统配置与之相同,并确认'device'参数值至少等于源系统此参数值。 

在model、sybsystemprocs数据库中任意执行几个动作以判断数据库工作正常。请不要添加用户、角色、修改系统表。 

重启SQL Server以测试新配置有效。 

执行以下操作:

1> use master

2> go

1> sp_configure "allow updates",1

2> go

重启SQL Server。 

使用bcp命令拷贝(2)中所列出的系统表内容。

Unix:bcp master..table_name in file_name -Usa -Psa_password -b 1 -c

Vms:bcp master..table_name in file_name /user="sa"/sa_password/char/batch=1 

建数据库设备,大小至少等于源系统中相应数据库的大小。 

运行create database和alter database的脚本(或者使用命令行)。注意create、alter顺序要与源系统create、alter顺序一致,并使用与之相同的参数。完成后请对比源系统与目标系统中的sysdatabases、sysusages,使之完全相同,否则要重新做12这步工作。(请参照N3提示)注意: 

在10.0以及更高版本中segmap字段在做了数据库load之后会被修改。 

在确定需要相同的dbid时,则要采用与在源系统中create、alter相同的顺序,在目标系统中做create、alter,并且使用相同的参数值。而这种需求仅仅是当数据库中某些objects要参考不同的数据库中的objects才会采用的。另外,这种需求只有在每一个数据库中都被采用,完成的结果才会使得sysusages表中的segment、lastart、size字段,或者是fragment与源系统中数值相同。运行以下命令,与原系统的输出进行比较:

select * from sysusages order by lstart 

load用户数据库并执行dbcc检测。 

执行以下操作:

1> sp_configure "allow updates",0

2> go

重启SQL Server。 

后备master库以及用户数据库

Tags:SQL ASE SERVER

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接