다음을 통해 공유


sp_tables(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스

현재 환경에서 쿼리할 수 있는 개체 목록을 반환합니다. 즉, 동의어 개체를 제외한 테이블 또는 보기입니다.

참고 항목

동의어의 기본 개체 이름을 확인하려면 sys.synonyms 카탈로그 뷰를 쿼리 합니다 .

Transact-SQL 구문 표기 규칙

구문

SQL Server, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System(PDW) 구문:

sp_tables
    [ [ @table_name = ] N'table_name' ]
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @table_type = ] 'table_type' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

인수

[ @table_name = ] N'table_name'

카탈로그 정보를 반환하는 데 사용되는 테이블입니다. @table_name 기본값NULL인 nvarchar(384)입니다. 와일드카드 패턴 일치가 지원됩니다.

[ @table_owner = ] N'table_owner'

카탈로그 정보를 반환하는 데 사용되는 테이블의 테이블 소유자입니다. @table_owner 기본값NULL인 nvarchar(384)입니다. 와일드카드 패턴 일치가 지원됩니다. 소유자가 지정되지 않은 경우 기본 DBMS의 기본 테이블 표시 유형 규칙이 적용됩니다.

SQL Server에서 현재 사용자가 지정된 이름의 테이블을 소유하는 경우 해당 테이블의 열이 반환됩니다. 소유자가 지정되지 않고 현재 사용자가 지정된 이름의 테이블을 소유하지 않는 경우 이 절차에서는 데이터베이스 소유자가 소유한 지정된 이름의 테이블을 찾습니다. 테이블이 있을 경우 해당 테이블의 열이 반환됩니다.

[ @table_qualifier = ] N'table_qualifier'

테이블 한정자의 이름입니다. @table_qualifier sysname이며 기본값은 .입니다NULL. 다양한 DBMS 제품은 테이블(<qualifier>.<owner>.<name>)에 대해 세 부분으로 구성된 명명을 지원합니다. SQL Server에서 이 열은 데이터베이스 이름을 나타냅니다. 일부 제품에서는 테이블 데이터베이스 환경의 서버 이름을 나타냅니다.

[ @table_type = ] 'table_type'

지정된 테이블 형식의 모든 테이블에 대한 정보를 제공하는 쉼표로 구분된 값 목록입니다. 포함 TABLE, SYSTEMTABLEVIEW. @table_type 기본값NULL인 varchar(100)입니다.

각 테이블 유형은 작은따옴표로 묶고, 전체 매개 변수는 큰따옴표로 묶어야 합니다. 테이블 형식은 대문자여야 합니다. 이 ON경우 SET QUOTED_IDENTIFIER 각 작은따옴표를 두 배로 묶어야 하며 전체 매개 변수를 작은따옴표로 묶어야 합니다.

[ @fUsePattern = ] fUsePattern

밑줄(), 백분율(_) 및 대괄호(%[또는]) 문자가 와일드카드 문자로 해석되는지 여부를 결정합니다. 유효한 값은 0 (패턴 일치가 꺼져 있습니다) 및 1 (패턴 일치가 켜집니다). @fUsePattern 비트이며 기본값은 .입니다1.

반환 코드 값

없음

결과 집합

열 이름 데이터 형식 설명
TABLE_QUALIFIER sysname 테이블 한정자 이름입니다. SQL Server에서 이 열은 데이터베이스 이름을 나타냅니다. 이 필드는 다음과 같습니다 NULL.
TABLE_OWNER sysname 테이블 소유자 이름입니다. SQL Server에서 이 열은 테이블을 만든 데이터베이스 사용자의 이름을 나타냅니다. 이 필드는 항상 값을 반환합니다.
TABLE_NAME sysname 테이블 이름입니다. 이 필드는 항상 값을 반환합니다.
TABLE_TYPE varchar(32) 테이블, 시스템 테이블 또는 뷰입니다.
REMARKS varchar(254) SQL Server는 이 열에 대한 값을 반환하지 않습니다.

설명

상호 운용성을 최대한 높이려면 게이트웨이 클라이언트가 SQL-92-표준 SQL 패턴 일치(% 및 _ 와일드카드 문자)만 허용해야 합니다.

특정 테이블에 대한 현재 사용자의 읽기 또는 쓰기 액세스 권한에 대한 권한 정보가 항상 선택되지는 않습니다. 따라서 액세스가 보장되지 않습니다. 이 결과 집합에는 테이블 및 뷰뿐만 아니라 이러한 형식을 지원하는 DBMS 제품에 대한 게이트웨이의 동의어 및 별칭도 포함됩니다. 서버 특성 ACCESSIBLE_TABLES 이 결과 집합 sp_server_info에서 Y이면 현재 사용자가 액세스할 수 있는 테이블만 반환됩니다.

sp_tables 는 ODBC와 동일합니다 SQLTables . 반환된 결과는 , TABLE_QUALIFIER, TABLE_OWNERTABLE_NAME.로 TABLE_TYPE정렬됩니다.

사용 권한

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

예제

A. 현재 환경에서 쿼리할 수 있는 개체 목록을 반환합니다.

다음 예에서는 현재 환경에서 쿼리할 수 있는 개체 목록을 반환합니다.

EXEC sp_tables;

B. 지정된 스키마의 테이블에 대한 정보 반환

다음 예제에서는 AdventureWorks2022 데이터베이스의 Person 스키마에 속하는 테이블에 대한 정보를 반환합니다.

USE AdventureWorks2022;
GO
EXEC sp_tables
   @table_name = '%',
   @table_owner = 'Person',
   @table_qualifier = 'AdventureWorks2022';

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

C. 현재 환경에서 쿼리할 수 있는 개체 목록을 반환합니다.

다음 예에서는 현재 환경에서 쿼리할 수 있는 개체 목록을 반환합니다.

EXEC sp_tables;

D. 지정된 스키마의 테이블에 대한 정보 반환

다음 예제에서는 데이터베이스의 차원 테이블에 대한 정보를 반환합니다 AdventureWorksPDW2012 .

-- Uses AdventureWorks

EXEC sp_tables
   @table_name = 'Dim%',
   @table_owner = 'dbo',
   @table_qualifier = 'AdventureWorksPDW2012';