使用不同的DB用户在两个DB之间复制数据

时间:2012-12-02 23:46:18

标签: c# sql sql-server sql-server-2008

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

SqlBulkCopy似乎就是这样。谢谢大家。