【问题标题】:authentication when creating table synonym in remote server在远程服务器中创建表同义词时的身份验证
【发布时间】:2013-08-06 03:00:49
【问题描述】:

我刚刚在数据库中遇到了 SYNONYM 的概念。通过阅读:http://msdn.microsoft.com/en-us/library/ms187552.aspx 而这个What is the use of SYNONYM in SQL Server 2008?我弄清楚了同义词的目的。

但是,我仍然不了解为远程表创建同义词的实际过程中的一小步。我在网上搜索过,但一般说明主要集中在 SQL 语法上(例如这个:http://www.oninit.com/manual/informix/english/docs/dbdk/is40/sqls/02cr_prc8.html)。在为远程表创建同义词时,我发现没有任何指南提到身份验证部分。我猜数据库不能让任何人创建同义词然后访问它的表吗?

所以我很好奇目标远程表的数据库如何知道访问其表的同义词引用是否合法?

【问题讨论】:

    标签: sql sql-server-2008 synonym


    【解决方案1】:

    您的问题的答案很大程度上取决于您用于包含同义词的数据库平台;在您的问题中,您引用了至少两个(SQL Server 和 Informix)的文档。我对 Informix 了解不多,但我会假设它的安全模型与 SQL Server 不同。

    对于 SQL Server,必须首先将远程服务器设置为链接服务器(假设您使用的是远程对象)。有关如何执行此操作的详细信息,请参阅http://technet.microsoft.com/en-us/library/ms188279.aspx

    【讨论】:

    • 这就是我好奇的地方!我没有指定 SQL server 也没有指定 informix,我确实从 INFORMIX 中发现了这个概念,但我看到 Oracle 支持它,SQL server 也支持。令人好奇的是做了什么样的配置来允许一台服务器使用另一台服务器的表作为 SYNONYM。
    【解决方案2】:

    来自CREATE SYNONYM

    您不需要基础对象的权限即可成功编译 CREATE SYNONYM 语句,因为基础对象的所有权限检查都推迟到运行时进行。

    也就是说,同义词不存在安全问题,因为权限检查是在使用同义词时进行的,并且权限检查是基于真实对象,而不是同义词。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 2020-06-08
      • 2012-11-14
      • 1970-01-01
      相关资源
      最近更新 更多