Mengenal sys.objects di SQL Server 2008

posted Mar 7, 2012, 10:01 AM by Webmaster BelajarSQL.com   [ updated Mar 9, 2012, 12:50 AM ]
Sys.objects adalah salah satu dari kumpulan catalog view yang ada pada SQL Server 2008. Pada sys.objects terdapat informasi metadata dari hampir seluruh objek utama di SQL Server 2008 kecuali metadata mengenai kolom table, backup, replikasi, database maintenance plan dan katalog data SQL Server agent.

View ini perlu direlasikan dengan beberapa catalog view lainnya untuk mendapatkan rincian lebih lanjut seperti ke sys.columns, sys.triggers, sys.procedures, sys.indexes, dan lain-lain.

Beberapa data yang bisa Anda dapatkan dari view ini antara lain adalah :
  • daftar nama table pada berbagai schema
  • tipe-tipe dari table tersebut
  • daftar nama view
  • primary dan foreign key
  • constraint
  • dan lain-lain

Daftar Field sys.objects

Berikut adalah gambar dan keterangan dari 12 (dua belas) field yang ada pada view sys.objects :
  1. name : merupakan nama dari objek. Nilai dari field ini akan sama dengan penggunaan fungsi object_name() dengan parameter berupa object_id.
  2. object_id : nomor identifikasi unik dari objek tersebut pada database.
  3. principal_id : id dari pemilik objek, secara default sama dengan pemilik schema.
  4. schema_id : id dari schema dimana objek tersebut berada.
  5. parent_object_id : id dari objek dimana objek ini menjadi bagian darinya (objek orang tua / parent). Field ini akan bernilai 0 jika bukan menjadi bagian dari objek manapun.
  6. type : tipe objek (table, view, constraint, primary key, dll). Untuk lebih lengkapnya lihat referensi pada halaman MSDN.
  7. type_desc : deskripsi dari tipe objek.
  8. create_date : tanggal objek tersebut dibuat.
  9. modify_date :  tanggal objek tersebut mengalami perubahan.
  10. is_ms_shipped : menandakan apakah objek tersebut adalah komponen internal SQL Server. Nilai 1 jika benar dan 0 jika tidak.
  11. is_published :  menandakan apakah objek tersebut adalah dipublikasikan pada replikasi. Nilai 1 jika benar dan 0 jika tidak.
  12. is_schema_published :  menandakan jika hanya schema objek yang dipublikasikan pada replikasi. Field ini akan bernilai 1 jika benar dan 0 jika tidak.

Beberapa Contoh Penggunaan

Contoh : Query Daftar Objek Table (Yang Dibuat oleh User)

    select * from sys.objects where [type] = 'U'

Contoh Hasil Eksekusi :

Contoh : Query Daftar Nama Objek Primary Key

    select * from sys.objects where [type] = 'U'

Contoh Hasil Eksekusi :

Contoh : Mengambil Daftar Table dan Primary Key

  1. SELECT s2.name as nama_table, s1.name as nama_primary_key, s2.type_desc
      FROM [sys].[objects] s1
      join [sys].[objects] s2 on s1.[parent_object_id] = s2.[object_id]
      WHERE s1.[type] = 'PK'


Sumber Referensi

Comments