Cara untuk memulai ini adalah sebagai berikut:
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)
The SysDepends "tabel" akan memberitahu Anda yang benda tergantung pada yang lain. Itu hierarkis, jadi Anda mungkin harus menjalankan SysDepends secara rekursif hingga Anda mulai mendapatkan nol. Terkadang, ketergantungan sys tidak lengkap, di sini ada artikel dengan beberapa saran lain .
The SysObjects "tabel" akan memberitahu Anda beberapa hal tentang objek dalam database. Kolom tipe (juga xtype) memberi tahu Anda item tersebut: tabel yang ditentukan pengguna, proc tersimpan, pemicu, dll.
Maka Anda akan ingin sp_helptext memuntahkan teks dari prosedur tersimpan. Ini tidak akan mereproduksi teks dari prosedur tersimpan terenkripsi.
Setiap solusi lengkap dan lengkap akan melibatkan pemrograman sesuatu, terutama ketika prosedur tersimpan tersimpan dan pemicu terlibat. Satu contoh artikel tentang secara sistematis menentukan item dalam DB. Datatype yang diperlukan untuk mendekripsi SQL Server 2000 procs tersimpan muncul di SQL Server 2005, sehingga Anda tidak bisa menggunakan SQL dalam SQL Server 2000 untuk mendekripsi procs tersimpan yang dienkripsi sendiri (tetapi Anda bisa mendekripsi mereka dalam SQL di SQL Server 2005) dan itu akan tidak mengejutkan saya jika hal yang sama berlaku untuk transisi 2005-2008. Saya kehilangan minat mendekripsi prosedur tersimpan beberapa tahun yang lalu.
Saya tahu cara menemukan semua informasi yang Anda perlukan untuk membuat skrip objek secara terprogram. Tetapi untuk benar-benar membuat skrip mereka, Anda mungkin harus menulis sendiri kode pembuatan skrip.
Jika Anda menulis kode untuk mencari tahu semua tentang objek yang ada, istilah untuk google adalah "Kamus Data Server SQL".
Saya akan memberikan beberapa contoh awal.
Untuk menemukan semua batasan kunci asing pada tabel tertentu:
Untuk menemukan semua batasan kunci asing yang merujuk pada tabel tertentu:
sumber