今天我在测试我的一个网站的时候发现在本地本来可以注册的功能在网上却不能使用了,开始我还以为是我自己的程序或数据库在上传到远程服务器的时候出了问题。当我打开远程服务器上的数据库和我本地的数据库对比时,我发现我本地数据库中一个字段设置的默认值在远程数据库中居然没有。我怀疑是我在复制数据库的过程中出了差错(我首次使用本地数据库复制到远程数据库上去),所以我把再把本地的数据库复制到远程数据库上去。当我再次去打开网站时居然网站都打不开了,提示的错误好像是什么字段的不唯一性,我估计是因为我没有删除远程服务器上的数据库而直接再次复制。所以我再把远程服务器上的数据库删除,然后重新复制,复制后查看2个数据库的结果还是一样:远程数据库没有那个字段的默认值设置。这个时候我想起了供应商说过它们服务器上的数据库是sql server2000,而我使用的是2005.我估计是因为版本的不一致而导致的,我就去百度一下有没有把2005的数据库转换为2000的方法。找到了一个解决方案如下:

***************************************

SQL2005转SQL2000的方法

直接restore或附加应该是不行的, 用脚本+导数据肯定没有问题。

2005转到2000的步骤
1. 生成for 2000版本的数据库脚本
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 生成脚本
-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库
-- 勾选"为所选数据库中的所有对象编写脚本"
-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000"
-- 其他选项根据需要设置
-- 最后把脚本保存到一个 .sql 脚本文件

2. 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库

3. 将数据从2005导到2000
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 导出数据
-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数据库
-- 在"选择目标"步骤中, 连接到 2000, 并选择步骤2新建的库
-- 在"选择源表和源视图"中, 选择所有的表
-- 最后完成
***********************************
我按照上面的方法操作,到转换为2000数据库脚步时它提示转换错误,目标版本(2000)不支持某个属性。这下我估计应该是服务器上的数据库系统不支持我那个默认属性了。这个问题让我想到.net的版本问题,我现在使用的是2.0的,但是我以后可能在给这个程序升级的时候使用3.5的版本。看来在选择空间的时候还是选择支持最高版本的好。
如果哪位朋友对我上面的问题有其他的解决方案就在评论中告诉,谢谢
posted on 2009-02-12 11:39  国雄  阅读(4371)  评论(4编辑  收藏  举报