sql-server - 我们可以在其他服务器上使用同义词吗?

标签 sql-server database sql-server-2012 synonym

我使用的是一些旧数据库,所以我在不同的服务器上工作。

我已经在“A”服务器上创建了 Synonyms,我可以毫无问题地对其进行一些操作。现在我想在“B”服务器中使用它,但它现在允许我访问服务器“B”中的同义词。我已经授予该服务器的所有访问权限。

即使我能够访问我创建同义词的同一个表。

片段: 在服务器“A”上: 为 dbo.Employee 创建同义词 [dbo].[EmployeeDB]

在服务器“B”上; 使用表名:select * from [B].[databaseName].[dbo].[Employee]

无法使用同义词名称:select * from [B].[databaseName].[dbo].[EmployeeDB]

最佳答案

否:您不能引用位于链接服务器上的同义词。 https://msdn.microsoft.com/en-us/library/ms187552.aspx

相反的方式可能更好(即,您在 B 上创建一个链接到 A 的 SYNONYM) 如果您想隐藏 dbo.Employee,也可以使用 View 。

关于sql-server - 我们可以在其他服务器上使用同义词吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31958756/

相关文章:

sql-server - TSQL授予所有表读写权限

sql - 选择计数(不同值)返回 1

sql - 如何降低 SQL Server VIEW 的速度?

mysql - 如何正确编写带有 WHERE 子句的 sql 查询?

sql-server - SQL Server 2012 的类型系统版本(兼容级别)是什么

sql - 创建具有特定格式的自定义数据类型

sql-server - ; 之间有什么区别?和 SQL Server 存储过程中的 GO?

sql-server - 如何压缩 Liquibase 文件以反射(reflect)当前数据库状态

database - postgres 为连接存储什么信息

mysql - 根据MySQL中不同表中某些列的值匹配两列