[SQL] trigger fired niet correct

Pagina: 1
Acties:

  • Yannick
  • Registratie: December 2000
  • Laatst online: 17-07 17:03
Ik heb de volgende trigger in SQL Server 2000:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SET QUOTED_IDENTIFIER ON 
ALTER  TRIGGER
Guestbook_Cache 
ON 
Guestbook
  AFTER 
    INSERT,
    DELETE, 
    UPDATE 
AS 
BEGIN 
  EXEC fnInvalidateCache 'guestbook' 
END
GO

Nu wil het rare feit dat de stored proc niet wordt uitgevoerd (fnInvalidateCache) wanneer de trigger fired als een update heeft plaatsgevonden via MS Access of via een ASP.NET pagina.

Wanneer ik een update uitvoer via Enterprise manager of Query Analyser dan fired de stored proc (fnInvalidateCache) wel.

Ik ben het spoor een beetje bijster, temeer omdat bovenstaand verhaal echt raar klinkt!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Is het niet zo dat ie maar een keer uitgevoerd wordt als je meerdere updates doet?
(verschil tussen for each row of niet (iig in oracle en postgresql)

Of echt helemaal compleet niet?

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Gaat de trigger uberhaupt wel af? Of is het alleen de sproc die roet in het eten gooit?

Met wat strategisch geplaatste RAISERROR's kan je simpel in een trace of in de Event log kijken wat er allemaal wel of niet wordt uitgevoerd.

Today's subliminal thought is:


  • Yannick
  • Registratie: December 2000
  • Laatst online: 17-07 17:03
Hmm Annie bedankt voor de tip. Heb het probleem nu verder geisolleert. Ligt niet aan bovenstaande. Maar aan de inhoud van de fnInvalidateCache functie. Deze is als volgt:
code:
1
2
3
4
5
6
7
8
9
ALTER   FUNCTION fnInvalidateCache (@TableName VarChar(25))
RETURNS INT
AS
BEGIN 
  DECLARE @CMDS VarChar(100)
  SET @CMDS = 'd:\SqlDepend.exe ' + @TableName
  EXEC Master..xp_cmdshell @CMDS
  RETURN 0 
END

Blijkbaar kan hij die exe file dus alleen uitvoeren als de NTUserName (de opdrachtgever) "Administrator" is.
Iemand een idee hoe dit te omzeilen / de juiste rechten toe te wijzen. Of zoek ik de oplossing in de verkeerde hoek?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 13:54

Crazy D

I think we should take a look.

Wat moet sqldepend doen?
Maar check even je books online, zo te zine moet je db user die je op de site gebruikt toevoegen aan de sysadmins groep:
Execute permissions for xp_cmdshell default to members of the sysadmin fixed server role but can be granted to other users.

Exact expert nodig?