如何将权限从一个数据库复制到另一个数据库?

时间:2018-05-04 13:55:28

标签: sql-server ms-access odbc

我在同一个SQL服务器上有两个数据库。一个用于ERP数据库,我能够读取表格和一个我在MS Access中创建的表格。 MSAccess数据库上的存储过程正在从ERP DB更新一些表。此处的MS Access DB独立运行。

当我在其他计算机上安装时,当我以另一个用户身份登录时,Access数据库会给我一个连接错误。 - 来自ERP数据库的权限是否影响了我的Access数据库?我应该担心吗? - Windows身份验证是否足以使连接发生? - 我是否需要从ERP数据库映射用户?如果是的话,我该怎么做? - 我是否可以授予服务器上的每个用户使用Windows身份验证访问我的表的权限?我需要走这条路吗?我该怎么做?

我不太确定从这里开始做什么。以下是有关该问题的更多信息。

- 在我的数据库中,我有一个ODBC字符串连接,如下所示:

Driver={SQL Server Native Client 11.0};Server=SERVER;Database=DATABASENAME;Trusted_Connection=yes;

- 我正在使用SSESETUP打包一个exe文件,非常棒。 - 我正在新计算机上安装,并且当我以自己的身份登录时能够启动但是,当我以同一台计算机上的另一个用户身份登录时,我收到连接错误。 (注意:我无法从此处进行调试并查看vba,因为我仅在Access runtime 2013下运行。)

如果有人能协助我缩小搜索范围,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

从底线看,您需要在SQL Server上为将使用Access数据库的每个Windows帐户设置数据库权限。

以下是您问题的具体答案:

  

来自ERP数据库的权限是否影响了我的Access   数据库

是的,他们当然是。无论您如何连接到数据库,权限都将始终有效。

  

我应该担心他们吗?

是的,你当然应该。否则你将无法处理数据。

  

Windows身份验证是否足以使连接发生?

要建立连接,是的。 SQL Server在两种安全模式下都支持Windows身份验证(仅限Windows和混合模式)。但是,这只是连接。您还需要考虑数据库权限。您的Windows登录需要在特定数据库中被授予适当的权限才能执行任何操作。

  

我是否需要从ERP数据库映射用户?

映射到什么?访问?根据您问题中的连接字符串,您使用Windows身份验证连接Access到SQL Server,因此Access将在运行Access的任何人的安全上下文下连接到SQL Server。因此,需要为将运行Access数据库的每个用户配置SQL Server权限。

  

我是否可以授予Server上每个用户访问我的表的权限   使用Windows身份验证?

访问SQL Server表?当然,你可以。但是你应该将它限制为只有必要的权限。授予每个人访问权限可能是过度杀伤而非最佳做法。