dependiendo de la versión de SQL Server que esté ejecutando, el método para consultar y devolver una lista de todas las tablas creadas por el usuario puede diferir ligeramente. A continuación, examinaremos brevemente las sentencias TSQL que se pueden usar para recuperar una lista de tablas tanto para la versión anterior de SQL Server 2000 como para la versión más reciente de 2005 o posterior.,

listar tablas en SQL Server 2000

para versiones anteriores de SQL Server (como SQL Server 2000, aunque este método también es compatible con SQL Server 2005 para compatibilidad con versiones anteriores), deberá consultar la vista de metadatos SYS.SYSOBJECTS. SYS.SYSOBJECTS contiene una fila para cada objeto que se ha creado en la base de datos, incluyendo stored procedures, views y user tables (que son un importante distinguir entre system tables.,)

la tabla SYSOBJECTS contiene un par de docenas de columnas de datos, ya que debe contener información sobre prácticamente todo lo que se agrega al servidor a lo largo del tiempo. Por lo tanto, para encontrar una lista de tablas creadas por el usuario (ignorando system tables), necesitaremos encontrar resultados donde la columna xtype (que especifica el object type para esa fila) sea igual al valor U, que significa user table., La instrucción TSQL resultante debería tener este aspecto:

SELECT *FROM SYSOBJECTSWHERE xtype = 'U';GO

Nota: dado que SYSOBJECTS son parte del espacio de nombres SYS, al consultar SYSOBJECTS no es necesario especificar que SYSOBJECTS es parte del espacio de nombres global SYS, por lo que podemos omitirlo como se muestra en el ejemplo anterior.

esto devolverá una lista de resultados de todas las tablas creadas por el usuario., Dado que la cantidad de información devuelta al consultar todas las columnas es bastante grande, es posible que desee recortar los resultados viendo solo la columna name y tal vez la crdate (fecha de creación):

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

listar tablas en SQL Server 2005 o superior

listar todas las tablas en SQL Server cuando se utiliza una versión más reciente (SQL 2005 o superior) es cuestión de consultar las vistas INFORMATION_SCHEMA que se construyen automáticamente en SQL Server., Estos le permiten ver fácilmente una amplia variedad de metadatos para esta instancia de SQL Server en particular, incluida información sobre COLUMNS, ROUTINES, e incluso TABLES.

Puede notar que hay cuatro columnas devueltas cuando se usa la vista INFORMATION_SCHEMA.TABLES, pero la columna más importante es TABLE_TYPE, que determina si la tabla en esa fila es una tabla real (BASE TABLE) o una vista (VIEW).,

Para regresar todas las tablas y vistas de una consulta, ejecutar la siguiente instrucción TSQL:

SELECT *FROM INFORMATION_SCHEMA.TABLES;GO

también puede ser sabio para especificar la base de datos que desea consultar:

SELECT *FROM databaseName.INFORMATION_SCHEMA.TABLES;GO

Si sólo desea recuperar las tablas reales y filtrar los puntos de vista de los resultados, añadir un WHERE TABLE_TYPE = 'BASE TABLE' cláusula:

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