Witam,
Mam taki problem, mam w bazie powiedzmy 100 procedur i chce sie dowiedziec która procedura jest uzywana bądz nie używana, po prostu chce wiedziec które procedury mogę usunąć i nie wpłynie to na inne procesy, czy da sie to jakos sprawdzic w tabelach systemowych bądz w jakims innym miejscu? niestety nie mam załozonych logow w tych procedurach wiec nie sprawdzę w ten sposów, a nie widzi mi sie teraz alterować 100 procedur i dodawac im inserta do logów.
- Rejestracja:około 10 lat
- Ostatnio:8 miesięcy
- Postów:68

- Rejestracja:ponad 12 lat
- Ostatnio:9 miesięcy
- Postów:6610
co to znaczy "używana"? Bo zdajesz sobie sprawę, że daną procedurę może wywoływać aplikacja a nie inna procedura czy trigger
- Rejestracja:około 10 lat
- Ostatnio:8 miesięcy
- Postów:68
używana w sensie czy ktoś/cos jąwywołało, np jakis job, dts, aplikacja, trigger, czy nawet ktos z "palca"

- Rejestracja:około 12 lat
- Ostatnio:około 21 godzin

- Rejestracja:ponad 12 lat
- Ostatnio:9 miesięcy
- Postów:6610
zobacz coś takiego
SELECT o.name,
ps.last_execution_time
FROM sys.dm_exec_procedure_stats ps
INNER JOIN
sys.objects o
ON ps.object_id = o.object_id
WHERE DB_NAME(ps.database_id) = ''
ORDER BY
ps.last_execution_time DESC
a musisz mieć wersję min 2008
- Rejestracja:około 10 lat
- Ostatnio:8 miesięcy
- Postów:68
abrakadaber dzieki, wygląda na to że działa :)
to może macie coś jeszcze na temat tabel?? czy coś odczytywało dane z nich, czy przeprowadzano na nich operacje :)


- Rejestracja:ponad 12 lat
- Ostatnio:9 miesięcy
- Postów:6610
- Rejestracja:około 10 lat
- Ostatnio:8 miesięcy
- Postów:68
No ok to ostatnie pytanie :)
SELECT sch.name
,o.name
,ps.last_execution_time
,ps.execution_count
FROM sys.dm_exec_procedure_stats ps
INNER JOIN sys.objects o
ON ps.object_id = o.object_id
INNER JOIN sys.procedures p
ON ps.object_id=p.object_id
INNER JOIN sys.schemas sch
ON sch.schema_id = p.schema_id
--INNER JOIN sys.sysusers u
-- on u.sid = ps.database_id
WHERE DB_NAME(ps.database_id) = 'BAZA_1'
ORDER BY ps.last_execution_time DESC
tu fajnie mi wyswietla schemat | nazwe procedury | ostatnie uruchomienie | ilość uruchomien a chciałbym jeszcze miec nazwe użytkownika który ostatni odpalil procedure
niby userID znajdują sie w tych tabelach i nazwy userów ale nie mam po czym z joinowac z tymi procedurami co mam wyzej. Ewentualnie wziałebym jakas tabele w której jest objectID procedury i userID ale nie wiem jaka tabela ma obie te wartośći.
select * from sys.sysusers
select * from sys.sysoledbusers
jakieś pomysły?

- Rejestracja:ponad 12 lat
- Ostatnio:9 miesięcy
- Postów:6610
obawiam się, że tego już nie wyciągniesz
- Rejestracja:około 10 lat
- Ostatnio:8 miesięcy
- Postów:68
Ok, w każdym razie dziekuje wszystkim za pomoc :)
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
abrakadaber