Guía de ruta de migración de servidor a servidor de informes: lista de verificación y secuencias de comandos

Migrar su servidor de informes Power BI es un proyecto de alto riesgo donde el tiempo de inactividad y el riesgo son preocupaciones importantes. Esta guía definitiva de GigXP proporciona un manual estratégico completo para navegar todo el proceso con confianza. Analizaremos por quémigración lado a ladoes el único enfoque recomendado profesionalmente y proporciona una descripción detalladaLista de verificación maestra de 3 fasespara guiarlo desde la planificación hasta la transición. Explora nuestroárbol de decisión interactivoPara validar su estrategia, utilice nuestro experto.guías de solución de problemasy copiarlo listo para usarScripts de PowerShell y T-SQLpara agilizar su proceso de inventario. Ya sea que se enfrente a una migración estándar o a una implementación escalable compleja, esta guía es su única fuente de información para una migración PBIRS exitosa.

GigXP | La guía definitiva para la migración del servidor de informes de Power BI

GigXP.com

Estrategia
Lista de verificación
Avanzado
Ampliación horizontal
Mejoramiento
Solución de problemas
Contáctenos

Estrategia
Lista de verificación
Avanzado
Ampliación horizontal
Mejoramiento
Solución de problemas
Contáctenos

Un manual estratégico y técnico para migrar PBIRS con confianza. Minimice el riesgo, elimine el tiempo de inactividad y modernice su plataforma de BI.

Por expertos de GigXP|Última actualización: 7 de agosto de 2025

In situ versus lado a lado: la primera decisión crítica

La elección fundamental en cualquier migración de PBIRS es la metodología. Esta decisión afecta el riesgo, el tiempo de inactividad y el estado a largo plazo de su plataforma de BI. Analicemos los dos enfoques principales.

Comparación de metodologías de migración

Visualizando las rutas y los riesgos de la migración

Ruta de actualización local

Ruta de migración lado a lado

CriterioActualización in situMigración lado a lado
Perfil de riesgoAlto.Un fallo puede dañar la instancia en vivo.Bajo.La instancia de producción permanece intacta.
Complejidad de reversiónMuy alto.Requiere restauración completa del servidor desde la copia de seguridad.Muy bajo.Cambio de DNS simple para revertir.
Falta del tiempoAlto e impredecible.Interrupción total durante la actualización.Mínimo.Limitado a una breve ventana de transferencia de DNS.
Actualización de hardware/sistema operativoNo compatible.Lo bloquea en la infraestructura existente.Ideal.Perfecta oportunidad para modernizar la plataforma.
Pruebas y ValidaciónLimitado.Ocurre después de la actualización durante la interrupción.Integral.Permite realizar pruebas paralelas exhaustivas.

La recomendación del arquitecto

Según la abrumadora evidencia, la **migración en paralelo es la única metodología recomendada** para cualquier entorno de producción o de Power BI Report Server crítico para el negocio. No es sólo una preferencia técnica; es una decisión fundamental sobre la gestión de riesgos y la continuidad del negocio.

La lista de verificación maestra de migración en tres fases

Una migración exitosa es una migración estructurada. Siga este proceso de tres fases para obtener un resultado fluido, predecible y exitoso.

1

Planificar y preparar

Fundación para el éxito

2

Ejecutar y construir

La migración técnica

3

Validar y transferir

Verificación y puesta en marcha

Fase 1Planificación y preparación previa a la migración

Esta fase inicial es la más crítica. Un descubrimiento y una preparación minuciosos aquí evitarán casi todos los errores de migración comunes.

Reúna el equipo

Involucre a administradores de BI, administradores de bases de datos, ingenieros de sistemas, seguridad y usuarios comerciales clave para UAT.

Inventario y descubrimiento

Catalogue todos los informes, fuentes de datos, configuraciones de seguridad, suscripciones y personalizaciones.

Preparar el entorno objetivo

Proporcione un nuevo servidor con un sistema operativo moderno, configure redes y cree cuentas de servicio.

