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

关于数据库拷贝或复制的问题,搞了几天也没有解决,请高手帮忙!!!
我现在做一asp.net的网站,后台用的是SQL   Server   2000数据库。在数据库服务器安全性目录下建有三个不同的登录名,在数据库中建有三个不同权限的,与三个登录名一一对应的同名用户。由于白天在单位做,晚上在家作,经常要在家和单位相互拷贝数据库,但不管我是用拷贝*.MDF和*.LDF的方法,还是用备份、还原数据库的方法都无法将数据库原封不动的复制,总是出现,三个数据库用户丢失对应的登录名,而数据库服务器安全性目录下的三个登录名却依然存在。
单位用windows   2000   professional系统,家里用的是Windowsxp   Professianl系统
请问:1、如何完整复制数据库。
            2、如果不能在两台机器之间完整复制数据库,如何为用户名添加或修改登录名

------解决方案--------------------
拷贝*.MDF和*.LDF
在查询分析器里面使用sp_attach_db附加.

下面的示例将 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 '


------解决方案--------------------
在一个机器上备份,到另外一个机器上还原也行.
------解决方案--------------------
那是因为你2台服务器的master数据库不同,登录名保存在master数据库,而用户名却是保存在各自的用户数据库,除非你同时还原master数据库。