数据库从sql 2000迁移到SQL 2005遇到的问题

数据库2000迁移到2005遇到的问题

一、SQL Server 2005“备份集中的数据库备份与现有的数据库不同”

还原数据库的时候可能会遇到这个问题,在勾选了“选项”->“覆盖现有数据库”就可以解决。

二、SQl Server2005目录查找失败,出现操作系统错误..

在还原数据库的时候在bak文件中存储了原始数据库的存储路径,这个路径在新数据库所在机器上不存在,就发生这个错误,所以还原的时候需要更改一下mdf文件和ldf文件的位置。
方法步骤:
1
、在SQL 2005 新建一个同名数据库,保存于:
C:\Program Files\Microsoft SQL Server\MSSQL\data\
2、在查询分析器中执行以下语句:
RESTORE DATABASE
AcafaDb FROM DISK = 'C:\AcafaDb.bak' with replace, MOVE 'AcafaDb_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\AcafaDb_Data.MDF', MOVE 'AcafaDb_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\AcafaDb_Log.LDF'

注意:这里的 AcafaDb 是我数据库的名称。

3
、成功还原后,数据库里的用户变成了孤立帐户。
所谓孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。

孤立帐户的产生一般是一下两种:

1.将备份的数据库在其它机器上还原;

2.重装系统或SQL SERVER之后只还原了用户库

解决方法是使用系统自带过程sp_change_users_login来修复:
USE AcafaDb;

GO

EXEC sp_change_users_login 'Auto_Fix', 'acafacom', NULL, 'password';

GO

意思是:把用户名“acafacom”修复,密码为“password

查询孤立用户语句:
EXEC sp_change_users_login 'Report'

更多请参考:
http://msdn.microsoft.com/pt-br/library/ms174378.aspx

原文地址:https://www.cnblogs.com/yangjunwl/p/1686913.html