链接服务器SQL Server 2012权限?

时间:2015-04-03 23:15:23

标签: sql-server linked-server

我正在尝试了解SQL Server Studio 2012中用于开发大型报表的链接服务器。我查看了一些帖子,但我没有看到任何与权限相关的内容或如何使用我们拥有的非默认实例服务器。我的第一个问题是:当我只有读取权限时,我可以使用创建链接服务器查询吗?第二:如果有人能详细说明语法,我将不胜感激。以下是我遇到问题的语法。我们的服务器名称不仅仅是服务器名称,而且还有servername \ databasename,因为IT是非默认实例的原因(这是我们IT部门告诉我的)。

SELECT *
FROM   [server1\databse1 name].[dbo].[table name]. tab1
       INNER JOIN [server2\database2 name].[dbo].[table name] tab2
       ON tab1.ID = tab2.ID`

非常感谢你。

1 个答案:

答案 0 :(得分:0)

  1. 当我只有读取权限时,我可以使用创建链接服务器查询吗?
  2. 答案:否则您需要sysadmin权限才能添加链接服务器。如果您只对服务器具有读取权限,则需要请求DBA为您执行此操作。

    1. 如果有人能详细说明语法,我将不胜感激。以下是我遇到问题的语法.....
    2. 您的语法将是这样的......

      假设databse1Name位于链接服务器上,database2Name位于您登录的服务器上。

      SELECT * FROM 
      [ServerName].[databse1Name].[dbo].[table name]. tab1 
      INNER JOIN [database2Name].[dbo].[table name] tab2 
      ON tab1.ID = tab2.ID
      

      如果它是链接服务器上的特定实例,那么您可以编写类似......

      的查询
      SELECT * FROM 
      [ServerName\InstanceName].[databse1Name].[dbo].[table name]. tab1 
      INNER JOIN [database2Name].[dbo].[table name] tab2 
      ON tab1.ID = tab2.ID