我们在一台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框架
答案 0 :(得分:0)
SQL Server中的用户权限非常精细。
我建议ENV1中的存储过程与ENV3用户可以使用的ENV3私有。这样可以保证您的权限结构安全,并且可以访问ENV1用户的代码不需要包含(甚至不知道)ENV2或ENV3的任何凭据。
答案 1 :(得分:0)
SqlBulkCopy似乎就是这样。谢谢大家。