Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/07/2010, 09:40
Avatar de iislas
iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Consulta SQL. AYUDA

Espero que esto sea lo que buscas

Código SQL:
Ver original
  1. /*----------------------------------------------------------------------
  2. -- Rutina para edicion 2005 y superior
  3. --
  4. */----------------------------------------------------------------------
  5. SET NOCOUNT ON;  
  6. DECLARE  
  7.     @fiMaxFilas INT,  
  8.     @fiRenglonActual INT,  
  9.     @fcComando VARCHAR(120)  
  10. SET @fiRenglonActual = 1  
  11.      
  12. DECLARE @AllTables TABLE  
  13. (  
  14.     fiIndice INT NOT NULL PRIMARY KEY,  
  15.     fcNombreTabla VARCHAR(100) NOT NULL  
  16. )  
  17.  
  18. INSERT INTO @AllTables  
  19. SELECT ROW_NUMBER() OVER(ORDER BY name) AS fiIndice, name  
  20. FROM sysobjects  
  21. WHERE TYPE = 'U'  
  22.  
  23. SELECT @fiMaxFilas = MAX(fiIndice) FROM @AllTables  
  24. WHILE (@fiRenglonActual <= @fiMaxFilas )  
  25. BEGIN  
  26.     SELECT @fcComando = 'sp_spaceused '+ fcNombreTabla FROM @AllTables WHERE fiIndice = @fiRenglonActual    
  27.     EXECUTE (@fcComando)  
  28.     SET @fiRenglonActual = @fiRenglonActual+1  
  29. END  
  30.  
  31.  
  32. /*----------------------------------------------------------------------
  33. -- Rutina para edicion 2000 y superior
  34. --
  35. */----------------------------------------------------------------------
  36. SET NOCOUNT ON;  
  37. DROP TABLE #Resultado
  38. DECLARE  
  39.     @fiMaxFilas INT,  
  40.     @fiRenglonActual INT,  
  41.     @fcComando VARCHAR(120)  
  42.      
  43.     SET @fiRenglonActual = 1  
  44.      
  45. DECLARE @AllTables TABLE  
  46. (  
  47.     fiIndice INT NOT NULL PRIMARY KEY IDENTITY(1,1),  
  48.     fcNombreTabla VARCHAR(100) NOT NULL  
  49. )  
  50.  
  51. INSERT INTO @AllTables  
  52. SELECT -- ROW_NUMBER() OVER(ORDER BY name) AS fiIndice,  
  53. name  
  54. FROM sysobjects  
  55. WHERE TYPE = 'U'  
  56.  
  57. SELECT @fiMaxFilas = MAX(fiIndice) FROM @AllTables  
  58. CREATE TABLE #Resultado (Name sysname, ROWS VARCHAR(50), Reserved VARCHAR(50), DATA VARCHAR(50), Index_size VARCHAR(50), Unused VARCHAR(50))
  59.  
  60. WHILE (@fiRenglonActual <= @fiMaxFilas )  
  61. BEGIN  
  62.     SELECT @fcComando = 'sp_spaceused '+ fcNombreTabla FROM @AllTables WHERE fiIndice = @fiRenglonActual
  63.     INSERT INTO #Resultado
  64.     EXECUTE (@fcComando)  
  65.     SET @fiRenglonActual = @fiRenglonActual+1  
  66. END  
  67.  
  68.  
  69. SELECT Name,
  70. ROWS,
  71. CAST(REPLACE(Reserved, 'KB', '') AS INT) AS Reserved,
  72. CAST(REPLACE(DATA, 'KB', '') AS INT) AS DATA,
  73. CAST(REPLACE(Index_size, 'KB', '') AS INT) AS Index_size,
  74. CAST(REPLACE(Unused, 'KB', '') AS INT) AS Unused
  75. FROM #Resultado
  76. ORDER BY 3 DESC