0

我刚刚在数据库中遇到了 SYNONYM 的概念。通过阅读以下内容:http: //msdn.microsoft.com/en-us/library/ms187552.aspx 以及SQL Server 2008 中 SYNONYM 的用途是什么?我弄清楚同义词的目的。

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

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

4

2 回答 2

1

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

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

于 2013-08-06T04:47:15.583 回答
1

来自CREATE SYNONYM

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

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

于 2013-08-06T06:13:52.193 回答