Existe Tabla del sistema que guarde todas las tablas de las bases de datos??

06/09/2004 - 20:58 por Hernan Arboleda | Informe spam
Hola !!

Existe una super tabla que guarde todas las tablas de todas las bases de
datos existentes en SQL Server??

Se que existe las Systable pero esta esta ubicada en cada bases de datos!!


Mil Gracias


Hernan A

Preguntas similare

Leer las respuestas

#1 Adrian D. Garcia
07/09/2004 - 01:20 | Informe spam
No, no existe tal cosa.
Esto es lo que permite realizar attachs/detachs de las bases muy facilmente.

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Hernan Arboleda" wrote in message
news:%
Mostrar la cita
#2 qwalgrande
07/09/2004 - 09:47 | Informe spam
Hola.

Existe sysobjects, donde se guardan todos los objetos. Lo que identifica a
las tablas es el campo type, que vale 'U'. Te adjunto un fragmento de código
que te guarda en una tabla temporal el nombre de cada tabla y la base de
datos a la que pertenece. Espero que te sirva de partida, así lo afinas y lo
adaptas a tus necesidades concretas. Usa la bd "pubs" como partida, sustituye
"use pubs" por la base de datos en la que quieras dejar la tabla temporal.

declare
@dbName sysname

set transaction isolation level read uncommitted

use pubs
if object_id('tempdb..#Tablas') is not null
drop table #Tablas

if object_id('tempdb..#tmpSDB') is not null
drop table #tmpSDB

create table #Tablas (Nombre nvarchar(510), DbName sysname)

select name into #tmpSDB from master..sysdatabases where has_dbaccess(name)
= 1

declare Curs cursor fast_forward for
select * from #tmpSDB

open Curs
fetch next from Curs into @dbName

while @@fetch_Status = 0
begin
exec ('use ' + @dbName)

if @@error <> 0
begin
fetch next from Curs into @dbName
continue
end

if exists (select * from sysobjects where name = 'dtProperties')
begin
use pubs
insert #Tablas (Nombre, DbName)
exec('select name as Nombre, ''' + @dbName + ''' as BD ' +
'from ' + @dbname + '.dbo.sysobjects where type = ''U''')


end

fetch next from Curs into @dbName

end

deallocate Curs
use pubs

select * from #Tablas order by DbName, Nombre

Espero que te sirva.

qwalgrande


"Hernan Arboleda" wrote:

Mostrar la cita
#3 MAXI
07/09/2004 - 17:16 | Informe spam
Hola, eso se guarda en cada BDD y no hay una global como preguntaba nuestro
amigo :-)




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar
Msn Messager:

"qwalgrande" <qwalgrande*nospam*@yahoo.es> escribió en el mensaje
news:
Mostrar la cita
código
Mostrar la cita
lo
Mostrar la cita
sustituye
Mostrar la cita
has_dbaccess(name)
Mostrar la cita
datos!!
Mostrar la cita
#4 ulises
07/09/2004 - 18:52 | Informe spam
También podrías obtener esa lista con:

CREATE TABLE #tablas ( TABLE_CATALOG varchar(20),
TABLE_SCHEMA varchar(20),
TABLE_NAME varchar(20) )
EXEC dbo.sp_MSforeachdb 'USE ?; INSERT INTO #tablas SELECT
TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME FROM
INFORMATION_SCHEMA.TABLES'

SELECT * FROM #tablas

Saludos,
Ulises

Mostrar la cita
adaptación (rà¡pida, la
Mostrar la cita
obtener, no las
Mostrar la cita
los diagramas de un
Mostrar la cita
creo), que era una
Mostrar la cita
las bases de datos de
Mostrar la cita
él decà­a) de esas
Mostrar la cita
que veas incorrecto, que
Mostrar la cita
favor, coméntamelo para
Mostrar la cita
como preguntaba nuestro
Mostrar la cita
el mensaje
Mostrar la cita

Mostrar la cita
objetos. Lo que identifica a
Mostrar la cita
un fragmento de
Mostrar la cita
tabla y la base de
Mostrar la cita
partida, asà­ lo afinas y
Mostrar la cita
como partida,
Mostrar la cita
dejar la tabla temporal.
Mostrar la cita
sysname)
Mostrar la cita
where
Mostrar la cita
= 'dtProperties')
Mostrar la cita
+ ''' as BD ' +
Mostrar la cita
type = ''U''')
Mostrar la cita
de todas las bases de
Mostrar la cita
en cada bases de
Mostrar la cita
#5 MAXI
07/09/2004 - 22:31 | Informe spam
Hola, yo no discutia tu Script sino que no existe una super tabla ;-), de
todos modos el Script esta bueno pero el de Ulises es mas recomendado ya que
no utiliza tablas de sistema y si vistas information_schema :-), eso hara
que se asegure la compatibilidad en futuras versiones o service Pack :-)




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar
Msn Messager:

"qwalgrande" <qwalgrande*nospam*@yahoo.es> escribió en el mensaje
news:
Mostrar la cita
un
Mostrar la cita
de
Mostrar la cita
que
Mostrar la cita
para
Mostrar la cita
nuestro
Mostrar la cita
identifica a
Mostrar la cita
de
Mostrar la cita
afinas y
Mostrar la cita
temporal.
Mostrar la cita
bases de
Mostrar la cita
Ads by Google
Search Busqueda sugerida