Można zacząć od tego:
DECLARE @TableName VARCHAR(50)
DECLARE @ObjectID INT
SET @TableName = '' -- the name of the objects you want to investigate
SELECT @ObjectID = [id] FROM sysobjects WHERE name=@TableName
SELECT * FROM sysobjects WHERE name=@TableName
UNION
SELECT * FROM sysobjects WHERE id in (SELECT id FROM sysdepends WHERE depid= @ObjectID)
W SysDepends „stół” powie, które obiekty są zależne od drugiego. Jest hierarchiczny, więc może być konieczne rekurencyjne uruchamianie SysDepends, dopóki nie zaczniesz otrzymywać wartości zerowych. Czasami sysdepends jest niekompletny, oto artykuł z kilkoma innymi sugestiami .
Sysobjects „stół” powie kilka rzeczy na temat obiektów w bazie danych. Kolumny typu (także xtype) informują o tym, czym jest element: tabela zdefiniowana przez użytkownika, przechowywany proc, wyzwalacz itp.
Następnie chcesz, aby sp_helptext wypluł tekst procedury składowanej. Nie spowoduje to odtworzenia tekstu zaszyfrowanej procedury składowanej.
Każde pełne i kompletne rozwiązanie będzie wymagało programowania, zwłaszcza gdy w grę wchodzą szyfrowane procedury składowane i wyzwalacze. Jeden przykładowy artykuł na temat programowego określania pozycji w bazie danych. Typ danych potrzebny do odszyfrowania przechowywanych procesów SQL Server 2000 pojawił się w SQL Server 2005, więc nie można było używać SQL w SQL Server 2000 do odszyfrowania własnych zaszyfrowanych przechowywanych proc (ale można je odszyfrować w SQL w SQL Server 2005) nie dziwi mnie, gdyby to samo dotyczyło przejścia na lata 2005-2008. Kilka lat temu straciłem zainteresowanie deszyfrowaniem procedur przechowywanych.
Wiem, jak programowo znaleźć wszystkie informacje potrzebne do skryptu obiektów. Ale aby je skrypty skonstruować, może być konieczne samodzielne napisanie kodu generowania skryptu.
Jeśli piszesz kod, aby dowiedzieć się wszystkiego o istniejących obiektach, termin „Google” to „Słownik danych programu SQL Server”.
Dam ci kilka przykładów początkowych.
Aby znaleźć wszystkie ograniczenia klucza obcego w określonej tabeli:
Aby znaleźć wszystkie ograniczenia klucza obcego odnoszące się do określonej tabeli:
źródło