ehxz 发表于 2004-8-5 21:03:38

【转帖】如何将SQL/ASE SERVER移植到同种平台(相同操作系统)的系统上

  <B>提示:</B>
<UL>
<LI><FONT color=#006633>N1 这里所列出的所有步骤,并不需要按顺序执行,只是表明了在实验中成功完成这项任务的顺序。</FONT>
<LI><FONT color=#006633>N2 SYBASE 提示您保留直至今日的ISQL脚本,包括建立login、create database、disk init等等。使用这些脚本会使您完成这项任务更加容易。这些脚本也可以通过master中系统表的内容来重新生成,可能会繁琐一些。</FONT>
<LI><FONT color=#006633>N3 成功的关键在于目标系统中系统表的字段与源系统中相应系统表的字段相同。特别是:syslogins与sysdatabases中的'suid 以及 'dbid';sysusages中所有行的segmap、lstart以及size。</FONT> </LI></UL>
<P>  <B>请在数据源系统上执行以下操作:</B></P>
<OL>
<OL>
<LI>对所有的数据库进行数据一致性检查(DBCC),并后备所有的用户数据库。
<LI>保留master 数据库中数据表的内容,使用select * from table_name命令:
<OL>
<LI><FONT color=#006633>sysdevices,sysusages,sysdatabses</FONT>
<LI><FONT color=#006633>syslogins,sysservers,syssvrroles,sysloginroles,sysremotelogins</FONT>
对于sysusages 表,请使用以下命令:
<FONT color=#006633>select * from sysusages order by dbid,lstart
</FONT>对于sysdatabases 表,请使用以下命令:
<FONT color=#006633>select * from sysdatabases order by dbid</FONT> </LI></OL>
<LI>使用bcp命令拷贝(2)中所列出的系统表内容。
<FONT color=#006633>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</FONT>
<LI>保留sp_configure命令的执行结果 </LI></OL></OL>
<P><B>  请在目标系统上执行以下操作:</B></P>
<OL>
<OL>
<LI>安装并配置新的SQL Server和Backup Server。
确认所指定的master、tempdb、sybsystemprocs大小至少等于数据源系统上相应数据库的大小,同时确认与数据源系统相同的语言模块以及字符集。
<LI>启动SQL Server,使之处于正常工作状态。参照数据源系统的配置(4中保留的执行结果)修改目标系统配置与之相同,并确认'device'参数值至少等于源系统此参数值。
<LI>在model、sybsystemprocs数据库中任意执行几个动作以判断数据库工作正常。请不要添加用户、角色、修改系统表。
<LI>重启SQL Server以测试新配置有效。
<LI>执行以下操作:
<FONT color=#006633>1&gt; use master
2&gt; go
1&gt; sp_configure "allow updates",1
2&gt; go
</FONT>重启SQL Server。
<LI>使用bcp命令拷贝(2)中所列出的系统表内容。
<FONT color=#006633>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</FONT>
<LI>建数据库设备,大小至少等于源系统中相应数据库的大小。
<LI>运行create database和alter database的脚本(或者使用命令行)。注意create、alter顺序要与源系统create、alter顺序一致,并使用与之相同的参数。完成后请对比源系统与目标系统中的sysdatabases、sysusages,使之完全相同,否则要重新做12这步工作。(请参照N3提示)注意:
<OL>
<LI>在10.0以及更高版本中segmap字段在做了数据库load之后会被修改。
<LI>在确定需要相同的dbid时,则要采用与在源系统中create、alter相同的顺序,在目标系统中做create、alter,并且使用相同的参数值。而这种需求仅仅是当数据库中某些objects要参考不同的数据库中的objects才会采用的。另外,这种需求只有在每一个数据库中都被采用,完成的结果才会使得sysusages表中的segment、lastart、size字段,或者是fragment与源系统中数值相同。运行以下命令,与原系统的输出进行比较:
<FONT color=#006633>select * from sysusages order by lstart</FONT> </LI></OL>
<LI>load用户数据库并执行dbcc检测。
<LI>执行以下操作:
<FONT color=#006633>1&gt; sp_configure "allow updates",0
2&gt; go
</FONT>重启SQL Server。
<LI>后备master库以及用户数据库。 </LI></OL></OL>


<p>
页: [1]
查看完整版本: 【转帖】如何将SQL/ASE SERVER移植到同种平台(相同操作系统)的系统上

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com