Avhengig av hvilken versjon av SQL Server du kjører, metoden for spørring og returnerer en liste over alle brukerdefinerte tabeller kan være litt forskjellige. Nedenfor vil vi kort undersøke TSQL uttalelser som kan brukes til å hente en oversikt for både eldre SQL Server 2000 og nyere 2005 versjon eller utover.,

Liste Tabeller i SQL Server 2000

For eldre versjoner av SQL Server (for eksempel SQL Server 2000, selv om denne metoden er også støttet i SQL Server 2005 for bakoverkompatibilitet), trenger du å spørre SYS.SYSOBJECTS metadata vise. SYS.SYSOBJECTS inneholder en rad for hvert objekt som har blitt opprettet i databasen, inkludert stored procedures, views, og user tables (som er et viktig skille fra system tables.,)

SYSOBJECTS tabell hus et par dusin kolonner med data siden den må inneholde informasjon om nesten alt lagt til serveren over tid. Derfor, for å finne en liste over brukerdefinerte tabeller (og dermed ignorerer system tables), trenger vi å finne resultater der xtype kolonne (som angir object type for at rad) er lik verdien U, som står for user table., Den resulterende TSQL uttalelse bør se ut som dette:

SELECT *FROM SYSOBJECTSWHERE xtype = 'U';GO

Merk: Siden SYSOBJECTS er en del av SYS navnerom, når spørring SYSOBJECTS det er unødvendig å presisere at SYSOBJECTS er en del av den globale SYS navnerom, så vi kan utelate det som er vist i eksemplet ovenfor.

Dette vil returnere et resultat liste over alle brukerdefinerte tabeller., Siden mengden av informasjon som returneres når det sendes en spørring til alle kolonner som er ganske stor, kan det hende du ønsker å trimme resultatene ved å vise bare name kolonne-og kanskje crdate (dato for opprettelse):

SELECT name, crdateFROM SYSOBJECTSWHERE xtype = 'U';GO

Liste Tabeller i SQL Server 2005 eller Nyere

Liste over alle tabeller i SQL server når du bruker en nyere versjon (SQL 2005 eller senere), er et spørsmål om å spørre INFORMATION_SCHEMA synspunkter som er automatisk innebygd i SQL Server., Disse lar deg enkelt vise et bredt utvalg av metadata for denne SQL Server-instans, inkludert informasjon om COLUMNS, ROUTINES, og selv TABLES.

Du kan legge merke til at det er fire kolonner som returneres når du bruker INFORMATION_SCHEMA.TABLES vis, men det viktigste kolonnen er TABLE_TYPE, som avgjør om bord i denne raden er en reell tabell (BASE TABLE) eller view (VIEW).,

for Å returnere alle tabeller og visninger i en spørring, utfør følgende TSQL uttalelse:

SELECT *FROM INFORMATION_SCHEMA.TABLES;GO

Det kan også være lurt å angi den databasen du ønsker å søke:

SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLES;GO

Hvis du bare ønsker å hente faktiske tabeller og filtrere ut utsikt fra resultatene, legge til en WHERE TABLE_TYPE = 'BASE TABLE' klausulen:

SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE';GO