Je recommande l'utilisation d'un après déclencheur d'insertion pour cela, il y a quelques bons exemples à:
http://msdn.microsoft.com/en-us/library/ms189799.aspx
Si vous créez votre déclencheur sur les tables où les données est en train d'être inséré, il sera déclenché chaque fois qu'une insertion de n'importe quel terminal se produit. À l'intérieur du déclencheur, vous pouvez écrire les détails de l'insertion dans le fichier journal, en utilisant peut-être le conseil de pranay_stacker.
À titre d'exemple de quelque chose que je fouetté rapidement:
create TRIGGER dbo.productTrigger
on dbo.Product
after insert
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @data nvarchar(255);
DECLARE dataCursor CURSOR FAST_FORWARD FOR
select ProductCode from inserted;
OPEN dataCursor
FETCH NEXT FROM dataCursor
INTO @data
WHILE @@FETCH_STATUS = 0 BEGIN
declare @cmd sysname;
set @cmd = 'echo ' + @data + ' >> c:\test\var_out2.txt';
exec master..xp_cmdshell @cmd, NO_OUTPUT;
FETCH NEXT FROM dataCursor
INTO @data
END
CLOSE dataCursor;
DEALLOCATE dataCursor;
END
Vous aurais bien sûr de modifier la base de données et les noms de tables, etc.
L'autre chose à garder à l'esprit est que vous devez activer xp_cmdshell que par défaut serveur SQL est-il commutée pour des raisons de sécurité, cela se fait via:
EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE
EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE
go
Et enfin, la dernière chose que je remarque est que quand j'ai eu l'écho de c: \ var_out2.txt, il me donnait un "Accès refusé" mais quand je l'ai changé en c: \ test \ var_out2.txt cela a bien fonctionné. Alors gardez cela à l'esprit aussi.
accepter ans si cela fonctionne –