我需要将我所有的数据库(只有 5 个)从一台服务器移动/复制到另一台服务器。我知道如何进行备份和恢复,但我还需要移动我的数据库的所有信息,包括用户、模式等......
最佳答案
- 右击数据库
- 点击任务
- 点击生成脚本
- 通过向导并选择您的表
- 在选项页面上单击“高级”按钮(它就在那里,只是不太突出)
- 更改“脚本数据类型”选项
有脚本数据和登录选项(大量其他内容)。这非常方便。
这是将生成脚本以在所有数据库上添加所有角色的脚本
declare @selectStatement varchar(1000)
set @selectStatement = 'Use ?;SELECT ''USE ?''; SELECT ' + '''EXECUTE sp_AddRoleMember ''''' + ''' + roles.name + '''''''+','''''+''' + Replace(users.name,''DOMAINA'',''DOMAINB'') + ''' + '''''''
from sys.database_principals users
inner join sys.database_role_members link
on link.member_principal_id = users.principal_id
inner join sys.database_principals roles
on roles.principal_id = link.role_principal_id'
--where users.name like ''%%'''
EXEC sp_MSForEachDB @selectStatement;
关于sql - 如何将所有包含用户、架构和角色的数据库从一台服务器移动/复制到另一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8441134/