Verbindungsserver Fehler mit MSDTC

Zeige ich Ein Beispiel der Gespeicherten Prozedur Für die Daten der Transaktion mit "Linked Server" Zwischen-Zwei-System Über das Internet

Alter Proc [dbo].[usp_Select_TransferingDatasFromServerCheckingforExample]

@RserverName varchar(100), ----- Server Name  
@RUserid Varchar(100),           ----- server user id
@RPass Varchar(100),              ----- Server Password 
@DbName varchar(100)           ----- Server database    

As
Set nocount on
Set Xact_abort on
Declare @user varchar(100)
Declare @userID varchar(100)
Declare @Db Varchar(100)
Declare @Lserver varchar(100)
Select @Lserver = @@servername
Select @userID = suser_name()
select @User=user
Exec('if exists(Select 1 From [Master].[' + @user + '].[sysservers] where srvname = ''' + @RserverName + ''') begin Exec sp_droplinkedsrvlogin ''' +  @RserverName + ''',''' + @userID + ''' exec sp_dropserver ''' + @RserverName + ''' end ')


set @RserverName='['+@RserverName+']'
declare @ColumnList varchar(max)
set @ColumnList = null
select  @ColumnList = case when @ColumnList is not null then @ColumnList + ',' + quotename(name) else quotename(name) end  from syscolumns where id = object_id('bditm') order by colid
set identity_insert Bditm on
exec ('Insert Into Bditm ('+ @ColumnList +') Select * From '+ @RserverName + '.'+ @DbName + '.'+ @user + '.Bditm')
set identity_insert Bditm off

set @RserverName=replace(replace(@RserverName,'[',''),']','')

Exec sp_droplinkedsrvlogin  @RserverName,@userID
Exec sp_dropserver @RserverName

Wenn ich die Gespeicherte Prozedur auszuführen Bekomme ich die verschiedenen Fehler in den unterschiedlichen Zeitpunkt der Ausführung

Einiger Zeit Zeigt diesen Fehler

"The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ServerName" was unable to begin a distributed transaction."

Anderen Zeigt Diese Art von Fehler

OLE DB provider "SQLNCLI" for linked server "70.38.11.49" returned message "Protocol error in TDS stream".
OLE DB provider "SQLNCLI" for linked server "70.38.11.49" returned message "Communication link failure".
Msg 65535, Level 16, State 1, Line 0
Session Provider: Physical connection is not usable [xFFFFFFFF]. 
OLE DB provider "SQLNCLI" for linked server "70.38.11.49" returned message "Communication link failure".
Msg 65535, Level 16, State 1, Line 0
Session Provider: Physical connection is not usable [xFFFFFFFF]. 
OLE DB provider "SQLNCLI" for linked server "70.38.11.49" returned message "Communication link failure".
Msg 10054, Level 16, State 1, Line 0
TCP Provider: An existing connection was forcibly closed by the remote host.

Ich bin Mit Windows Xp Und SQL Server 2005 Client-Seite Sowie Windows server 2003 und Sql server 2005 In der Net-Server

Ich die MSDTC-in Beiden System

Wie Kann ich Dieses Problem Lösen (Und auch die Richtigen Informationen Für Die Einstellung der MSDTC in Windows XP Und Windows server 2003)

Dein code scheint nur fallen die verknüpfte server-Anmeldung und Verbindungsserver. Wo werden diese erstellt? Normalerweise würden Sie diese einrichten, einmal außerhalb der stored proc code...

InformationsquelleAutor Shimjith | 2009-01-10

Schreibe einen Kommentar