问题标签 [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.
sql-server - 使用 SQL Server 2005 通过 LDAP 访问 Active Directory 角色成员资格
我想获取 Active Directory 用户列表以及他们是使用 SQL Server 2005 链接服务器的成员的安全组。我有查询来检索记录,但我不确定如何访问 memberOf 属性(它是一个多值 LDAP 属性)。
我有这个临时存储信息:
每个组/用户关联应该是一行。
这是我的 SELECT 语句:
我收到此错误消息:
OLE DB 错误跟踪 [OLE/DB 提供程序 'ADSDSOObject' IRowset::GetData 返回 0x40eda:从提供程序返回的数据状态:[COLUMN_NAME=memberOf STATUS=DBSTATUS_E_CANTCONVERTVALUE]、[COLUMN_NAME=sAMAccountName STATUS=DBSTATUS_S_OK]]。消息 7346,级别 16,状态 2,第 2 行无法从 OLE DB 提供程序“ADSDSOObject”获取行的数据。由于符号不匹配或溢出以外的原因,无法转换数据值。
sql-server - SQL Server 中的链接服务器?
是否可以在链接服务器中创建数据库?如果是,那么如何。
我感谢您的帮助。谢谢你。
sql - 数据库间查询的性能(链接服务器之间)
我在 2 个链接服务器之间进行了导入。我基本上必须从多重连接中获取数据到我这边的表中。
当前查询是这样的:
db1 = 链接服务器
db2 = 我自己的数据库
在此之后,我使用 insert into + select 将此数据添加到位于 db2 中的表中。(通常几百条记录 - 此导入每分钟运行一次)
我的问题与性能有关。链接服务器上的表(tbl1、tbl2、tbl3、tbl4)是巨大的表,有数百万条记录,它正在减慢导入过程。有人告诉我,如果我在“另一端”(db1 - 链接服务器)上进行连接,例如在存储过程中,即使查询看起来相同,它也会运行得更快。那正确吗?这有点难测试。请注意,连接也包含我数据库中的一个表。
还。我可以使用其他“技巧”来加快运行速度吗?谢谢
sql - 链接服务器 SQLNCLI 问题。“没有交易处于活动状态”
我试图执行一个存储过程并将其结果简单地插入一个临时表中,我收到以下消息:
无法执行该操作,因为链接服务器“MyServerName”的 OLE DB 提供程序“SQLNCLI”无法开始分布式事务。链接服务器“MyServerName”的 OLE DB 提供程序“SQLNCLI”返回消息“没有处于活动状态的事务。”。
我的查询如下所示:
确切的列号,名称,问题不是结果。
两台计算机都允许并启动 MSDTC,远程过程调用也是如此。
这些机器不在同一个域中,但我可以从我的机器执行远程查询并获得结果。我什至可以执行存储过程并查看其结果,只是无法将其插入另一个表中。
编辑
哦,我忘了提,存储过程不会触发任何触发器。它只将记录插入到它自己创建的用于数据处理的临时表中。
linked-server - 如何为 OPENDATASOURCE 传递参数
我可以通过以下方式连接到链接服务器:
SELECT testNo, soruTuruId, soruNo, cevap , degerlendirenTcNo, degerlendirilenTcNo 从 OPENDATASOURCE('SQLOLEDB', 'Data Source=192.168.150.42;User ID=readerUser;Password=1').akreditasyon.dbo.tblPerfCevap
但我必须将密码作为参数传递。我尝试这样:
SET @connectionString = '数据源=192.168.150.42;用户ID=readerUser;密码='+@pw
从 OPENDATASOURCE('SQLOLEDB', @connectionString ).akreditasyon.dbo.tblPerfCevap 中选择 testNo, soruTuruId, soruNo, cevap, degerlendirenTcNo, degerlendirilenTcNo
和
SELECT testNo, soruTuruId, soruNo, cevap , degerlendirenTcNo, degerlendirilenTcNo 从 OPENDATASOURCE('SQLOLEDB', 'Data Source=192.168.150.42;User ID=readerUser;Password='+@pw).akreditasyon.dbo.tblPerfCevap
但没用:S
有人有想法吗?
sql-server - 在不使用 SQL 身份验证的情况下将链接服务器设置到不在域中的另一台服务器?
服务器 A (SQL2005) 在我们的主域中,但服务器 B (SQL2000) 只是在 Windows 工作组中。我们不允许将其加入域,否则会发生坏事......
我们也无法在服务器 B 上启用 SQL 身份验证。
我们有 A 的域帐户,以及服务器 B 上的匹配本地帐户。
我可以使用 SSMS 和域登录从本地 PC 或 A 连接到 B,但我无法连接链接服务器。
任何想法如何做到这一点?
sql - 如何使用链接服务器内部事务插入远程表?
我的链接服务器设置正确,我可以执行以下查询。
插入 [RemoteServer].[Table] SELECT * FROM [LocalServer].[Table]
但是,当我在事务中做同样的事情时
BEGIN TRAN INSERT INTO [RemoteServer].[Table] SELECT * FROM [LocalServer].[Table] COMMIT TRAN
我得到像这样的错误
链接服务器“66.70.123.202”的 OLE DB 提供程序“SQLNCLI”返回消息“没有事务处于活动状态。”。消息 7391,级别 16,状态 2,行 3 由于链接服务器“66.70.123.202”的 OLE DB 提供程序“SQLNCLI”无法开始分布式事务,因此无法执行操作。
linked-server - 数据层项目和链接服务器
我正在尝试使用涉及链接服务器的数据层应用程序并遇到一个奇怪的问题。
这是我所拥有的:
1) 一个包含数据层项目的 VS2010 解决方案。
2) Data-Tier 项目以 SQL 2008 R2 服务器为目标。
3) SQL 服务器有一个到 Oracle 数据库的有效链接服务器连接。
4) Data-Tier 项目中的视图使用 OPENQUERY 引用链接服务器
链接的服务器连接是有效的,在服务器上对其运行查询可以正常工作,并且直接在服务器上创建视图也可以正常工作。
但是,每当我尝试构建我的 Data-Tier 应用程序时,我都会收到以下错误:
tsql - SQL Server 中的 openquery 问题
我正在使用 SQL Server 2008(让我们在这个问题讨论中调用这个源数据库服务器),并且在 SSMS 中,我创建了一个链接到另一个 SQL Server 2008 数据库的服务器(让我们在这个问题讨论中调用这个目标数据库服务器)。
当我发出语句 --select * from [linked server name].[database name].[dbo].[table name] 时,将返回错误,
当我发出语句 -- select * from openquery([linked server name],'select * from [table name]') 时,不会有错误,任何想法有什么问题吗?
提前谢谢,乔治
sql-server-2008 - SQL Server 2000 中的 sp_addlinkedserver 问题
从一台运行 SQL Server 2000 (A) 的服务器和另一台运行 SQL Server 2008 (B) 的服务器移动特定数据时,我遇到了一些问题。我正在根据客户规范编写一个脚本,该脚本将在 A 上执行,用数据填充 B 中的表。但是,我似乎无法使服务器链接正常工作。
现在,如果我完整地运行脚本,我会收到一条错误消息:
消息 7202,级别 11,状态 2,第 55 行在 sysservers 中找不到服务器“remoteServer”。执行 sp_addlinkedserver 将服务器添加到 sysservers。
但是,如果我只突出显示sp_addlinkedserver
部分并执行该部分,则没有错误,我可以突出显示脚本的其余部分并运行它。我在这里想念什么?
请帮忙!
PS。如果备份-恢复是一个选项,我早就这样做了。