Profundice o agregue otra columna (necesita separar múltiplos de la misma consulta)

Un usuario Pregunto ✅

dyb77

Hola a todos

Actualmente estoy trabajando en un tablero de proyectos que extrae varios bits de datos de nuestros servidores sql y estoy atascado en un módulo en particular.

Básicamente tengo 36 servidores y en este momento he agregado una consulta para mi primer servidor que recupera información de la base de datos:

DECLARAR
@SqlStatement nvarchar(MÁX.)
,@DatabaseName nombre del sistema;

SI OBJECT_ID(N’tempdb..#DatabaseSpace’) NO ES NULO
DROP TABLE #DatabaseSpace;

CREAR TABLA #DatabaseSpace(
Nombre del sistema DATABASE_NAME
,LOGICAL_NAME nombre del sistema
,TAMAÑO_ARCHIVO_MB decimal(12, 2)
,ESPACIO_USADO_MB decimal(12, 2)
,LIBRE_ESPACIO_MB decimal(12, 2)
,FILE_NAME nombre del sistema
);

DECLARE DatabaseList CURSOR LOCAL FAST_FORWARD PARA
SELECCIONE el nombre DESDE sys.databases;

OPEN Lista de bases de datos;
MIENTRAS 1 = 1
COMENZAR
OBTENER SIGUIENTE DE DatabaseList EN @DatabaseName;
SI @@FETCH_STATUS = -1 PAUSA;
SET @SqlStatement = N’USE ‘
+ COTIZACIÓN(@NombreBaseDeDatos)
+ CARÁCTER(13)+ CARÁCTER(10)
+ N’INSERTAR EN #DatabaseSpace
SELECCIONE
[DATABASE_NAME] = DB_NOMBRE()
,[LOGICAL_NAME] = f.nombre
,[FILE_SIZE_MB] = CONVERTIR (decimal (12,2), redondo (tamaño f./128.000,2))
,[SPACE_USED_MB] = CONVERTIR(decimal(12,2),redondo(propiedadarchivo(f.name,»SpaceUsed»)/128.000,2))
,[FREE_SPACE_MB] = CONVERTIR(decimal(12,2),redondo((f.size-fileproperty(f.name,»SpaceUsed»))/128.000,2))
,[FILENAME] = f.nombre
DESDE sys.database_files f;’;

EJECUTAR(@SqlStatement);

FIN
CERRAR Lista de bases de datos;
DEALLOCATE Lista de base de datos;

SELECCIONE * DESDE #DatabaseSpace;

DROP TABLE #DatabaseSpace;;

Ahora, esto devuelve la información que necesito bien, pero como esta será la misma consulta para varios servidores, no tengo forma de saber qué servidor será cuál cuando agregue los datos (en un Tablix) al tablero. Mi primer pensamiento fue agregar una columna personalizada a la tabla y agregar manualmente los nombres de servidor respectivos con los que se relacionan las consultas, pero parece que esto no es posible.

Mi segundo pensamiento fue crear un cuadro de texto con el nombre del servidor que se muestra y luego profundizar en esto hasta la consulta, pero de nuevo no parece ser una forma de hacerlo. Mi única opción en este momento es mostrar los detalles en un tablix y agregar un título con el nombre del servidor, reducir la imagen para que solo muestre el nombre del servidor y luego hacer clic en el botón de modo de enfoque que mostrará todos los datos. Luego enjuago y repito para cada servidor, lo que no es realmente ideal.

¿Alguna idea de cómo sortear a estos chicos y chicas? 🙂

dyb77

Disculpas a todos, estúpidamente me perdí algo. Puede agregar manualmente una columna personalizada con texto, ¡simplemente no obtuve la sintaxis correcta, doh!

Agregar columna personalizada > Agregar nombre de columna

Fórmula de columna personalizada = «Nombre del servidor»

Así que ahora importo la consulta, agrego una columna personalizada con el nombre del servidor, repito para todas las demás consultas y luego agrego consultas. Luego puedo tenerlos todos en un Tablix grande y usar una rebanadora o una rebanadora de chiclet para filtrar según sea necesario. Acabo de probar en 2 consultas adjuntas para 2 servidores y parece funcionar.

dyb77

Disculpas a todos, estúpidamente me perdí algo. Puede agregar manualmente una columna personalizada con texto, ¡simplemente no obtuve la sintaxis correcta, doh!

Agregar columna personalizada > Agregar nombre de columna

Fórmula de columna personalizada = «Nombre del servidor»

Así que ahora importo la consulta, agrego una columna personalizada con el nombre del servidor, repito para todas las demás consultas y luego agrego consultas. Luego puedo tenerlos todos en un Tablix grande y usar una rebanadora o una rebanadora de chiclet para filtrar según sea necesario. Acabo de probar en 2 consultas adjuntas para 2 servidores y parece funcionar.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *