我可以在具有相同实例的SQL Server上使用linkserver到SQL Server吗?

时间:2015-11-17 06:12:50

标签: c# sql sql-server

我想知道使用linkserver的最佳方法是什么。

我在SQL Server中有一个名为Sales的数据库和另一个名为Menus的数据库。两者都在JOSEPH-PC的同一个实例上。

我的问题:是否有必要使用链接服务器?

或者我可以简单地写一个这样的查询:

select * 
from Sales.dbo.table1 a 
inner join Menus.dbo.accces b on a.code = b.code

如何将数据存储在来自不同数据库的2个表中,例如来自我在C#中的应用程序的主要细节?

请让我知道如何做到这一点。

2 个答案:

答案 0 :(得分:1)

我认为你不能为同一个sql server实例创建链接服务器。必须是不同的实例或不同的服务器。

如果它是关于在同一服务器同一实例中访问不同数据库的最佳方法?同义词就是为了这个目的。

access中的Menus创建sales的同义词,然后您可以在synonym数据库上使用sales本地表格。

sales数据库中运行以下命令为访问创建同义词,现在在销售中,您可以使用 menus_access 作为表格,将引用菜单数据库

中的访问
CREATE SYNONYM menus_access 
FOR Menus.dbo.access;

现在在销售中,您可以

访问该表格
 select * from menus_access

答案 1 :(得分:0)

您需要在两个数据库之一上创建视图,并确保您的连接字符串指向该数据库。您可以在SQL Server中创建一个连接到Create view across multiple databases

这两个数据库的视图

您可能还希望按照您尝试的方式查看how to retreve data from two different database using join in sql server 2005