SQLServer2005觸發(fā)器提示其他會(huì)話正在使用事務(wù)的上下文的解決方法
MSDN上看了一下說是sql server 2005不支持在分布式事務(wù)處理中存在指向本地的鏈接服務(wù)器(環(huán)回鏈接服務(wù)器)
個(gè)人嘗試了下是由于在雙向的sql server訪問中采用了鏈?zhǔn)椒绞皆L問(LinkedServer方式),遇到這種情況只需要將原來訪問對方數(shù)據(jù)庫的語句:
select * from linkedServerA.dbo.table1
修改為:
select * from dbo.table1
即可。
觸發(fā)器代碼如下:
create trigger tgr_dressNotice_insert
on dress_notice_config
---with encrypion –--加密觸發(fā)器
after insert ----update級別trigger
as
begin
--as raisError('tgr_dressNotice_insert觸發(fā)器被觸發(fā)', 16, 10);
/* 定義變量 */
declare @sDBServer char(20) /*用于存放目的數(shù)據(jù)庫*/
declare @sSql varchar(600)
declare @server varchar(100)
declare @oadb varchar(100)
select @oadb=db_server from dic_organ where valid='1' and rank in('A','B') and organ_id='000000'
set @server=rtrim(@oadb) + '.dbo.spoa_exec_string'
/*define cursor*/
declare db_cursor cursor for
select db_server from dic_organ where valid='1' and rank in('A','B') and organ_id<>'000000'
/*open cursor*/
OPEN db_cursor
FETCH NEXT FROM db_cursor
INTO @sDBServer
while(@@Fetch_status = 0)
begin
/*將數(shù)據(jù)同步更新到各個(gè)分局的數(shù)據(jù)庫中*/
set @sSql='delete from ' + RTRIM(@sDBServer) + '.dbo.dress_notice_config'
print @sSql
exec @server @sSql
set @sSql='insert into ' + RTRIM(@sDBServer) + '.dbo.dress_notice_config select * from dress_notice_config'
print @sSql
exec @server @sSql
FETCH NEXT from db_cursor
into @sDBServer
end
--最后關(guān)閉游標(biāo)
close db_cursor
deallocate db_cursor
end
go
相關(guān)文章
sql server中批量插入與更新兩種解決方案分享(存儲過程)
對于sql 來說操作集合類型(一行一行)是比較麻煩的一件事,而一般業(yè)務(wù)邏輯復(fù)雜的系統(tǒng)或項(xiàng)目都會(huì)涉及到集合遍歷的問題,通常一些人就想到用游標(biāo),這里我列出了兩種方案,供大家參考2012-05-05
sqlserver 存儲過程動(dòng)態(tài)參數(shù)調(diào)用實(shí)現(xiàn)代碼
sqlserver 存儲過程動(dòng)態(tài)參數(shù)調(diào)用實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-10-10
SQLServer 獲得用戶最新或前n條訂單的幾種SQL語句小結(jié)
場景:有一張用戶表,一個(gè)訂單表,要求獲得一個(gè)用戶對應(yīng)的最新的一條訂單信息。2011-08-08
SQL?Server索引查找/掃描沒有出現(xiàn)key?lookup的案例機(jī)械
對一個(gè)有聚簇索引的表來說是一個(gè)鍵查找(key lookup),對一個(gè)堆表來說是一個(gè)RID查找(RID lookup),這種查找即是——書簽查找(bookmark lookup),這篇文章主要介紹了SQL?Server索引查找/掃描沒有出現(xiàn)key?lookup的案例淺析,需要的朋友可以參考下2024-03-03
SQL Server 2000“設(shè)備激活錯(cuò)誤”的解決方法
數(shù)據(jù)庫恢復(fù)時(shí)出現(xiàn)諸如“設(shè)備激活錯(cuò)誤,請使用with move選項(xiàng)來標(biāo)志該文件的有效位置”報(bào)錯(cuò)的解決方法2013-11-11
SqlServer提示“列前綴tempdb.無效: 未指定表名”問題解決方案
這篇文章主要介紹了SqlServer提示“列前綴tempdb.無效: 未指定表名”問題解決方案,需要的朋友可以參考下2014-08-08
ODBC連接數(shù)據(jù)庫以SQLserver為例圖文詳解
開放數(shù)據(jù)庫互連(ODBC)是微軟提出的數(shù)據(jù)庫訪問接口標(biāo)準(zhǔn),開放數(shù)據(jù)庫互連定義了訪問數(shù)據(jù)庫的API一個(gè)規(guī)范,這些API獨(dú)立于不同廠商的DBMS,也獨(dú)立于具體的編程語言,下面這篇文章主要給大家介紹了關(guān)于ODBC連接數(shù)據(jù)庫以SQLserver為例的相關(guān)資料,需要的朋友可以參考下2023-05-05
SQL Server Alwayson添加監(jiān)聽器失敗的解決方法
這篇文章主要為大家詳細(xì)介紹了SQL Server Alwayson添加監(jiān)聽器失敗的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
sqlSQL數(shù)據(jù)庫怎么批量為存儲過程/函數(shù)授權(quán)呢?
在工作當(dāng)中遇到一個(gè)類似這樣的問題:要對數(shù)據(jù)庫賬戶的權(quán)限進(jìn)行清理、設(shè)置,其中有一個(gè)用戶Test,只能擁有數(shù)據(jù)庫MyAssistant的DML(更新、插入、刪除等)操作權(quán)限,另外擁有執(zhí)行數(shù)據(jù)庫存儲過程、函數(shù)的權(quán)限,但是不能進(jìn)行DDL操作(包括新建、修改表、存儲過程等...),于是需要設(shè)置登錄名Test的相關(guān)權(quán)限2013-08-08

