effectuer un trigger qui ecrit sur une table d'un autre serveur

Le
Azdine
Bonjour,

je voudrais faire un trigger qui lorqu'il est déclanger sur le serveur A
lance une insertion dans une table du serveur B mes deux Serveurs sont des
serveurs SQL Server 2005 sur le même réseau.

J'ai mis en place mon lien entre mes Deux Serveur par sp_addlinkServeur et
j'arrive bien à lancer un insert manuel mes dès que je veux faire la même
chose dans un trigger j'obtiens systèmatiquement la même erreur :

OLE DB provider "SQLNCLI" for linked server "W2003SP1_Delph" returned
message "The transaction manager has disabled its support for remote/network
transactions.".
Msg 7391, Level 16, State 2, Procedure trgTest, Line 15
The operation could not be performed because OLE DB provider "SQLNCLI" for
linked server "W2003SP1_Delph" was unable to begin a distributed transaction.

J'ai pourtant bien mis les droits complets su MSDTC tel que décrit dans le
KB873160 (support.microsoft.com/?kbid‡3160). J'ai même tenté d'ouvrir le
port 135 de mon Firewall et d'autoriser l'accés à msdtc. D'ailleurs cela ne
semble pas venir de la car un dtcping entre les 2 serveur fonctionne.

Quelqu'un a-t-il une solution?
Est-ce que ce que je veux faire et possible en SQL Serveur 2005?

Merci,

Azdine
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11841161
Azdine a écrit :
Bonjour,

je voudrais faire un trigger qui lorqu'il est déclanger sur le serveur A
lance une insertion dans une table du serveur B mes deux Serveurs sont des
serveurs SQL Server 2005 sur le même réseau.

J'ai mis en place mon lien entre mes Deux Serveur par sp_addlinkServeur et
j'arrive bien à lancer un insert manuel mes dès que je veux faire la même
chose dans un trigger j'obtiens systèmatiquement la même erreur :

OLE DB provider "SQLNCLI" for linked server "W2003SP1_Delph" returned
message "The transaction manager has disabled its support for remote/network
transactions.".
Msg 7391, Level 16, State 2, Procedure trgTest, Line 15
The operation could not be performed because OLE DB provider "SQLNCLI" for
linked server "W2003SP1_Delph" was unable to begin a distributed transaction.

J'ai pourtant bien mis les droits complets su MSDTC tel que décrit dans le
KB873160 (support.microsoft.com/?kbid‡3160). J'ai même tenté d'ouvrir le
port 135 de mon Firewall et d'autoriser l'accés à msdtc. D'ailleurs cela ne
semble pas venir de la car un dtcping entre les 2 serveur fonctionne.

Quelqu'un a-t-il une solution?



Il faut que vous commençiez votre transaction par un
BEGIN DISTRIBUTED TRANSACTION

A +

Est-ce que ce que je veux faire et possible en SQL Serveur 2005?

Merci,

Azdine







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Azdine
Le #11841141
Bonjour,

j'ai vu cela aprés avoir poster mon message mais malgrés le BEGIN
DISTRIBUTED TRANSACTION j'ai toujours la même erreur. Ce que je trouve le
plus étrange c'est que les mêmes manipulations fonctionnent entre 2 Serveur
SQL 2000, avez-vous déjà fait fonctionné ce principe entre 2 Serveurs SQL
2005 ?


"Fred BROUARD" wrote:

Azdine a écrit :
> Bonjour,
>
> je voudrais faire un trigger qui lorqu'il est déclanger sur le serveur A
> lance une insertion dans une table du serveur B mes deux Serveurs sont des
> serveurs SQL Server 2005 sur le même réseau.
>
> J'ai mis en place mon lien entre mes Deux Serveur par sp_addlinkServeur et
> j'arrive bien à lancer un insert manuel mes dès que je veux faire la même
> chose dans un trigger j'obtiens systèmatiquement la même erreur :
>
> OLE DB provider "SQLNCLI" for linked server "W2003SP1_Delph" returned
> message "The transaction manager has disabled its support for remote/network
> transactions.".
> Msg 7391, Level 16, State 2, Procedure trgTest, Line 15
> The operation could not be performed because OLE DB provider "SQLNCLI" for
> linked server "W2003SP1_Delph" was unable to begin a distributed transaction.
>
> J'ai pourtant bien mis les droits complets su MSDTC tel que décrit dans le
> KB873160 (support.microsoft.com/?kbid‡3160). J'ai même tenté d'ouvrir le
> port 135 de mon Firewall et d'autoriser l'accés à msdtc. D'ailleurs cela ne
> semble pas venir de la car un dtcping entre les 2 serveur fonctionne.
>
> Quelqu'un a-t-il une solution?

Il faut que vous commençiez votre transaction par un
BEGIN DISTRIBUTED TRANSACTION

A +

> Est-ce que ce que je veux faire et possible en SQL Serveur 2005?
>
> Merci,
>
> Azdine
>
>
>


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Fred BROUARD
Le #11841011
Azdine a écrit :
Bonjour,

j'ai vu cela aprés avoir poster mon message mais malgrés le BEGIN
DISTRIBUTED TRANSACTION j'ai toujours la même erreur. Ce que je trouve le
plus étrange c'est que les mêmes manipulations fonctionnent entre 2 Serveur
SQL 2000, avez-vous déjà fait fonctionné ce principe entre 2 Serveurs SQL
2005 ?



oui, vérifiez les pramaètres de périmètre de sécurité des serveurs dans
le surface area configurator...

A +


"Fred BROUARD" wrote:

Azdine a écrit :
Bonjour,

je voudrais faire un trigger qui lorqu'il est déclanger sur le serveur A
lance une insertion dans une table du serveur B mes deux Serveurs sont des
serveurs SQL Server 2005 sur le même réseau.

J'ai mis en place mon lien entre mes Deux Serveur par sp_addlinkServeur et
j'arrive bien à lancer un insert manuel mes dès que je veux faire la même
chose dans un trigger j'obtiens systèmatiquement la même erreur :

OLE DB provider "SQLNCLI" for linked server "W2003SP1_Delph" returned
message "The transaction manager has disabled its support for remote/network
transactions.".
Msg 7391, Level 16, State 2, Procedure trgTest, Line 15
The operation could not be performed because OLE DB provider "SQLNCLI" for
linked server "W2003SP1_Delph" was unable to begin a distributed transaction.

J'ai pourtant bien mis les droits complets su MSDTC tel que décrit dans le
KB873160 (support.microsoft.com/?kbid‡3160). J'ai même tenté d'ouvrir le
port 135 de mon Firewall et d'autoriser l'accés à msdtc. D'ailleurs cela ne
semble pas venir de la car un dtcping entre les 2 serveur fonctionne.

Quelqu'un a-t-il une solution?


Il faut que vous commençiez votre transaction par un
BEGIN DISTRIBUTED TRANSACTION

A +

Est-ce que ce que je veux faire et possible en SQL Serveur 2005?

Merci,

Azdine






--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Publicité
Poster une réponse
Anonyme