问题标签 [linked-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3018 浏览

sql-server - 在触发器或过程中测试链接服务器连接

我写了一个触发器来更新链接服务器上的本地表和类似表。

CREATE TRIGGER myTtableUpdate ON myTable
AFTER UPDATE AS
IF (COLUMNS_UPDATED() > 0)
BEGIN
DECLARE @retval int;
BEGIN TRY
EXEC @retval = sys.sp_testlinkedserver N'my_linked_server';
END TRY
BEGIN CATCH
SET @retval = sign(@@error);
END CATCH;

IF (@retval = 0)
BEGIN
UPDATE remoteTable SET remoteTable.datafield = i.datafield
FROM my_linked_server.remote_database.dbo.myTable remoteTable
INNER JOIN inserted i ON (remoteTable.id = i.id)
END
END -- end of trigger

不幸的是,当连接断开时,我收到错误消息
'Msg 3616,Level 16,State 1,Line
2''Transaction 在触发器中注定失败。Batch has been aborted'
并回滚本地制作的更新。

有没有办法维护这个错误并保持本地更新?
请注意,我在运行 Windows XP Pro 的两台 PC 上都使用 SQL Server 2005 Express Edition。

编辑 1:SQL 服务器是 Express 版 编辑 2
:两台 PC 都运行 Windows XP Pro,所以这些不是服务器

0 投票
3 回答
5083 浏览

sql-server-2005 - Openquery 比直接查询链接表快得多

试图弄清楚为什么两者之间存在如此显着的差异

select * from linkedserver..tablename

select * from openquery(linkedserver, select * from tablename).

4 分钟对 13 秒。

0 投票
2 回答
12377 浏览

sql-server - SQL Server 链接服务器查询内存不足

我在尝试将其选择到 SQL Server 表中的网络共享上有一个 DBF 文件。

这个查询:

...引发此错误:

链接服务器“MyLinkedServer”的 OLE DB 提供程序“MSDASQL”返回消息“[Microsoft][ODBC Visual FoxPro Driver]没有足够的内存用于文件映射。”。
消息 7399,级别 16,状态 1,第 11 行链接服务器“MyLinkedServer”的 OLE DB 提供程序“MSDASQL”报告错误。提供程序内存不足。
消息 7320,级别 16,状态 2,第 11 行无法针对链接服务器“MyLinkedServer”的 OLE DB 提供程序“MSDASQL”执行查询“SELECT * FROM DP”。

我读过关于使用 SYS(3050) 来释放 FoxPro 的内存。不过,我不知道如何针对链接服务器执行该操作。

0 投票
3 回答
973 浏览

tsql - T-SQL 2000:四部分表名

我通常不使用链接服务器,所以我不确定我在这里做错了什么。

像这样的查询将适用于 sql 2000 中的链接 foxpro 服务器:

但是,通过在互联网上的研究,这样的事情也应该有效:

但我收到此错误:

我意识到它应该是 ServerAlias.Category.Schema.TableName,但是如果我在链接服务器上运行 sp_tables_ex,对于所有表的类别,我只需获取数据文件所在的网络路径,并且架构为空.

这个服务器设置不正确吗?还是我试图做的事情是不可能的?

0 投票
4 回答
4561 浏览

sql - 2005 实例中链接的 2008 SQL 服务器的“强制转换规范的字符值无效”

我正在尝试创建一个从 2005 到 2008 Microsoft SQL Server 的链接服务器。我定期为 2005 实例执行此操作,但这是我进入 SQL 2008 漫长旅程的第一步。我能够像任何其他链接服务器一样创建链接服务器,我没有收到任何错误,但是任何时候我尝试使用链接任何东西的服务器(例如,一个简单的“SELECT *”语句)我在 SSMS 中收到此错误:

“链接服务器 {链接服务器名称} 的 OLE DB 提供程序“SQLNCLI”返回消息“强制转换规范的字符值无效”。

关于在 2005 实例中创建到 2008 实例的链接服务器,我需要了解什么?

0 投票
2 回答
658 浏览

sql-server - Performance Issue with Distributed Queries

the code below works fine but it takes an absolute age to run. How can I speed this up?

Background: I have linked my local server to my remote server. From my local server, I need to insert data from the remote server into my local server and then update the table on my remote server. See snippet for the exact details.

EDIT:

In addition, is there anyway I can compress/zip the data being sent back and forth?

0 投票
1 回答
392 浏览

sql-server - 通过链接服务器进行远程 SP 调用。异步与否?

我已经设置了 2 个链接的服务器。从我的本地服务器,我正在执行一个将在远程服务器上运行的 SP。

脚本的下一部分要求我将通过远程服务器上的 SP 所做的更改插入到本地服务器中的数据。

因此我的问题是,这个过程是异步的还是同步的?

0 投票
2 回答
385 浏览

sql-server - 在查询中压缩数据

假设您有两个分别称为本地和远程的链接服务器。

是否有一种语法可以压缩(和解压缩)需要从本地发送到远程(反之亦然)的数据。

例如,如果我使用远程数据库中的数据更新本地数据库,我会执行以下操作:

是否可以应用一种语法来压缩从远程发送到本地的数据,从而减少所涉及的带宽成本和执行时间?

0 投票
5 回答
5764 浏览

sql-server-2005 - 将单个大型(30,000 行)表从一个数据库复制到另一个数据库的最快方法是什么?

我在 SQL Server 2005 数据库中有一个大表,我想将它复制到另一个数据库。

最快的方法是什么?是否有链接服务器和插入的快捷方式?

0 投票
1 回答
2738 浏览

sql - 分析链接服务器

我正在尝试优化一组存储过程。这些存储过程位于服务器 A 上并执行以下操作:

  • 根据服务器 A 上的参数化查询删除服务器 B 上的数据

    从 B 中删除(通过链接服务器)在 Ax IN(@ID1、@ID2、@ID3、@ID4)上
    做一些加入

  • 根据服务器 A 上的参数化查询在服务器 B 上插入数据

    插入 B (通过链接服务器)

    Ax IN(@ID1、@ID2、@ID3、@ID4)上做一些连接

当我尝试分析存储过程时,我没有得到有用的跟踪文件。当我跟踪服务器 A 时,我只看到存储过程的执行,但没有看到存储过程的内部查询,因为它们是通过链接服务器引用服务器 B。当我跟踪服务器 B 时,我没有看到与服务器 A 上的存储过程相关的查询,我认为这是因为存储过程实际上是在服务器 A 上执行的。

简而言之:如何将这些查询作为服务器 A 上存储过程的一部分进行跟踪,以优化在服务器 A 和 B 上执行的查询?