标签: linked-server

由于当前安全上下文不受信任,对远程服务器的访问被拒绝

我有一个服务代理,它调用存储过程 sp_dequeue 队列 --> ACTIVATION ( STATUS = ON, MAX_QUEUE_READERS = 1, PROCEDURE_NAME = sp_dequeue, EXECUTE AS 'Username' ); 在我的 sp_dequeue 中,我将记录插入到链接服务器中...因此,当我从 magmnt studio 调用 sp_dequeue 时,它​​工作正常。但是,当通过服务代理自动调用它时,我收到此错误消息:“对远程服务器的访问被拒绝,因为当前安全上下文不受信任。”。

在我的链接服务器属性中,我检查了“使用此安全约束进行制作”并提供了oracle用户ID和密码,我还添加了到oracle服务器的“用户名”映射。(oracle/SQL的用户名和密码都不同)我用谷歌搜索了这个错误尝试了大部分组合。请帮助我解决这个问题。使用Sql server 2005和oracle 10g

sql-server-2005 linked-server service-broker

3
推荐指数
1
解决办法
8321
查看次数

链接服务器已创建,但连接测试失败

这是我第一次在SQL Server 2008中添加链接服务器。远程服务器是SQL Server 2005。

现在我指定了以下内容,

在此输入图像描述

在此输入图像描述

但我收到以下错误

SQL Server Network Interfaces: Connection string is not valid [87].  (Microsoft SQL Server, Error: 87)
Run Code Online (Sandbox Code Playgroud)

sql-server linked-server

3
推荐指数
1
解决办法
3万
查看次数

从SQL Server中的远程服务器检索数据!

有没有其他方法从SQL Server 2005中的远程服务器检索数据而不是使用链接服务器?

sql-server linked-server

2
推荐指数
1
解决办法
2684
查看次数

在sp_executesql中执行远程存储过程

我正在尝试在链接服务器上获取IDENT_CURRENT值。我已经在具有输出参数的远程服务器上创建了一个存储过程sp_current_identity。

CREATE  PROCEDURE [dbo].[sp_current_identity] ( @strTableName nvarchar(255), @intRowId int OUTPUT )
AS
BEGIN
select IDENT_CURRENT(@strTableName)
END
Run Code Online (Sandbox Code Playgroud)

之后,我创建了两个同义词:sp_current_identity和sometable。

我需要使用sp_executesql执行sp_current_identity(我正在创建一个自定义DataAtapter,以通过LLBLGEN 3.1使用同义词)。请参见以下示例:

declare @p4 int
set @p4=NULL
exec sp_executesql N'SET XACT_ABORT ON; INSERT INTO [db].[dbo].[sometable] ([FieldName], [TableName], [UserField]) VALUES (@p1, @p3, @p4) ;
exec dbo.sp_current_identity @p5, @p2 
;SET XACT_ABORT OFF',N'@p1 varchar(50),@p2 int output,@p3 varchar(50),@p4 varchar(50), @p5 varchar(200)',
@p1='test24',@p2=@p4 output,@p3='test24',@p4='test5',@p5='sometable'
select @p4
Run Code Online (Sandbox Code Playgroud)

在远程服务器上执行此代码(sp_current_identity是本地存储过程)时,它可以正常工作,但是在本地服务器上执行该代码时,它将导致异常。这是错误:

过程或函数“ sp_current_identity”需要未提供的参数“ @strTableName”。

谢谢你的帮助!

sql-server stored-procedures linked-server remote-server

2
推荐指数
1
解决办法
1万
查看次数

从MS SQL服务器更新MySql

我需要帮助编写将从SQL服务器更新MySql表的查询.我创建了链接服务器和选择查询工作正常但我在更新时遇到错误.我真的很想写这种类型的查询,所以请帮助我理解错误信息及其含义.

我的更新查询:

UPDATE openquery(stagedb_za, 'Select acm_flag FROM aol_center WHERE nid = 6439')
Set acm_flag = 'P' 
Run Code Online (Sandbox Code Playgroud)

错误:

