ورود

View Full Version : Transaction , link server



mta_va
چهارشنبه 06 مرداد 1389, 07:56 صبح
سلام خسته نباشید
2 سوال دارم:
1-اگر با لینک سرور ارتباطی از یک سرور به سرور دیگه برقرار کنیم و در پروسیجر از Transaction استفاده کنیم زمانی که پروسیجر درحال اجرا شدن است و اگر ارتباط با سرور مقصد قطع بشه آیا Transaction می تونه عملیات را برگزداند یا Rollback بکنه؟؟؟ می وام جلوی ثبت شدن ناقص اطلاعات را بگیرم اگر یک زمانی وسط کار رتباط سرور ها قطع شد
2-من این خطا دارم زمانی که در پروسیجر از Transaction استفاده می کنم :
errmsg: Import of Microsoft Distributed Transaction Coordinator (MS DTC) transaction failed: 0x8004d00e(XACT_E_NOTRANSACTION).



errornum:8509

،می دونید مشکل از کجاست؟

اگر راهنماییم کنید خیلی ممنون میشم

mta_va
چهارشنبه 06 مرداد 1389, 10:59 صبح
یه سوال دیگه :
errmsg: The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "Hamyar" was unable to begin a distributed transaction.
7391

این خطا هم نتیجه ی در Transaction بودنه!!!!!
هیچ کس برای این مشکلات راه حلی نداره؟

sia_2007
چهارشنبه 06 مرداد 1389, 12:59 عصر
این جور تراکنشها رو تو برنامه Net. انجام بدی سنگین تره

mta_va
چهارشنبه 06 مرداد 1389, 13:25 عصر
یعنی چی؟
پروسیجر ها تراکنش دارند مثل:


set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[test_Insert]
@CompanyID int
AS
BEGIN

set xact_abort on

begin distributed transaction t1
Declare @lnkName nvarchar(50),@DBName nvarchar(50),@lnkStr nvarchar(200)

select @lnkName=LinkName ,@DBName=DBName from Company where (CompanyID=@CompanyID)
set @lnkStr=@lnkName+'.'+@DBName+'.dbo.[test_Insert]'
exec @lnkStr '',N'تست',''

commit tran t1

select XACT_STATE()
IF XACT_STATE() < 0
begin
ROLLBACK TRANSACTION
select 'errno: ' + ltrim(str(error_number()))
select 'errmsg: ' + error_message()
end
--end catch
end

mta_va
چهارشنبه 06 مرداد 1389, 18:27 عصر
firewall دو تاسرور offو تنظیماتmsdtc هم انجام شده،
چه قسمتی مشکل داره؟