Misma consulta en varios servidores

Un usuario Pregunto ✅

jmiridium

Me gustaría ejecutar la siguiente consulta en varios servidores e ingresar los resultados en una tabla:

SELECCIONE
SERVERPROPERTY (‘MachineName’) AS [ServerName],
SERVERPROPERTY (‘ServerName’) COMO [ServerInstanceName],
SERVERPROPERTY (‘InstanceName’) AS [Instance],
SERVERPROPERTY (‘Edición’) COMO [Edition],
SERVERPROPERTY (‘ProductVersion’) COMO [ProductVersion],
Izquierda (@@ Versión, Charindex (‘-‘, @@ versión) – 2) Como VersionName

es posible?

prathy

Capture.PNG

Hola,

Lo que necesita es una consulta con todos los nombres de servidor para los que desea obtener información del servidor. Luego puede crear una función en el editor de consultas de Power Query / Power BI como se muestra a continuación

dejar
Fuente = (ServerName como cualquiera) => dejar
Fuente = Sql.Database (ServerName, «maestro», [Query=»SELECT#(lf)            SERVERPROPERTY(‘MachineName’) AS [ServerName], # (lf) SERVERPROPERTY (‘ServerName’) AS [ServerInstanceName], # (lf) SERVERPROPERTY (‘InstanceName’) AS [Instance], # (lf) SERVERPROPERTY (‘Edición’) AS [Edition], # (lf) SERVERPROPERTY (‘ProductVersion’) AS [ProductVersion], # (lf) Izquierda (@@ Versión, Charindex (‘-‘, @@ versión) – 2) Como VersionName «])
en
Fuente
en
Fuente

La consulta anterior utiliza el parámetro ServerName. Una vez que tenga la función, puede invocar la función en el editor de consultas, elija la columna nombre del servidor como valor para la función. lo que le permitirá ejecutar esa función para todos los servidores al mismo tiempo.

¡Espero que ayude!

Gracias,

Prathy

prathy

Capture.PNG

Hola,

Lo que necesita es una consulta con todos los nombres de servidor para los que desea obtener información del servidor. Luego puede crear una función en el editor de consultas de Power Query / Power BI como se muestra a continuación

dejar
Fuente = (ServerName como cualquiera) => dejar
Fuente = Sql.Database (ServerName, «maestro», [Query=»SELECT#(lf)            SERVERPROPERTY(‘MachineName’) AS [ServerName], # (lf) SERVERPROPERTY (‘ServerName’) AS [ServerInstanceName], # (lf) SERVERPROPERTY (‘InstanceName’) AS [Instance], # (lf) SERVERPROPERTY (‘Edición’) AS [Edition], # (lf) SERVERPROPERTY (‘ProductVersion’) AS [ProductVersion], # (lf) Izquierda (@@ Versión, Charindex (‘-‘, @@ versión) – 2) Como VersionName «])
en
Fuente
en
Fuente

La consulta anterior utiliza el parámetro ServerName. Una vez que tenga la función, puede invocar la función en el editor de consultas, elija la columna nombre del servidor como valor para la función. lo que le permitirá ejecutar esa función para todos los servidores al mismo tiempo.

¡Espero que ayude!

Gracias,

Prathy

jmiridium

En respuesta a prathy

¿Cómo ingreso varios servidores en el campo de entrada?

En respuesta a jmiridium

Hola @jmiridium,

La consulta que proporcionó puede devolver un registro cada vez. Puede utilizar la sugerencia de @ prathy para definir una función personalizada e invocar para devolver varias tablas que contengan la información de cada servidor por tabla, luego use las consultas anexadas para fusionar esas tablas en una. Siga los pasos a continuación:

1. Cree una consulta en blanco, escriba la consulta sugerida por @prathy.

e1.PNG

2. Ingrese el nombre del servidor y haga clic en Invocar, devolverá una tabla que contiene información cuando se ejecute la consulta en ese servidor específico. Puede invocar esta función varias veces para devolver varias tablas.

e2.PNG

3. Utilice la función Fusionar consulta como nueva.

4. Puede configurar las tablas generadas por la función de invocación para que no se carguen en la tabla y solo carguen la tabla adjunta al desmarcar Habilitar carga.

e3.PNG

e4.PNG

Consulte el archivo .pbix adjunto.

Atentamente,
Qiuyun Yu

jmiridium

En respuesta a v-qiuyu-msft

Esto funcionó, pero agregué la consulta debido a varios servidores que necesitaban esta consulta para ejecutarse y crear una sola tabla

jmiridium

En respuesta a jmiridium

Intentando hacer lo mismo con MySQL. Recibiendo este error:

Fórmula.Firewall: La consulta ‘ENTMYSQLCC’ (paso ‘Consulta adjunta’) hace referencia a otras consultas o pasos, por lo que es posible que no acceda directamente a una fuente de datos. Reconstruya esta combinación de datos.

Deja un comentario

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