Veritabanımdaki tüm sütun adlarını nasıl listeleyebilir veya arayabilirim?


37

Veritabanında bulunan sütunların isimlerinde bir dize aramak istiyorum.

Bir bakım projesi üzerinde çalışıyorum ve üzerinde çalıştığım bazı veritabanları 150'den fazla masaya sahip, bu yüzden bunu yapmak için hızlı bir yol arıyorum.

Ne önerirsiniz?



iyi makale. Çok teşekkürler. Ayrıca TM Field Finder'ı kullandım ve SQL Schema'da ve ayrıca verilerde arama yapmak için gerçekten güçlü.

Yanıtlar:


38

Tüm sütunları listelemek veya bir veritabanındaki tablolar arasında sütunları aramak için aşağıdaki sorguyu kullanabilirsiniz.

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; 

SQL Server 2005 veya 2008 veritabanlarındaki tüm nesneleri listelemek için information_schema görünümlerini kullanabilirsiniz .

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

Ayrıca SQL Search - SQL Server Management Studio ile bütünleşen ücretsiz bir araç.

alt metin


1
SQL Search iyi bir araçtır, ancak sonuç penceresinin keyfi olarak 250 sonuçla sınırlı olduğunu unutmayın. Bu aracı en son kullandığımda, Red Gate'in bu sınırlamayı kaldırmanın bir yolu yoktu. Olduğu söyleniyor, hala çok yararlı bir araçtır ve herhangi bir SQL Server DBA veya Geliştirici için tavsiye ederim. Fiyat da doğru!
Matt M

5

Her ikisi de araç ücretsiz olduğu için sonuncusu fakat umarım faydalıdır.

ApexSQL Search - Bu araç hakkında iyi bir şey, aynı zamanda veri arayabilmesi, nesneler arasındaki bağımlılıkları gösterebilmesi ve diğer faydalı şeyleri birleştirebilmesidir.

görüntü tanımını buraya girin

SSMS Toolpack - SQL 2012 hariç tüm sürümler için ücretsiz.

görüntü tanımını buraya girin


1

Bu eski zamanların kullandığı tüm SQL DBA'lar.

EXEC sp_help 'your table name';

Yalnızca tek satırlıysa, EXEC bile yazmanıza gerek yoktur. Sadece yap

sp_help 'your table name'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.