Toon posts:

[SQL server] disablen van triggers

Pagina: 1
Acties:
  • 209 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Voor twee databases heb ik een aantal triggers ontwikkeld. Wanneer een trigger afgaat moet van de ene database moet er wat gebeuren op de andere database. Om te voorkomen dat deze triggers oneindig keer afgaat moet ik de triggers tijdelijk uitzetten. Dit kan met de volgende statement

code:
1
alter table  dbo.someTable disable trigger someTrigger


De bovenstaande statement wordt binnen een stored procedure aangeroepen. Om triggers te kunnen disablen moet je eigenaar zijn van het object (in dit geval is dbo de eigenaar van someTable). Het bovenstaande statement wordt in hetzelfde database aangeroepen.

Nou krijg ik het volgende melding

Error: 3704, Severity: 16, State: 1

Na wat googlen ben ik erachter gekomen dat de permissions niet goed is. Ik vraag mij af wat ik dan verkeerd doe. dbo is de eigenaar van het tabel, maar blijkbaar slikt die het niet.

Hopelijk weten jullie hier meer van af.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:15
Om te voorkomen dat deze triggers oneindig keer afgaat moet ik de triggers tijdelijk uitzetten.
Kan je dat ook niet voorkomen door Nested Triggers uit te zetten ?
Triggers are nested when a trigger performs an action that initiates another trigger, which can initiate another trigger, and so on. Triggers can be nested up to 32 levels, and you can control whether triggers can be nested through the nested triggers server configuration option.

If nested triggers are allowed and a trigger in the chain starts an infinite loop, the nesting level is exceeded and the trigger terminates.
Je kan nested triggers uitzetten in je Server Settings.

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Weet je heel zeker dat je als dbo bent ingelogd als je de sp uitvoert?

Je weet dat je nested triggers kunt uitschakelen?

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
whoami schreef op dinsdag 07 november 2006 @ 11:30:
[...]

Kan je dat ook niet voorkomen door Nested Triggers uit te zetten ?


[...]


Je kan nested triggers uitzetten in je Server Settings.
Andere triggers moeten uitgevoerd worden omdat dat een van de requirements zijn. Maar in bepaalde situaties moeten deze tijdelijk uitgezet worden.

Ik log in met een andere gebruiker. kan dit het probleem ? dus moet ik deze gebruiker (waarmee ik inlog rechten geven om dingen te kunnen wijzigen?)

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:15
De gebruiker die ingelogged is, en waarmee je dus je trigger wil uitschakelen, zal denk ik eigenaar moeten zijn van de objecten.

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Permissions
ALTER TABLE permissions default to the table owner, members of the sysadmin fixed server role, and the db_owner and db_ddladmin fixed database roles, and are not transferable.
Lijkt me duidelijk.

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

hoeft niet het einde te zijn... in sql2005 kun je via execute as toch nog een heleboel doen.
Pagina: 1