用于链接服务器"stagedb_za"的OLE DB提供程序"MSDASQL"返回消息"无法找到行以进行更新.某些值自上次读取后可能已更改.".消息7343,级别16,状态4,行1链接服务器的OLE DB提供程序"MSDASQL"无法更新表"[MSDASQL]".行集使用了乐观并发,并且在上次提取或重新同步包含行之后,列的值已更改.

mysql linked-server openquery sql-server-2008

2
推荐指数
2
解决办法
5512
查看次数

用于获取链接服务器状态的存储过程

我正在尝试创建一个存储过程来获取链接服务器的状态,以防止在尝试执行任何操作时出错.我在网上看到了一些例子,但我没有取得任何成功.

这是我的代码:

ALTER PROCEDURE [dbo].[checkLinkedServer] 
    @servername ntext
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @retval int = 0;
    BEGIN TRY
        EXEC @retval = sys.sp_testlinkedserver @servername;
        SELECT 1;
    END TRY
    BEGIN CATCH
        SELECT 0;
    END CATCH;      
END
Run Code Online (Sandbox Code Playgroud)

我总是得到0的返回值 - 无论链接服务器是否存在.

我在这里做错了什么想法?

t-sql sql-server stored-procedures linked-server

2
推荐指数
1
解决办法
6586
查看次数

如何使用SQL Server备份链接的服务器?

我想备份/还原分布在某些链接服务器中的数据,这些链接服务器在中央服务器中连接或链接。我怎样才能做到这一点?

我在所有节点上都使用SQL Server 2012。

sql-server linked-server database-restore database-backups

2
推荐指数
1
解决办法
9867
查看次数

可以为链接服务器调用的每个查询设置SQL Server远程查询超时?

对于链接服务器,我看到如何更改"远程查询超时"配置以暗示对链接服务器的调用应该在特定超时值内完成或回滚.这似乎适用于SQL Server引擎 - 是否可以更改存储过程中的提示,以便特定存储过程可以在需要时运行更长时间,但如果它们运行时所有其他非提示的SPROC会更快地超时?

链接查询超时在此处讨论:http: //support.microsoft.com/kb/314530

在3秒内将其设置为超时的示例代码如下:

sp_configure 'remote query timeout', 3       
go 
reconfigure with override 
go
Run Code Online (Sandbox Code Playgroud)

sql-server linked-server

2
推荐指数
1
解决办法
8952
查看次数

SELECT*FROM链接的MySQL服务器

我有一个SQL Server 2012.(120.120.55.15)

今天我将MySQL服务器(120.120.55.30)链接到我的SQLServer,并给它命名为"MYSQL".

在对象浏览器中一切似乎都很好 我可以看到MySQL服务器的数据库" exampleDataBase "和其中的表.

但是当我尝试像这样运行select查询时:

SELECT * 
FROM   openquery
        (
        MYSQL, 
        '
         SELECT * 
         FROM [exampleDataBase].[msProcMatrix]
        '
        )
Run Code Online (Sandbox Code Playgroud)

我弄错了:

消息7399,级别16,状态1,行1链接服务器"MYSQL"的OLE DB提供程序"MSDASQL"报告错误.提供商未提供有关错误的任何信息.消息7350,级别16,状态2,行1无法从OLE DB提供程序"MSDASQL"获取链接服务器"MYSQL"的列信息.

使用我的链接MySQL服务器还需要做些什么?

mysql sql sql-server linked-server ssms-2012

2
推荐指数
1
解决办法
4万
查看次数

命名管道提供程序无法打开与SQL Server 1231的连接

我正在尝试设置链接服务器并遇到问题.

在目标服务器上,我配置了一个用户,假设是Q.无论用户在源服务器上登录了什么用户,我都设置了源服务器以连接Q的登录凭据.

但是,当我尝试连接时,我收到错误

"命名管道提供程序:无法打开与SQL Server的连接[1231]."

我尝试在服务器配置管理器中启用和禁用命名管道,但无济于事.

我也看到一些事情说这是一个安全问题.问题是,我可以使用SQL管理工作室中的Q凭据从Target连接到Source.

这里有什么愚蠢的东西吗?

sql sql-server linked-server named-pipes sql-server-2008

2
推荐指数
1
解决办法
1万
查看次数