• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

如何将一个数据库中的所有用户复制到另外一个数据库中?

bestone 2008-03-05 09:40:55
如何将一个数据库中的所有用户复制到另外一个数据库中?
...全文
76 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bestone 2008-03-05
搞定,写了一段脚本:
declare @l_loginname varchar(125), @l_user varchar(125)
declare cur cursor local for select loginname from DB1.master.dbo.syslogins


open cur
while 1>0 begin
fetch cur into @l_loginname
if @@fetch_status != 0 break

select @l_user=right(@l_loginname,len(@l_loginname)-charindex('\', @l_loginname))

if not exists (select * from master.dbo.syslogins where loginname = @l_loginname)
begin
exec sp_grantlogin @l_loginname
exec sp_defaultdb @l_loginname, N'DB2'
exec sp_defaultlanguage @l_loginname, N'us_english'
end

if not exists (select * from dbo.sysusers where name =@l_user and uid < 16382)
begin
exec sp_grantdbaccess @l_loginname, @l_user
end

end
close cur; deallocate cur
回复
YanpingLuck 2008-03-05
不知道这个方法可行不,你试一下哦

select * into 目标数据库名..表名 from 源数据库名..表名
回复
dawugui 2008-03-05
如果是这样的话,
不如自己手工在另外一个库中加入用户.
回复
bestone 2008-03-05
两个数据库本身是不同的,只是所使用的用户是相同的,所以不能复制过去。
有没有什么自动复制的脚本?
回复
忆轩辕 2008-03-05
建议把添加用户做成脚本。。。。。。。。。否则分离附加的话太麻烦了,系统库需要还原或者覆盖文件才行
回复
dawugui 2008-03-05
要手工操作
回复
tcxx2008 2008-03-05
[Quote=引用 1 楼 dawugui 的回复:]
直接把库备份还原或分离附加即可.
[/Quote]

这里说的是要把系统数据库也一起还原吗?我曾经操作做(没还原系统数据库master),有问题,因为有些数据是写入master中的吧。但如果我不想还原master呢?要然后手工操作,老乌龟????
回复
dawugui 2008-03-05
直接把库备份还原或分离附加即可.
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-05 09:40
社区公告
暂无公告