Planificación y dimensionamiento de capacidad

Analice el uso en el servidor antiguo (CPU, RAM, vista ExecutionLog3) para dimensionar correctamente el nuevo entorno para la carga actual y futura.

Más lectura:Guía para la concesión de licencias del servidor de informes de Power BI (2025) (PBIRS)

Copias de seguridad críticas (no negociables)

Realice una copia de seguridad COMPLETA de las bases de datos `ReportServer` y `ReportServerTempDB` y, lo más importante, **haga una copia de seguridad de la clave de cifrado**.

Fase 2Ejecución de migración

Los pasos técnicos principales para instalar, migrar datos y configurar la nueva instancia.

Fase 3Validación y transición posterior a la migración

Pruebe rigurosamente el nuevo entorno para asegurarse de que sea una réplica funcional perfecta antes de dirigir a los usuarios a él.

Pruebas integrales

Valide la representación de informes, las actualizaciones de datos, las suscripciones y la seguridad (incluido RLS).

Prueba de aceptación del usuario (UAT)

Obtenga la aprobación de los usuarios comerciales clave en sus informes críticos.

Plan de comunicación

Ejecute el plan de comunicación: anuncie la ventana de transición y proporcione información de soporte posterior a la migración.

La transición

En una ventana planificada, actualice el registro CNAME de DNS para que apunte a la IP del nuevo servidor.

Desmantelamiento

Mantenga el servidor antiguo fuera de línea durante un período de "enfriamiento" (5 a 10 días) antes de desmantelarlo por completo.

Tema avanzado: Migración de personalizaciones

Las migraciones estándar son predecibles. Las extensiones personalizadas para la marca, la seguridad o el procesamiento de datos añaden una complejidad y un riesgo significativos.

Esta es la personalización más sencilla. El proceso consiste simplemente en descargar el archivo `.zip` del paquete de marca desde la configuración del sitio del servidor anterior y cargarlo en el nuevo servidor. El paquete contiene `metadata.xml`, `colors.json` y `logo.png` opcional.

Esta es una tarea de implementación de software, no solo de administración. Es posible que las DLL compiladas antiguas no sean compatibles con la nueva versión de PBIRS.

  1. Prioridad más alta:Localice el código fuente original de Visual Studio.
  2. Documente la configuración XML " y " en `rsreportserver.config`.
  3. Intente copiar las DLL y la configuración al nuevo servidor.
  4. Escenario probable:Si falla, debe volver a compilar el código fuente con las bibliotecas del nuevo servidor (`Microsoft.ReportingServices.Interfaces.dll`, etc.) e implementar las DLL recién creadas.

Estas extensiones (por ejemplo, para fuentes de datos personalizadas o para exportar a formatos propietarios) siguen el mismo patrón de alto riesgo que las extensiones de seguridad. El proceso de migración es una implementación de software y requiere experiencia del desarrollador.

  1. Identifique las DLL personalizadas y su configuración en `rsreportserver.config`.
  2. Localice el código fuente original. Esto no es negociable para una migración exitosa.
  3. Vuelva a compilar el código con las bibliotecas de la nueva versión de PBIRS.
  4. Implemente las nuevas DLL y la configuración en el nuevo servidor.

El escenario de implementación ampliada

La migración de una implementación escalable añade otra capa de complejidad. Esta arquitectura, utilizada para alta disponibilidad y equilibrio de carga, implica que varios nodos PBIRS comparten una única base de datos "ReportServer".

Arquitectura escalable

Usuarios

Balanceador de carga de red (NLB)

PBIRS Nodo 1

PBIRS Nodo 2

Base de datos de ReportServer compartida

Proceso de migración para escalamiento horizontal

La diferencia clave es que usted migra la base de datos compartida una vez y luego le une varios nodos nuevos.

Optimización posterior a la migración

Una migración exitosa es sólo el comienzo. Aproveche esta oportunidad para ajustar, monitorear y controlar su nueva y moderna plataforma de BI para lograr el máximo rendimiento y eficiencia.

