日期:2014-05-18  浏览次数:20552 次

sql 2000的搬家问题
原来用的sql要倒到别一个sql 2000上,请问如何可以让两个数据库的设置一样,包括用户名及密码,比如原来的sql上有个叫
aa的用户,密码是bb.要怎么样做才能不用一个个的重复设置,而是一下子就把所有的都倒到新sql上
请帮忙,谢谢

------解决方案--------------------
对数据库而言:
1、使用备份还原机制。在一个SQL服务器上备份数据库,然后在另外一个SQL服务器上还原数据库。
2、附加方式。拷贝数据库的MDF,LDF文件,到另外一个服务器上用附加方式附加数据库。但这种方式可能掉索引、主键。
附加也可用命令进行。
示例
下面的示例将 pubs 中的两个文件附加到当前服务器。

EXEC sp_attach_db @dbname = N'pubs', 
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', 
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'


------解决方案--------------------
把master库中的syslogins表也导过去就行了
------解决方案--------------------
备份\还原,附加数据库可以的
对于用户需要手工去添加
------解决方案--------------------
除了业务数据库,master,model,msdb这三个也要在新的服务器上还原
------解决方案--------------------
补充一下:

如果新的服务器的数据库的数据和原服务器完全一致,而且新数据库服务器上并无其他业务数据库,可以把原数据库的业务数据库和master,model,msdb三个系统数据库的备份在新数据库还原,这样子不仅保证用户一直,而且原来的作业等其他元素都会存在,全文索引是个特例,需要重新建立填充

如果新服务器有其他业务数据库,那么只还原旧服务器的业务数据库就可以了,至于用户,手动搞搞也不麻烦吧
------解决方案--------------------
附加数据库会掉索引、主键及自增列么?

会,我经常遇到。

也许我方法不对。
------解决方案--------------------
1、在B服务器上安装SQL2000,系统数据库路径必须与A服务器一致。
2、停止A,B服务器的SQL服务,拷贝系统数据库master,model,msdb的(*.mdf,*.ldf)文件到B服务器相同路径,
3、用户数据库文件放在B服务器的相同路径下(可选),启动B的SQL服务,或在B服务器SQL启动后再附加用户数据库。

这样应该能满足你的要求,以上方式,以前做过,是可行的。