=?iso-8859-2?q?[MSSQL_2000]_logowanie_procedur_zagnie=BFd=BFonych?=
=?iso-8859-2?q?Krzysztof_Wi=B6niewski?= - 11-05-2007 12:32
=?iso-8859-2?q?[MSSQL_2000]_logowanie_procedur_zagnie=BFd=BFonych?=
Jedna z moich procedur wywołuje kolejne 2 procedury - jedną po drugiej. W jaki sposób używając MSSQL Profiler'a zalogować kolejne uruchomienia tych "podprocedur"?
Wprowadzenie w zakładce "Filter" w warunku "Text" nazwy podprocedury niestety nie powoduje logowania uruchomienia podprocedury; ale pewnie robię coś źle...
?
Pozdrawiam, Krzysiek
Robert Winkler - 11-05-2007 12:32
> Jedna z moich procedur wywołuje kolejne 2 procedury - jedną po > drugiej. W jaki sposób używając MSSQL Profiler'a zalogować kolejne > uruchomienia tych "podprocedur"? > > Wprowadzenie w zakładce "Filter" w warunku "Text" nazwy podprocedury > niestety nie powoduje logowania uruchomienia podprocedury; ale pewnie > robię coś źle...
Narazie jest dobrze, brakuje tylko jednego ustawienia musisz dodać zdarzeń SP:StmtStarting i SP:StmtCompleted Nie wiem jak wywołuesz procedure, wiec mogą się też przydać SQL:StmtStarting i SQL:StmtCompleted
Bardzo ostrożnie korzystaj z tych zdarzeń gdyż logowanie operacji na tak niskim poziomie bardzo obciąrza SQL Server
-- ____________ Robert Winkler
=?iso-8859-2?q?Krzysztof_Wi=B6niewski?= - 11-05-2007 12:32
=?iso-8859-2?q?Re:_logowanie_procedur_zagnie=BFd=BFonych?=
On 4 Maj, 23:08, "Robert Winkler" <win...@NOSPAMpoczta.fm> wrote: > > Jedna z moich procedur wywołuje kolejne 2 procedury - jedną po > > drugiej. W jaki sposób używając MSSQL Profiler'a zalogować kolejne > > uruchomienia tych "podprocedur"? > > > Wprowadzenie w zakładce "Filter" w warunku "Text" nazwy podprocedury > > niestety nie powoduje logowania uruchomienia podprocedury; ale pewnie > > robię coś źle... > > Narazie jest dobrze, brakuje tylko jednego ustawienia > musisz dodać zdarzeń SP:StmtStarting i SP:StmtCompleted > Nie wiem jak wywołuesz procedure, wiec mogą się też przydać > SQL:StmtStarting i SQL:StmtCompleted > > Bardzo ostrożnie korzystaj z tych zdarzeń > gdyż logowanie operacji na tak niskim poziomie > bardzo obciąrza SQL Server >
Hm, ale nie jest dobrze... Przecież wywołania "podprocedury" nie są logowane! Moja procedura wygląda następująco:
CREATE PROCEDURE dbo_ZapiszCos (@JakiesID int) AS BEGIN -- tutaj coś się zapisuje...
-- teraz wywołuję "podprocedurę": exec dbo.InnaProcedura @InneID = 10;
-- i teraz jeszcze inną: exec dbo.JeszczeInnaProcedura @JeszczeInneID = 18;
END
Moje pytanie było takie: jak powinien być skonfigurowany Profiler, aby zalogować uruchomienia procedur dbo.InnaProcedura i dbo.JeszczeInnaProcedura, zagnieżdżone w procedurze ZapiszCos?
Jeśli w Profilerze w filtrach zdefiniuję w sekcji Text: Like '%JeszczeInnaProcedura%' to wywołania NIE SĄ logowane.
Pozdrawiam, Krzysiek
Robert Winkler - 11-05-2007 12:32
> Hm, ale nie jest dobrze... Przecież wywołania "podprocedury" nie są > logowane! Moja procedura wygląda następująco: > > CREATE PROCEDURE dbo_ZapiszCos (@JakiesID int) > AS > BEGIN > -- tutaj coś się zapisuje... > > > -- teraz wywołuję "podprocedurę": > exec dbo.InnaProcedura @InneID = 10; > > -- i teraz jeszcze inną: > exec dbo.JeszczeInnaProcedura @JeszczeInneID = 18; > > END > > Moje pytanie było takie: jak powinien być skonfigurowany Profiler, aby > zalogować uruchomienia procedur dbo.InnaProcedura i > dbo.JeszczeInnaProcedura, zagnieżdżone w procedurze ZapiszCos? > > Jeśli w Profilerze w filtrach zdefiniuję w sekcji Text: Like > '%JeszczeInnaProcedura%' to wywołania NIE SĄ logowane.
Nie wiem jak to u ciebie wygląda, ala u mnie na SQL'u dla nastepujacych procedur
CREATE PROCEDURE [dbo].[TestProc1] AS BEGIN declare @id int SET @id = 10 exec dbo.TestProc2 @id END
CREATE PROCEDURE [dbo].[TestProc2] @id int AS BEGIN SET NOCOUNT ON; select * from dbo.Table_Testowa where ID = @id END
jeśli dodam w profilerze logowanie na poziomie SP:StmtCompleted to dla filtru %TestProc1%, %TestProc2% mam w trace następującą linie:
SQL:BatchStarting TestProc1 SP:StmtCompleted exec dbo.TestProc2 @id SQL:BatchCompleted TestProc1
-- ____________ Robert Winkler
=?iso-8859-2?q?Krzysztof_Wi=B6niewski?= - 11-05-2007 12:32
=?iso-8859-2?q?Re:_logowanie_procedur_zagnie=BFd=BFonych?=
On 5 Maj, 10:50, "Robert Winkler" <win...@NOSPAMpoczta.fm> wrote: > > Hm, ale nie jest dobrze... Przecież wywołania "podprocedury" nie są > > logowane! Moja procedura wygląda następująco: > > > CREATE PROCEDURE dbo_ZapiszCos (@JakiesID int) > > AS > > BEGIN > > -- tutaj coś się zapisuje... > > > -- teraz wywołuję "podprocedurę": > > exec dbo.InnaProcedura @InneID = 10; > > > -- i teraz jeszcze inną: > > exec dbo.JeszczeInnaProcedura @JeszczeInneID = 18; > > > END > > > Moje pytanie było takie: jak powinien być skonfigurowany Profiler, aby > > zalogować uruchomienia procedur dbo.InnaProcedura i > > dbo.JeszczeInnaProcedura, zagnieżdżone w procedurze ZapiszCos? > > > Jeśli w Profilerze w filtrach zdefiniuję w sekcji Text: Like > > '%JeszczeInnaProcedura%' to wywołania NIE SĄ logowane. > > Nie wiem jak to u ciebie wygląda, ala u mnie na SQL'u dla nastepujacychprocedur > > CREATE PROCEDURE [dbo].[TestProc1] > AS > BEGIN > declare @id int > SET @id = 10 > exec dbo.TestProc2 @id > END > > CREATE PROCEDURE [dbo].[TestProc2] > @id int > AS > BEGIN > SET NOCOUNT ON; > select * from dbo.Table_Testowa > where ID = @id > END > > jeśli dodam w profilerze logowanie na poziomie SP:StmtCompleted > to dla filtru %TestProc1%, %TestProc2% > mam w trace następującą linie: > > SQL:BatchStarting TestProc1 > SP:StmtCompleted exec dbo.TestProc2 @id > SQL:BatchCompleted TestProc1 >
Dzięki, zrobiłem tak jak napisałeś. Rzeczywiście - Profiler faktycznie zaczął odnotowywać uruchomienia zagnieżdżonej procedury. Niestety, loguje również operacje kompletnie nie związane z ustawionym filtrem, np. takie, w których kolumna "Text" jest pusta...
Sądziłem, że filtry zdefiniowane w zakładce "Filters" są stosowane łącznie, tzn. jeśli wprowadziłem dwa, to oba warunki muszą być spełnione, żeby operacja była zapisana w logu, tymczasem - skoro dostaję rekordy z pustym polem "Text", to chyba jest inaczej...?
?
Pozdrawiam, Krzysiek
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
MSSQL Express czy Oracle Express
Pobierananie danych z innej bazy danych w MSSQL
Migracja MSSQL 2005 CTP na 2005 Express
MSSQL , funkcja pobierajaca sama date (bez czasu) w funkcji
[mssql] insert do tabeli na podstawie danych z innej tabeli
zanotowane.pldoc.pisz.plpdf.pisz.plradioaktywni.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|