Mam nadzieję, że jest to pytanie z krótszą odpowiedzią niż „Przeczytaj 1000 stronicową książkę”, ale jeśli taka jest prawdziwa sytuacja, to mnie uderz.
Nie jestem prawdziwym DBA, jestem programistą, który zdaje sobie sprawę, że potrzebujemy DBA, a jednak sklep, w którym pracuję, nie ma DBA. Jednak nasz projekt bazy danych MS SQL, w tym kilka podstawowych procedur przechowywanych, jest ogromnym bałaganem. Procedury przechowywane są powolne, podejrzewamy, że mają one błędy, ale nie wiemy nawet, jak powinny działać, więc nie wiemy, jak je naprawić.
Na początek zdecydowałem, że udokumentujemy, jak to wszystko ma działać, a następnie zaczniemy testy jednostkowe i zbudowanie zestawu testów jednostkowych, które pomogą udowodnić, że przechowywane procedury rzeczywiście działają. Logika, którą wykonują, jest kluczową częścią naszej aplikacji, można powiedzieć, że jest „klejnotem koronnym” głównego produktu naszej firmy, a sposób jej działania jest całkowicie nieudokumentowany.
Szukam konkretnej dokumentacji technicznej, której profesjonalny DBA mógłby oczekiwać, że mógłby istnieć, lub mógłby napisać siebie, gdyby musieli zrozumieć gigantyczną sieć przechowywanych procedur, które się nawzajem wywołują.
Jaki jest zwykły format dokumentowania dużej procedury składowanej? Opis oczekiwanych wartości dla każdego parametru In (tj. „Warunków wstępnych”, „warunków dodatkowych”, tj. Parametrów boolowskich, które zmieniają się po włączeniu lub wyłączeniu itp.)
Jak zwykle to dokumentuje? Tylko komentarze SQL? Zewnętrzne oprzyrządowanie specyficzne dla celu? Zewnętrzna „dokumentacja”? Nie mamy żadnych narzędzi SQL innych niż MS SQL Management studio, ale zastanawiamy się, czy istnieje narzędzie, które poprawiłoby zrozumienie, dokumentowanie i testowanie naszego środowiska. Może to lepszy sposób, by zadać moje pytanie; Jakiego narzędzia potrzebuję, aby rozwiązać nasz bałagan?
Naszym celem jest:
A. Skorzystaj z generowanej przez nas dokumentacji lub dowolnych narzędzi, które dodamy do naszego środowiska, aby zrozumieć, w jaki sposób procedury powinny działać, abyśmy mogli następnie utworzyć test jednostkowy dla procedur przechowywanych.
B. Pokaż programistom aplikacji klienckich, jak prawidłowo wywoływać każdą z tych złożonych procedur przechowywanych.
C. Test jednostkowy naszych procedur przechowywanych.