如何使 SQL Server 数据库在附加用户和角色成员资格时继承它们?

Posted

技术标签:

【中文标题】如何使 SQL Server 数据库在附加用户和角色成员资格时继承它们?【英文标题】:How can I make a SQL Server database inherit users and role memberships when they are attached? 【发布时间】:2013-01-22 05:52:56 【问题描述】:

当我附加一个数据库时,我希望在其上创建多个用户并将他们分配给某些固定的数据库角色。有什么方法可以确保这种情况自动发生(可能同时连接数百个数据库),或者是否有任何工具/实用程序可用于此类事情?

如果无法为附加数据库执行此操作,是否可以为新创建的数据库执行此操作?例如,如果我将用户和角色添加到模型数据库,这些对象和成员资格会被新创建的数据库继承吗?到目前为止它似乎不起作用。

【问题讨论】:

您是否有兴趣将新用户添加到 SQL Server 实例或新附加的数据库中,或者您是否希望解决孤立用户问题? 我有兴趣将用户添加到新附加的数据库并将它们映射到 SQL Server 实例上的现有登录名。我不确定如何解决孤立用户...这对我有帮助吗?这些用户在我的组织中不存在,我不知道将它们映射到哪些登录名。如果我理解正确的话,我想我不想担心孤儿用户。 【参考方案1】:

通过 SQL Server 服务代理事件启动的激活来处理此问题的方法:

Implementing Internal Activation

【讨论】:

嗯...你能给我更多的信息,以便我可以更快地浏览文档吗?谢谢。 使用 DDL 触发器是否是处理此问题的合适方法?我一直在研究这个,但 Event() 函数看起来像一团糟,无法从中获取信息。 事实上,使用 DDL 触发器是处理这个问题的好方法——还有更多。爱它。 Event() 函数是一团糟,但是有很多例子可以帮助你弄清楚如何得到你需要的东西。

以上是关于如何使 SQL Server 数据库在附加用户和角色成员资格时继承它们?的主要内容,如果未能解决你的问题,请参考以下文章

SQL SERVER 2008 R2 数据库附加到 SQL server 2005,怎么整

sqlserver 2012日志满了导致数据库挂起恢复,如何解决

将多用户环境中的表中的 ms 访问数据附加到 sql server 表中

sql server 2008附加数据库出错

SQL SERVER 2008 R2 数据库附加到 SQL server 2005,怎么整

sql server 2012 附加数据库出错 求解决