Bununla başlamanın bir yolu şudur:
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)
Sysdepends "Tablo" nesneleri birbirine bağımlı olan hangi söyleyecektir. Hiyerarşiktir, bu yüzden null almaya başlayana kadar SysDepends ile yinelemeli olarak çalışmanız gerekebilir. Bazen, sysdepends eksik, işte başka önerileri olan bir makale .
SysObjects "tablo" veritabanında nesneler hakkında sana bazı şeyler söyleyecektir. Tür (ayrıca xtype) sütunları size öğenin ne olduğunu söyler: kullanıcı tanımlı tablo, depolanan proc, tetikleyici vb.
Sonra sp_helptext saklı yordamın metni tükürmek isteyeceksiniz . Bu, şifreli bir saklı yordamın metnini çoğaltmaz.
Herhangi bir tam ve eksiksiz çözüm, özellikle şifrelenmiş saklı yordamlar ve tetikleyiciler söz konusu olduğunda bir şeyin programlanmasını içerecektir. DB'deki öğelerin programlı olarak belirlenmesi üzerine bir örnek makale . SQL Server 2000 depolanmış proc'ların şifresini çözmek için gereken veri türü SQL Server 2005'te ortaya çıktı, bu nedenle SQL Server 2000'de SQL'i kendi şifrelenmiş depolanmış proc'larının şifresini çözmek için kullanamazsınız (ancak SQL Server 2005'te SQL'de şifresini çözebilirsiniz) ve 2005'ten 2008'e geçiş için de aynısı olsaydı beni şaşırtmayın. Birkaç yıl önce saklı prosedürlerin şifresini çözme ilgimi kaybettim.