我有两台SQL服务器。我需要一个SQL查询,可以连接2个表,在两个不同的服务器。
喜欢
SELECT *
FROM Server1.Db1.dbo.table1 A
INNER JOIN Server2.Db1.dbo.table2 B ON A.Id = B.Id
而且我没有服务器名称,而是使用服务器的IP地址。我是否需要将这些SQL server启用为链接服务器才能允许这种跨服务器查询?
我已经使用oracle provider oledb在sql server 2005计算机上设置了oracle链接服务器,它从sql server 2005到Oracle 9i都工作得很好,即当我从Sql server运行分布式查询时,我从Oracle server到sql server获得数据。现在,我完全不知道如何从Oracle服务器运行分布式查询并重复地从sql服务器获取数据。我必须设置Dsn吗?在从oracle server运行查询之前,我还需要设置哪些其他内容?
仅供参考: Oracle server是Sun solaris服务器,SQL server是x64 Windows Ser
我有3台服务器。
SQL Server 2008 (Server A) SQL Server 2008 (Server B) Oracle Server (Server C)
服务器A有一个连接到服务器B的链接服务器,服务器B有一个连接到服务器C的链接服务器。
是否可以通过服务器B创建从服务器A到服务器C的链接服务器?
如果不是,我如何从服务器A引用服务器C中的表?
编辑:
好的,我想我真正的问题是从服务器A查询服务器C需要什么语法?
我有一个本地SQL Server 2008R2。我已将链接服务器配置为远程数据库。
当我使用具有sysadmin服务器角色的SQL登录帐户登录到本地服务器时,链接服务器工作得很好。我可以对远程服务器进行查询,因此我知道链接服务器设置是正确的。但是,如果我使用的帐户没有sysadmin服务器角色,则会收到以下错误。
Msg 7416, Level 16, State 2, Line 2
Access to the remote server is denied because no login-mapping exists.
对于本地和远程服务器,都使用SQL登录(不使用Windows身份验证)
我需要锁定对MSSQL服务器中链接服务器对象的访问。
我正在一个主机数据库上构建视图,我从该数据库进行查询,以填充我的仓库服务器上的一个临时表。我正在使用数据工具/SSIS来提取视图数据。为了简化SSIS包,我使用OPENQUERY语法查询存在于我的仓库服务器上的链接服务器对象,并通过链接服务器对象连接到其他SQL服务器、Oracle服务器等。
为了提供对链接服务器的访问,我在具有读访问权限的主机数据库上设置了一个本地SQL登录,然后使用'Be using this security context:‘并传递本地SQL登录。这很好用。
我现在意识到我有一个问题:由于隐藏的安全上下文,任
我的两台服务器都使用SQL Server2008 R2
我有我的本地SQL服务器,还有一台运行SQL-Server实例的Amazon机器。
我可以使用本地Management Studio中的标准10.10.10.10, 1433连接从本地计算机连接到Amazon SQL。
我现在需要做的是运行一个查询,告诉..tells我本地有哪些当前不在亚马逊服务器上的记录。
类似于:
SELECT *
FROM [LOCAL].dbo.Table1
WHERE Field1 NOT IN
(SELECT Field1 FROM [AMAZON].Database1.dbo
我正在Azure SQL数据库上执行一个存储过程。
正在通过本地Server实例上的Server代理作业通过链接服务器调用该过程:
EXEC ('EXEC azuredb.dbo.FullProcess') AT [MYAZURESERVER.DATABASE.WINDOWS.NET]
执行约12分钟后,我将得到一个查询超时错误:
OLE DB provider "SQLNCLI11" for linked server "MYAZURESERVER.DATABASE.WINDOWS.NET" returned message "Quer
我的SQL server数据库中有一台Oracle链接服务器。
我先使用本地身份验证登录SQL Server,然后使用Windows身份验证登录。
作为管理员(这是设置链接服务器的帐户),我可以直接查询或嵌入到存储的proc中,然后执行proc而不会出现问题。
作为我的命名用户,它具有完全的管理员权限,并且还添加了Windows安全设置上的所有SQL Server组,我可以使用同义词或OpenQuery语法来查询我的链接服务器。但是,如果我尝试执行其中一个存储过程,它会给出错误消息
Message 1:
The OLE DB provider "OraOLEDB.Oracle"
我使用SQL Server Management Studio中的SQL身份验证(非sa用户)连接到数据库。当我执行以下查询时,我得到“访问远程服务器被拒绝,因为不存在登录映射”。
EXEC OPENDATASOURCE('SQLNCLI','Server=MyServer;Trusted_Connection=yes;').Database.dbo.myStoredProcedure
如果我以sa身份连接到SQL Server Management Studio,则执行查询时不会出现任何错误。
如何在SQL身份验证下以非sa用户身份连接到sql Server
我正在将SQL Server 2005迁移到SQL Server 2012。要迁移的项目之一是连接到oracle的链接服务器。服务器,DNS,防火墙等的配置不在我这边。我需要确保他们配置了正确的链接服务器,指向正确的数据库(我们有许多数据库的副本)。我可以在两个sql servers中运行什么查询来标识Oracle服务器和数据库是否相同?
我有两个服务器运行相同的SQL查询。查询在一台服务器上运行良好,但在另一台服务器上运行时间太长(37秒)。
我打开了统计数据,得到了以下结果:
服务器1(工作正常,结果在2秒内返回):
SQL Server parse and compile time:
CPU time = 193 ms, elapsed time = 193 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, ela
我正在开发一个应用程序,其中我在SQL Server Express中有一个本地数据库。在本地数据库中工作时,我们需要在另一个SQL server / live服务器上执行查询,它返回一个值,然后用这个值在本地服务器上执行一个查询。
当对2个或3个查询执行此查询时,这是可以的,但我有大约5000条记录需要执行相同的过程。我已经做了以上的风格,但它花费了太多的时间。
我发现我们可以在多个服务器上运行一个查询。
我是否可以同时在SQL Server Express和服务器上运行查询,并以此样式运行我的整个查询?
我只能运行从express到服务器的查询。
我正在编写一些动态SQL (我对它相当陌生),并试图自动更改可能存在于SQL Server2008的不同实例上的多个表。我的服务器是链接的,我知道每个表都在哪个服务器上,但是当我尝试运行下面的查询时,我得到了"Cannot find object...because it not exists or you‘s not persmissions“。
查询:
Alter Table [Server10].[Database2].[dbo].[documents] Add NewField int
如果我在SSMS中连接到服务器,并删除服务器名称(Server10),它就可以工作。
任何关
我有一个SQL查询,需要对大约25个不同的数据库运行-每个数据库都驻留在网络上的一个单独的SQL服务器上。该查询将从单个中央SQL server management studio运行,并链接其他24个SQL server实例。我有了我需要的查询,并且我测试了它的工作-但是目标是创建一个脚本来查询25个单独的SQL实例中的每一个。
而不是在脚本中写出25次不同的查询,我想知道是否有一种方法可以利用单个代码块来使用数组、变量、DO/WHILE、函数或任何其他方法来查询每个链接的实例。
下面是查询:
SET NOCOUNT ON
PRINT 'local server';
SEL
我在SSIS包中有一个'Execute‘组件。
Connection manager: 'Server A'
Database: Finance_Warehouse
SQL Query: SELECT batch_date FROM Finance_Warehouse.etl_audit WHERE
curr_batch_ind IS NULL
SSIS Package: Runs from Server B
我的问题:当我在'Server‘中执行SSIS包时,’执行SQL‘组件SQL查询将在哪里运行?服务器A还是服务器B?
此外,如何验证(此组
我们需要在两个服务器之间同步数据库和图像文件。源服务器具有sql server 2000,目标服务器具有sql server 2008。我们需要同步server 2000中某些表中的数据,以便每隔一段时间更新一次sql server 2008。类似地,对于存储图像的文件夹。
为了达到这个目标,我尝试用WCF实现微软同步框架()。我成功地为Server 2008中的两个数据库运行了以下项目:
但是,当我试图同步数据库之间的数据时(其中一个在sql server 2000和sql server 2008中),则无法同步数据。
问题:
在sql server 2000和sql server 2
在中,我将Server、sql02链接到本地服务器,如下所示:
sp_addlinkedserver 'sql02'
GO
我可以从这个服务器查询表:
SELECT * FROM SQL02.SomeDatabase.dbo.SomeTable
但是,当我试图查询视图时,如
SELECT * FROM SQL02.SomeDatabase.dbo.SomeView
我收到以下错误消息:
Msg 7314, Level 16, State 1, Line 1
The OLE DB provider "SQLNCLI10" for linked server