데이터베이스에서 모든 열 이름을 나열하거나 검색하려면 어떻게합니까?


37

데이터베이스에있는 열 이름에서 문자열을 검색하고 싶습니다.

유지 관리 프로젝트를 진행 중이며 처리하는 일부 데이터베이스에 150 개가 넘는 테이블이 있으므로이를 수행 할 수있는 빠른 방법을 찾고 있습니다.

추천 메뉴가 무엇인가요?



좋은 기사. 고마워 또한 TM Field Finder를 사용했으며 SQL Schema의 검색 및 데이터 측면에서 매우 강력합니다.

답변:


38

다음 쿼리를 사용하여 데이터베이스의 테이블에서 모든 열 또는 검색 열을 나열 할 수 있습니다.

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; 

information_schema 뷰를 사용 하여 SQL Server 2005 또는 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

SQL Server Management Studio와 통합되는 무료 도구 인 SQL 검색 도 있습니다 .

대체 텍스트


1
SQL 검색은 좋은 도구이지만 결과 창은 임의로 250 개의 결과로 제한됩니다. 이 도구를 마지막으로 사용했을 때 Red Gate는이 제한을 해제 할 방법이 없었습니다. 그것은 여전히 ​​매우 유용한 도구이며 SQL Server DBA 또는 개발자에게 권장합니다. 가격도 맞습니다!
매트 M

5

하나는 늦었지만 두 도구가 모두 무료이므로 유용합니다.

ApexSQL 검색 –이 도구의 좋은 점은 데이터를 검색하고 객체 간 종속성을 표시하며 다른 유용한 것들을 결합 할 수 있다는 것입니다.

여기에 이미지 설명을 입력하십시오

SSMS 툴팩 – SQL 2012를 제외한 모든 버전에서 무료로 제공됩니다. 스 니펫, 다양한 사용자 정의 등과 같은 검색에만 관련되지 않는 다양한 옵션이 있습니다.

여기에 이미지 설명을 입력하십시오


1

이것은 옛날의 모든 SQL DBA가 사용하는 것입니다.

EXEC sp_help 'your table name';

한 줄만 있으면 EXEC를 입력 할 필요조차 없습니다. 그냥 해

sp_help 'your table name'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.