问题标签 [msdtc]
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.
.net - Active Directory 事务感知吗?
简单的问题,但我在任何地方都找不到答案:Active Directory 事务感知吗?
换句话说,是否会回滚以下更改(因为我没有调用scope.Complete()
):
如果没有,是否有可能以某种方式启用它?现在我有执行数据库更新和相应的 AD 更新的代码,如果 AD 更新以某种方式失败,我有补偿逻辑。该解决方案远非最佳。
亲切的问候,罗纳德·维尔登伯格
sql-server - MSDTC 的问题 - 远程事务
我们正在将我们的 SQL Server 移动到它自己的机器上,但我在通过 MSDTC 获取事务时遇到问题。
这是 ASP.Net 为我生成的错误消息:
事务管理器已禁用对远程/网络事务的支持
我已经尝试在谷歌上搜索这个,但除了如何为 Windows 2003 解决这个问题的指南外,没有找到更多的东西。
谁能告诉我如何在 Windows 2008 上解决这个问题?(SqlServer + IIS 框都在运行 Win 2k8)。
谢谢!
tsql - 分离数据库/脱机失败
我目前正在分离生产服务器上的开发数据库。由于这是生产服务器,我不想重新启动 sql 服务。那是最坏的情况。
显然,我尝试通过 SSMS 将其分离。告诉我有一个活动连接,我断开了它。第二次分离时,它告诉我这是不可能的,因为它正在使用中。
我尝试了 EXEC sp_detach_db
'DB',但没有成功。
我尝试让数据库脱机。当我感到无聊并将其关闭时,它运行了大约 15 分钟。
无论如何,我尝试了一切......我确保使用 SSMS 分离数据库中的连接指示器杀死所有连接。
以下返回 0 个结果:
使用主 SELECT * FROM sys.sysprocesses WHERE dbid = DB_ID('DB')
以下内容现在运行了 18 分钟:
ALTER DATABASE DB SET OFFLINE WITH ROLLBACK IMMEDIATE
在所有这些过程中,我确实定期重新启动 SMSS,以确保 SSMS 不是通过隐形锁定某些东西的罪魁祸首。
没有办法暴力破解吗?数据库模式是我非常喜欢的东西,但数据是可消耗的。
希望有某种快速修复?:)
DBA 今晚将尝试重置该过程,但我想知道解决方法以防万一。
谢谢!
ps:我正在使用DTC ...所以也许这可以解释为什么我的数据库突然被锁定了?
编辑:
我现在正在执行以下操作,这会导致最后一部分无限执行。第一个查询甚至返回 0,所以我想杀死用户甚至都不重要。
使用 [主] 去
SELECT * FROM sys.sysprocesses WHERE dbid = DB_ID('Database')
去
声明 @return_value int
EXEC @return_value = [dbo].[usp_KillUsers] @p_DBName = '数据库'
选择“返回值”=@return_value
去
ALTER DATABASE Database SET OFFLINE WITH ROLLBACK IMMEDIATE
去
c# - 为什么我无法从远程公共事务队列接收消息?
我在 Windows Server 2008 上使用 C#,我想从同一域中另一台计算机上的公共事务队列接收消息。错误如下所示:
我试过 DTCPing,它在一个方向上成功但在另一个方向上失败了。以下是日志的相关部分:
有谁知道为什么这可能会失败?已为 MSDTC 打开 Windows 防火墙。很难找到有关 Windows 2008 和 MSMQ 的大量信息。
编辑:队列名称为 FormatName:DIRECT=OS:dev-msmq1\getmap 和 FormatName:DIRECT=OS:dev-msmq1\logevent。它们是公共的、事务性的队列,每个人都拥有查看/接收它们的权限。我的代码的相关部分如下:
谢谢
windows - 我从哪里获得 tracefmt.exe?以及如何读取我的 MSDTC 痕迹?
为了打开 MSDTC 跟踪,我遵循了 MS 的知识库文章。不幸的是,这很难理解,因为它没有假设读者有一个非常合理和明显的期望,特别是“我如何阅读这个二进制日志文件?” 我也从 MSDN阅读了这个页面,在那里我发现我无法读取日志文件,因为我缺少一些名为 的可执行文件tracefmt.exe
,而且我显然是唯一一个遇到这个问题的人。
因此我的问题是:为什么我没有 tracefmt.exe,我从哪里得到它?或者,直截了当:如何阅读我的 MSDTC 跟踪日志?
sql-server - 为什么 SQL Server 中的分布式事务不支持快照隔离
问题在标题中。我只是想了解为什么不支持此功能?
只是为了澄清这是 MS Sql Server 2005 / 2008。
wcf - 是否应该为预言机交易启用网络 DTC
我在 windows sever 2003 机器上托管了一个基于 WCF 的 Web 服务。数据库是 solaris 上的 Oracle 10G。Web 服务广泛使用 transactionscope,并在某些地方使用 ado.net 事务。大多数事务只涉及一种资源(多个 oracle 存储过程调用)。其中一些是两种资源(MSMQ 和 oracle 存储过程)。鉴于此,必须在 Windows 机器上启用网络 DTC。它已经启动了 MSDTC 服务。没有从 Web 服务客户端到 Web 服务的事务流。它似乎在没有启用网络 DTC 的情况下工作,但我想确定。
该平台是 .Net 2.0 SP1 + 3.0(用于 WCF)。Oracle驱动是ODP.Net v11.1.0.6
c# - 启用 MSDTC 的安全风险
默认情况下禁用 MSDTC(Windows 2003 - 更高版本),我希望为我正在开发的需要来自 .Net C# 的分布式事务的应用程序启用它。
我不相信启用它会出现任何安全问题,但是 SO 是否知道启用 DTC 的任何安全问题?
干杯
奥利
c# - 任何使用事务性 NTFS (TxF) 的真实企业级体验?
背景:
我知道有关 Transactional NTFS (TxF)的SO question和描述如何使用它的这篇文章,但我正在寻找具有大量blob 数据(例如文档和/或照片)需要以事务方式保存一次并多次读取。
- 我们预计每天会写入数万份文件,每小时读取数万份文件。
- 我们可以将索引存储在文件系统或 SQL Server 中,但必须能够将其扩展到多个盒子。
- 我们必须保留轻松备份和恢复数据以进行灾难恢复的能力。
问题:
- 任何使用事务性 NTFS (TxF) 的真实企业级体验?
相关问题:
- 任何人都尝试过使用 TxF 的分布式事务,其中同一个文件一次提交到两个镜像服务器?
- 有人尝试过使用文件系统和数据库进行分布式事务吗?
- 您可以分享任何性能问题/可靠性问题/性能数据吗?在交易成为问题之前,有没有人做过这种规模的事情?
编辑:为了更清楚,我研究了其他技术,包括 SQL Server 2008 的新 FILESTREAM 数据类型,但这个问题专门针对事务文件系统。
更多资源:
- 一篇关于 TxF 的 MSDN 杂志文章,名为“使用文件系统事务增强您的应用程序”。
- 一个名为“Transactional Vista: Kernel Transaction Manager and friends (TxF, TxR)”的网络广播。该视频引用了使用 2-5% 的 TxF 的开销,性能讨论大约在 25 分钟后开始。这是我发现的第一组硬数字。该视频很好地概述了它是如何在幕后工作的。大约在 34:30,演讲者描述了与这个问题非常相似的场景。
- 名为“Surendra Verma:Vista Transactional File System”的第 9 频道截屏视频。他在 35 分钟左右开始谈论表现。没有硬性数字。
- B# .NET 博客上的TxF 文章列表。
- 一个名为“Transactional NTFS”的第 9 频道截屏视频。
sql-server - 为什么 SSIS 运行时无法启动分布式事务?
在为 SQL Server 2008 创建 SSIS 包时,我遇到以下错误:
错误:由于错误 0x8004D01B“事务管理器不可用”,SSIS 运行时无法启动分布式事务。DTC 事务无法启动。这可能是因为 MSDTC 服务未运行。
我正在我的机器上本地创建和运行包,但数据库位于运行 Windows Server 2008 的服务器上,该服务器不在域中。
我已确保 DTC 服务在本地和服务器上都启动,并且添加了在 Windows Vista 防火墙中预定义的防火墙例外。
为什么 SSIS 运行时无法启动分布式事务?