我们可以在其他服务器中使用同义词吗?

时间:2015-08-12 07:31:30

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

我正在使用一些旧数据库,因此我可以使用不同的服务器。

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

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

代码段: 在服务器'A'上: 创建SYNONYM [dbo]。[EmployeeDB] FOR dbo.Employee

在服务器'B'上; 使用表名:select [from [B]。[databaseName]。[dbo]。[Employee]

不使用同义词名称:从[B]。[databaseName]中选择*。[dbo]。[EmployeeDB]

1 个答案:

答案 0 :(得分:3)

否:select t.* from ( Select row_number() over (order by (select 1)) as sno, * From Employee_Table ) as t order by case when sno%1=1 then 1 else 2 end, sno https://msdn.microsoft.com/en-us/library/ms187552.aspx

反过来可能更好(即你在B上创建一个链接到A的SYNONYM) 如果要隐藏dbo.Employee,也可以使用视图。

相关问题