Di bawah ini adalah tiga cara kita dapat menggunakan T-SQL untuk mengembalikan daftar database di SQL Server.
sp_databases
Prosedur Tersimpan
Di SQL Server, sp_databases
prosedur tersimpan mencantumkan database yang berada di instance SQL Server atau dapat diakses melalui gateway database.
Berikut ini contoh menjalankan prosedur ini:
sp_databases;
Contoh hasil:
+-----------------------+-----------------+-----------+ | DATABASE_NAME | DATABASE_SIZE | REMARKS | |-----------------------+-----------------+-----------| | KrankyKranes | 16384 | NULL | | master | 6848 | NULL | | model | 16384 | NULL | | msdb | 79040 | NULL | | Music | 16384 | NULL | | NarrowNationExporters | 147456 | NULL | | tempdb | 24576 | NULL | | WideWorldImporters | 3575808 | NULL | | World | 81920 | NULL | +-----------------------+-----------------+-----------+
Jika pernyataan tersebut bukan yang pertama dalam kumpulan, Anda harus mengawali nama prosedur dengan EXEC
atau EXECUTE
.
Jadi tiga perintah berikut ini setara:
sp_databases;
EXEC sp_databases;
EXECUTE sp_databases;
Tapi yang pertama hanya bisa digunakan jika itu adalah pernyataan pertama dalam satu batch.
sys.databases
Lihat
sys.databases
view berisi satu baris per database dalam contoh SQL Server.
Berikut ini contoh kueri tampilan ini:
SELECT name
FROM sys.databases;
Contoh hasil:
+-----------------------+ | name | |-----------------------| | master | | tempdb | | model | | msdb | | Music | | KrankyKranes | | WideWorldImporters | | World | | NarrowNationExporters | +-----------------------+
Tampilan ini berisi banyak kolom, dan Anda dapat menggabungkannya dengan tampilan/tabel lain, jadi ini adalah opsi ideal ketika Anda membutuhkan lebih banyak informasi daripada sp_databases
prosedur kembali.
sys.sysdatabases
Tabel/Tampilan
sys.sysdatabases
sama dengan sys.databases
.
Jadi kita cukup menukar sys.databases
dalam contoh di atas ke sys.sysdatabases
untuk mendapatkan hasil yang sama:
SELECT name
FROM sys.sysdatabases;
Hasil:
+-----------------------+ | name | |-----------------------| | master | | tempdb | | model | | msdb | | Music | | KrankyKranes | | WideWorldImporters | | World | | NarrowNationExporters | +-----------------------+
Namun, Anda harus menghindari opsi ini.
Tabel sistem SQL Server 2000 ini disertakan dalam rilis SQL Server saat ini sebagai tampilan untuk kompatibilitas mundur. Ini akan dihapus dalam versi Microsoft SQL Server yang akan datang. Microsoft menyarankan agar kami menghindari penggunaan fitur ini dalam pekerjaan pengembangan baru, dan berencana untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.
Jadi, jika Anda menemukan skrip lama yang mereferensikan sys.sysdatabases
, Anda harus mempertimbangkan untuk mengubahnya menjadi sys.databases
.
Server Tertaut
Jika Anda perlu mendapatkan daftar database dari server tertaut, gunakan sp_catalogs
sambil meneruskan nama server yang ditautkan.
Lihat Daftar Semua Basis Data dari Server Tertaut di SQL Server untuk informasi dan contoh selengkapnya.