这可能是与DBA相关的,也可能与开发人员有关,老实说,我不知道。
我有两个数据库服务器:
A: SQL Server 2005 (Trigger that uses DBMail on Server B)
B: SQL Server 2008 R2 (DBMail configured)
我在服务器A中有一个表,其中电子邮件通知排队,我创建了一个“后插入”触发器来使用服务器B执行sp_send_dbmail,如下所示。
USE SampleDB
ALTER TRIGGER [dbo].[mail_inserted]
ON [dbo].[tblEmailQueue]
AFTER I
我在MSSQL中有一个链接的Oracle服务器,我正在尝试将查询结果返回到临时表中。查询超过8,000个字符,所以我不能使用我通常使用的OPENQUERY()。我可以运行下面的代码,并看到结果,因为RPC是启用的。
/*
Declare query variable, since query is more than 8,000 characters
*/
DECLARE @myQuery VARCHAR(MAX)
/*
Set query
*/
SET @myQuery = 'Query text here'
EXECUTE (@myQuery) AT ServerNam
一家公司拥有一个MicrosoftSQLServer2017企业集群(RTM,64位,14.0.2027.2,KB4505224),由一个可用性组(AG)组成,其中包含两个服务器,一个主服务器和一个辅助服务器。
该公司使用的封闭源代码应用程序似乎可以正常工作,但有一项功能除外。当使用此功能时,可以在其日志文件中找到以下错误:
Cannot use SAVE TRANSACTION within a distributed transaction
根据一个不相关的网站,一种可能的解决办法是通过以下方式禁用分布式事务:
ALTER AVAILABILITY GROUP MyaAG
SET (
我已经创建了几个自定义活动来更新我的DB中的表(在本例中是SQLServerCompact),使用实体框架4和POCOs。
如果我在WF4 TransactionScope活动中放置了多个数据库,就会遇到问题: EF在第一个活动完成后处理DB连接,当下一个DB活动尝试执行DB更新时,就会建立一个新的连接。此时抛出一个异常。
System.Activities.WorkflowApplicationAbortedException : The workflow has been aborted.
----> System.Data.EntityException : The underl
我需要从MS SQL服务器通过ODBC向Oracle服务器提交一系列查询,并将结果作为表存储在MS SQL服务器上。
它必须是直通,因为查询需要在Oracle服务器上定义的服务器端函数。我不能将表保存在Oracle服务器上,然后通过ODBC访问它,因为Oracle上运行的数据库的供应商有许可限制。
下面是返回正确结果的代码,但我不知道如何保存它们:
DECLARE @BibID AS bigint
DECLARE BibList CURSOR FOR
SELECT BIB_ID FROM tblActiveSerialsThatHave740s
OPEN BibList
FET
我设想以下WCF服务用法:(现金接受者)
Service Consumer 1 Service Consumer 2
cashAcceptorService.BeginTransaction(); cashAcceptorService.StopDevice();
//this should throw exception: device is locked / used in a transaction
这里发生了一些非常奇怪的事情。
我只是在我正在调试的一些遗留代码周围添加了一个事务作用域,以确保我正在进行的摆弄不会被提交。
这起作用了两次,然后说:
"The transaction manager has disabled its support for remote/network transactions."
在工作/非工作状态之间没有任何代码更改或重建(字面意思是连续3个F5s的web应用程序)。这是连接到remove DB服务器的本地代码。
因此,在不同的项目中完全独立的代码会超时。如果我从这段代码中删除transactionScopes,它运行得很好,但是有了它们
我正在寻找一步一步的步骤,如何建立一个分布式可用组与手动播种。我可以让自动播种工作,但当我尝试手动种子时,我不能将二级数据库进入转发器上的AG。
如果在尝试将数据库添加到常规AG之前将分布式AG添加到辅助服务器,则会得到以下消息:
Msg 41190, Level 16, State 7, Line 22
Availability group 'MYDB' failed to process add-database command. The local availability replica is not in a state that could process the
Java 中,原生 JDBC 执行 TDSQL 批量更新的时候,proxy 报错,报错内容理解为:in a non XA transaction,this sql use a different set。
官网 TDSQL 文档中,我看到 update 语句允许跨 set 更新的,update 语句 where 条件加上了 shardkey 的条件了。
求问,有人知道该如何操作嘛?
我有一个Server 2012实例,其中有一个链接服务器,它使用驱动程序指向Iseries系统上的db2数据库。
我正在尝试启用分布式事务。我相信这个提供者确实支持他们按照IBM文档 (除非我误解了那个链接)。
我正在运行以下查询:
BEGIN TRANSACTION
UPDATE LINKEDSERVER.LINKEDDATABASE.SCHEMANAME.TABLENAME SET COLUMN = VALUE
SELECT CAST('qwerty' as integer) -- we want an error here so the transact
你可以读到:
隐式取消默认绑定。使连接在事务结束时脱离事务。分离后,对连接的附加请求将以自动提交模式执行。当事务处于活动状态时,在执行请求时不检查当前属性。事务结束后,将在自动提交模式下执行其他请求。
我的所有连接都使用默认的隐式取消绑定。
我在创建TransactionScope实例之后打开连接,所以所有打开的连接都是同一个事务的一部分。到目前一切尚好。当我在调用transactionScope.Complete()和transactionScope.Dispose()方法之后尝试使用其中一个连接时,问题出现了,我得到了以下异常:
An unhandled exception of
我有一个SQL Server 2008 RDS实例,我在本地计算机SQL server 2014上创建了一个链接服务器(AWSMSSQL)。
现在,我从本地计算机数据库表中创建了insert、update和delete触发器
USE [test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[ms_test] ON [dbo].[localservertable]
FOR INSERT, UPDATE, DELETE
AS
BEGIN
declare @iddata int;