Bagaimana cara mendaftar atau mencari semua nama kolom di basis data saya?


37

Saya ingin mencari string dalam nama kolom yang ada dalam database.

Saya sedang mengerjakan proyek pemeliharaan dan beberapa database yang saya tangani memiliki lebih dari 150 tabel, jadi saya mencari cara cepat untuk melakukan ini.

Apa yang kamu sarankan?


pertanyaan serupa ditanyakan dalam SO
CoderHawk

artikel bagus Terima kasih banyak. Saya juga menggunakan TM Field Finder dan sangat kuat dalam hal pencarian di SQL Schema dan juga data.

Jawaban:


38

Anda bisa menggunakan kueri berikut untuk membuat daftar semua kolom atau kolom pencarian di seluruh tabel dalam database.

USE AdventureWorks 
GO 
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%EmployeeID%'
ORDER BY schema_name, table_name; 

Anda dapat menggunakan tampilan information_schema untuk membuat daftar semua objek dalam database SQL Server 2005 atau 2008.

SELECT * FROM information_schema.tables

SELECT * FROM information_schema.columns

http://blog.sqlauthority.com/2008/08/06/sql-server-query-to-find-column-from-all-tables-of-database/


8

Ada juga Pencarian SQL - alat gratis yang terintegrasi dengan SQL Server Management Studio.

teks alternatif


1
SQL Search adalah alat yang bagus, tetapi perlu diingat bahwa jendela hasil dibatasi secara sewenang-wenang, saya percaya, 250 hasil. Terakhir kali saya menggunakan alat ini, Gerbang Merah tidak memiliki cara untuk mengangkat batasan ini. Yang telah dikatakan, itu masih alat yang sangat berguna dan saya akan merekomendasikan hal ini kepada SQL Server DBA atau Pengembang. Harganya juga benar!
Matt M

5

Terlambat tapi semoga bermanfaat karena kedua alat ini gratis.

ApexSQL Search - hal yang baik tentang alat ini adalah ia juga dapat mencari data, menunjukkan ketergantungan antara objek dan beberapa hal berguna lainnya.

masukkan deskripsi gambar di sini

SSMS Toolpack - gratis untuk semua versi kecuali SQL 2012. Banyak opsi hebat yang tidak terkait hanya dengan pencarian seperti cuplikan, berbagai penyesuaian dan banyak lagi.

masukkan deskripsi gambar di sini


1

Ini adalah salah satu yang digunakan semua DBA SQL dari waktu lama.

EXEC sp_help 'your table name';

Jika hanya dengan satu baris, Anda bahkan tidak perlu mengetik EXEC. Lakukan saja

sp_help 'your table name'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.