0

我们在一台 SQL 服务器中设置了三个环境(或数据库)。并且三个不同的登录名/用户被映射到其中的每一个。例如:

环境 (DB) 1 - DBUser 1
环境 (DB) 2 - DBUser 2
环境 (DB) 3 - DBUser 3

显然 DBUser1 无权访问除他的 ENV 之外的任何 ENV。

我有一个要求,我需要从 ENV1 复制一些数据以从代码 (C#) 中说 ENV3。但它不允许我这样做,因为我的主要环境是 ENV1(我的网站默认连接到该环境)并且 DBUSer1 无法访问 ENV3。

一旦我授予 DBUser1 访问 ENV3 的权限,它就可以工作。但后来我失去了拥有不同用户的全部目的。还有其他选择吗?

我正在使用 SQL Server 2008 和 3.5 .Net 框架

4

2 回答 2

0

SqlBulkCopy似乎是要走的路。感谢大家。

于 2012-12-03T04:45:29.310 回答
0

SQL Server 中的用户权限非常精细。

我建议 ENV1 中的存储过程具有 ENV3 的特权,可供 ENV1 用户使用。这可以确保您的权限结构安全,并且 ENV1 用户可访问的代码不需要包含(甚至知道)任何 ENV2 或 ENV3 的凭据。

于 2012-12-03T00:15:40.943 回答