Ajuste de rendimiento

Ajuste la configuración de la memoria en `rsreportserver.config` para que coincida con los recursos de su servidor. Ajuste `WorkingSetMinimum` y `WorkingSetMaximum` para gestionar la presión de la memoria de forma eficaz.

Establecer monitoreo

Utilice el Monitor de rendimiento de Windows para realizar un seguimiento de los contadores PBIRS clave (por ejemplo, 'Estado de presión de la memoria', 'Solicitudes en ejecución'). Configure alertas para umbrales críticos para administrar de forma proactiva el estado del servidor.

Implementar gobernanza

Utilice la migración como catalizador para limpiar la casa. Archive o elimine los informes no utilizados identificados durante la fase de inventario. Establecer un ciclo de vida del contenido y una política de certificación para nuevos informes.

Solución de problemas comunes de migración

Incluso con una planificación perfecta, pueden surgir problemas. A continuación se explica cómo diagnosticar y resolver los problemas más comunes.

Errores de conexión de origen de datos

Síntomas: errores de "No se puede crear una conexión", solicitudes de credenciales.

  • Causa más común:La clave de cifrado no se restauró correctamente. Vuelva a ejecutar el proceso de restauración.
  • Verifique las reglas del firewall entre el nuevo servidor PBIRS y la fuente de datos.
  • Verifique que las credenciales almacenadas no hayan caducado.
  • Investigue los problemas de "doble salto" de Kerberos comprobando los nombres principales de servicio (SPN) en AD.

Las suscripciones o actualizaciones fallan

Síntomas: las actualizaciones programadas fallan y los correos electrónicos no se entregan.

  • Asegúrese de que el servicio **Agente SQL Server** se esté ejecutando en el host de la base de datos.
  • Verifique que la configuración SMTP en el Administrador de configuración sea correcta.
  • Verifique las credenciales utilizadas para la actualización de datos.

Rendimiento lento

Síntomas: el portal web o los informes son más lentos que en el servidor anterior.

  • Compruebe si el nuevo servidor tiene un suministro insuficiente (CPU/RAM).
  • Cambie el plan de energía de Windows Server de "Equilibrado" a "Alto rendimiento".
  • Utilice SQL Profiler para analizar y optimizar consultas de informes de ejecución lenta.

Errores de “Acceso denegado”

Síntomas: los usuarios no pueden acceder a los informes que antes podían acceder.

  • Compare la configuración de seguridad de carpetas y elementos con su inventario previo a la migración.
  • Si utiliza una extensión de seguridad personalizada, verifique los registros de seguimiento para detectar errores que indiquen que no se pudo cargar.

Imágenes o logotipos rotos

Síntomas: los informes se muestran, pero las imágenes (por ejemplo, logotipos de empresas) aparecen como enlaces rotos.

  • Causa:Las imágenes en la definición del informe utilizan URL codificadas que apuntan al servidor anterior.
  • Solución:Edite el informe en Power BI Desktop o Report Builder. Vuelva a insertar la imagen directamente en el archivo del informe en lugar de hacer referencia a ella a través de una URL.

Apéndice: guiones útiles

Utilice estos scripts de PowerShell y T-SQL para ayudarle con su proceso de inventario y auditoría.

PowerShell: Inventario de todos los informes y fuentes de datos

Copiar

# Requires ReportingServicesTools module: Install-Module -Name ReportingServicesTools
$ReportServerUri = "https://YourOldServer/ReportServer"
$OutFile = "C:MigrationPBIRS_Inventory.csv"

$session = New-RsRestSession -ReportPortalUri $ReportServerUri
$catalogItems = Get-RsFolderContent -ReportServerUri $ReportServerUri -RsFolder "/" -Recurse

