Código de SQL - Información sobre los elementos que mas ocupan en SQL SERVER

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 8 de Febrero del 2011gráfica de visualizaciones de la versión: Versión 1
8.019 visualizaciones desde el 8 de Febrero del 2011
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
-- Cursor que contiene todos los objetos que ocupan espacio
 
DECLARE objects_cursor CURSOR LOCAL FAST_FORWARD READ_ONLY for
SELECT s.name + '.'+ o.name
from sys.schemas s INNER JOIN sys.objects o
ON o.schema_id = s.schema_id
WHERE
 o.type = 'S' or --–Tablas de sistema
 o.type = 'U' or --–Tablas de usuario
 o.type = 'V' or --–Vistas (solo las indexadas devuelven tamaño)
 o.type = 'SQ' or --–Cola de servicio
 o.type = 'IT' --– Tablas internas usadas p.e. por el Service Broker o los indices XML
  -- Tabla temporal para albergar los resultados
 
CREATE TABLE #results (
 
  name SYSNAME, rows CHAR(11),
 
  reserved VARCHAR(18), data VARCHAR(18),
 
  index_size VARCHAR(18),Unused VARCHAR(18))
 
 --Recorremos el cursor obteniendo la información de espacio ocupado
 
DECLARE @object_name AS SYSNAME
 
OPEN objects_cursor
 
 
 
FETCH NEXT FROM objects_cursor
 
INTO @object_name;
 
 WHILE @@FETCH_STATUS = 0
 
  BEGIN
 
    INSERT INTO #results
 
    EXEC sp_spaceused @object_name
 
    FETCH NEXT FROM objects_cursor
 
     INTO @object_name;
 
  END;
 
CLOSE objects_cursor;
 
DEALLOCATE objects_cursor;
 
 -- Quitamos “KB” para poder ordenar
 
UPDATE #results
 
SET
 
 reserved = LEFT(reserved,LEN(reserved)-3),
 
 data = LEFT(data,LEN(data)-3),
 
 index_size = LEFT(index_size,LEN(index_size)-3),
 
 Unused = LEFT(Unused,LEN(Unused)-3)
 
  -- Ordenamos la información por el tamaño ocupado
 
SELECT
 
 Name, reserved AS [Tamaño en Disco (KB)],
 
 data AS [Datos (KB)], index_size AS [Indices (KB)],
 
 Unused AS [No usado (KB)], Rows AS Filas
 
FROM #results
 
ORDER BY CONVERT(bigint, reserved) DESC
 
 --–Eliminar la tabla temporal
 
DROP TABLE #results



Comentarios sobre la versión: Versión 1 (2)

Ruben sanchez
16 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Ese ejemplo no corre, no funciona, hacen perder el tiempo a uno.
Responder
Roger
23 de Noviembre del 2015
estrellaestrellaestrellaestrellaestrella
Creo que no subio correctamente el código:

--Cursor que contiene todos los objetos que ocupan espacio
DECLARE objects_cursor CURSOR LOCAL FAST_FORWARD READ_ONLY for
SELECT s.name + '.' + o.name from sys.schemas s
INNER JOIN sys.objects o
ON o.schema_id = s.schema_id
WHERE
o.type = 'S' or --Tablas de sistema
o.type = 'U' or --Tablas de usuario
o.type = 'V' or --Vistas (solo las indexadas devuelven tamaño)
o.type = 'SQ' or --Cola de servicio
o.type = 'IT' -- Tablas internas usadas p.e. por el Service Broker o los indices XML
--Tabla temporal para albergar los resultados
CREATE TABLE #results
(name SYSNAME, rows CHAR(11),
reserved VARCHAR(18), data VARCHAR(18),
index_size VARCHAR(18),Unused VARCHAR(18))
--Recorremos el cursor obteniendo la información de espacio ocupado
DECLARE @object_name AS SYSNAME
OPEN objects_cursor
FETCH NEXT FROM objects_cursor
INTO @object_name;
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO #results
EXEC sp_spaceused @object_name

FETCH NEXT FROM objects_cursor
INTO @object_name;
END;
CLOSE objects_cursor;
DEALLOCATE objects_cursor;
-- Quitamos "KB" para poder ordenar
UPDATE
#results
SET
reserved = LEFT(reserved,LEN(reserved)-3),
data = LEFT(data,LEN(data)-3),
index_size = LEFT(index_size,LEN(index_size)-3),
Unused = LEFT(Unused,LEN(Unused)-3)
--Ordenamos la información por el tamaño ocupado
SELECT
Name,
reserved AS [Tamaño en Disco (KB)],
data AS [Datos (KB)],
index_size AS [Indices (KB)],
Unused AS [No usado (KB)],
Rows AS Filas FROM #results
ORDER BY
CONVERT(bigint, reserved) DESC
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2033