$reportInventory = @()
foreach ($item in $catalogItems) {
    $itemType = $item.TypeName
    $details = ""
    if ($itemType -in @("PowerBIReport", "Report")) {
        try {
            $dataSources = Get-RsDataSource -ReportServerUri $ReportServerUri -RsItem $item.Path
            $dsNames = ($dataSources.DataSource.Name | ForEach-Object { $_ -replace ';', ',' }) -join "; "
            $details = $dsNames
        } catch { $details = "Error fetching data sources" }
    }
    $reportInventory += @{
        Name         = $item.Name
        Path         = $item.Path
        Type         = $itemType
        CreatedBy    = $item.CreatedBy
        CreationDate = $item.CreationDate
        ModifiedBy   = $item.ModifiedBy
        ModifiedDate = $item.ModifiedDate
        DataSources  = $details
    }
}
$reportInventory | Export-Csv -Path $OutFile -NoTypeInformation
Write-Host "Inventory exported to $OutFile"

PowerShell: Programaciones de actualización de inventario de Power BI

Copiar

# Requires ReportingServicesTools module
$ReportServerUri = "https://YourOldServer/ReportServer"
$OutFile = "C:MigrationPBIRS_RefreshSchedules.csv"

$session = New-RsRestSession -ReportPortalUri $ReportServerUri
$pbiReports = Get-RsFolderContent -ReportServerUri $ReportServerUri -RsFolder "/" -Recurse | Where-Object { $_.TypeName -eq "PowerBIReport" }

$refreshPlans = @()
foreach ($report in $pbiReports) {
    try {
        $plans = Get-RsRestCacheRefreshPlan -ReportServerUri $ReportServerUri -Path $report.Path
        if ($null -ne $plans) {
            foreach ($plan in $plans.value) {
                $refreshPlans += @{
                    ReportName   = $report.Name
                    ReportPath   = $report.Path
                    PlanID       = $plan.Id
                    Owner        = $plan.Owner
                    ScheduleDesc = $plan.Description
                    LastRunTime  = $plan.LastRunTime
                    LastStatus   = $plan.LastStatus
                }
            }
        }
    } catch { Write-Warning "Could not get refresh plan for $($report.Path)" }
}
$refreshPlans | Export-Csv -Path $OutFile -NoTypeInformation
Write-Host "Refresh schedule inventory exported to $OutFile"

T-SQL: Carpeta de auditoría y seguridad de elementos

Copiar

-- Run against the ReportServer database
SELECT
    c.Path,
    c.Name AS ItemName,
    CASE c.Type
        WHEN 1 THEN 'Folder'
        WHEN 2 THEN 'Paginated Report'
        WHEN 5 THEN 'Data Source'
        WHEN 7 THEN 'Shared Dataset'
        WHEN 13 THEN 'Power BI Report'
        ELSE 'Other'
    END AS ItemType,
    u.UserName,
    r.RoleName,
    r.Description AS RoleDescription
FROM
    dbo.Catalog c
JOIN
    dbo.PolicyUserRole pur ON c.PolicyID = pur.PolicyID
JOIN
    dbo.Users u ON pur.UserID = u.UserID
JOIN
    dbo.Roles r ON pur.RoleID = r.RoleID
ORDER BY
    c.Path, u.UserName;

T-SQL: Auditoría de suscripciones a informes paginados

Copiar

-- Run against the ReportServer database
SELECT
    c.Name AS ReportName,
    c.Path AS ReportPath,
    s.Description AS SubscriptionDescription,
    s.EventType,
    s.DeliveryExtension,
    u.UserName AS Owner,
    s.LastStatus,
    s.LastRunTime,
    s.Parameters,
    CASE s.DataChanged
        WHEN 1 THEN 'Data-Driven'
        ELSE 'Standard'
    END AS SubscriptionType
FROM
    dbo.Subscriptions s
JOIN
    dbo.Catalog c ON s.Report_OID = c.ItemID
JOIN
    dbo.Users u ON s.OwnerID = u.UserID
ORDER BY
    c.Path, c.Name;

GigXP.com

Modernizando su plataforma de datos con orientación experta y estrategias comprobadas.

© 2025 GigXP.com. Reservados todos los derechos.