Exportar (0) Imprimir
Expandir todo

Usar PowerShell para crear una máquina virtual de Azure con un servidor de informes en modo nativo

Actualizado: diciembre de 2014

Este tema describe y le guía por la implementación y la configuración de un servidor de informes en modo nativo de SQL Server Reporting Services en una máquina virtual de Azure. Los pasos de este documento utilizan una combinación de pasos manuales para crear la máquina virtual y un script de Windows PowerShell para configurar Reporting Services en la VM. El script de configuración incluye abrir un puerto de firewall para HTTP o HTTPS.

noteNota
Si no necesita HTTPS en el servidor de informes, omita el paso 2.

Después de crear la máquina virtual en el paso 1, dirígete a la sección Usar un script para configurar el servidor de informes y HTTP. Después de ejecutar el script, el servidor de informes está listo para usarse.

  

En este tema:

  • Suscripción de Azure: Compruebe el número de núcleos disponibles con la suscripción de Azure. Si crea el tamaño de memoria virtual recomendado, A3, necesita cuatro núcleos disponibles. Si usa un tamaño de memoria virtual A2, necesita dos núcleos disponibles.

    Para comprobar el límite de núcleos de su suscripción, en el Portal de administración de Azure, haga clic en CONFIGURACIÓN en el panel izquierdo y, luego, haga clic en USO en el menú superior.

    Para aumentar la cuota básica, póngase en contacto con el servicio de soporte técnico de Azure. Para obtener información sobre el tamaño de la VM, vea Tamaños de máquina virtual y servicio en la nube de Azure.

  • Script de Windows PowerShell:en el tema se supone que tienes conocimientos prácticos básicos de Windows PowerShell. Para obtener más información acerca de cómo usar Windows PowerShell, vea lo siguiente:

Icono de flecha usado con el vínculo Volver al principio Top

  1. Vaya al Portal de administración de Azure.

  2. Haga clic en Máquinas virtuales en el panel izquierdo.

    máquinas virtuales de windows azure
  3. Haga clic en Nuevo.

    nuevo botón
  4. Haga clic en De la galería.

    nueva máquina virtual de la galería
  5. Haga clic en Estándar de SQL Server 2014 RTM – Windows Server 2012 R2 y haga clic en la flecha para continuar.

    siguiente   

    Si necesita la característica de suscripciones controladas por datos Reporting Services, elija SQL Server 2014 RTM Enterprise – Windows Server 2012 R2. Para obtener más información sobre las ediciones de SQL Server y la compatibilidad de las características, vea Características admitidas por las ediciones de SQL Server 2012.

  6. En la página Configuración de la máquina virtual, modifique los campos siguientes:

    • Si hay más de una FECHA DE LANZAMIENTO DE LA VERSIÓN, seleccione la versión más reciente.

    • Nombre de la máquina virtual: el nombre del equipo también se utiliza en la siguiente página de configuración como nombre DNS del servicio en la nube predeterminado. El nombre DNS debe ser único en el servicio de Azure. Considera la posibilidad de configurar un nombre de equipo para la máquina virtual que describa para qué se va a usar. Por ejemplo, ssrsnativecloud.

    • Nivel: Standard

    • Tamaño:A3 es el tamaño de máquina virtual recomendado para las cargas de trabajo de SQL Server. Si una máquina virtual solo se utiliza como servidor de informes, el tamaño A2 es suficiente a menos que el servidor de informes experimente una carga de trabajo grande. Para obtener información sobre los precios de VM, consulte Precio de máquinas virtuales.

    • Nuevo nombre de usuario: el nombre que proporciones se creará como administrador en la máquina virtual.

    • Nueva contraseña y confirmar. Esta contraseña se utiliza para la cuenta de administrador y se recomienda que use una contraseña segura.

    • Haga clic en Siguientesiguiente.

  7. En la siguiente página, modifique los campos siguientes:

    1. Servicio en la nube: seleccione Crear un nuevo servicio en la nube.

    2. Nombre de DNS del servicio en la nube: es el nombre DNS público del servicio en la nube asociado a la máquina virtual. El nombre predeterminado es el que escribió para la máquina virtual. En pasos posteriores del tema, cree un certificado SSL de confianza y, luego, el nombre DNS se usa para el valor del "Emitido a" del certificado.

    3. Región/grupo de afinidad/red virtual: elige la región más cercana a tus usuarios finales.

    4. Cuenta de almacenamiento: usa una cuenta de almacenamiento generada automáticamente.

    5. Conjunto de disponibilidad: Ninguna.

    6. EXTREMOS Mantenga los extremos de Escritorio remoto y PowerShell y, luego, agregue un extremo HTTP o HTTPS, según el entorno.

      • HTTP: los puertos público y privado predeterminados son 80.

        noteNota
        Si usa un puerto privado distinto de 80, modifique $HTTPport = 80 en el script HTTP.

      • HTTPS: los puertos público y privado predeterminados son 443. Una práctica recomendada de seguridad consiste en cambiar el puerto privado y configurar el firewall y el servidor de informes para utilizar el puerto privado. Para obtener más información de los extremos, vea Configurar la comunicación con una máquina virtual.

      noteNota
      Si usa un puerto distinto de 443, cambie el parámetro $HTTPsport = 443 el script HTTPS.

    7. Haga clic en Siguiente siguiente.

  8. En la última página del asistente, mantenga el valor predeterminado Instalar el agente de VM seleccionado. Los pasos que se describen en este tema no usan el agente de VM, pero si piensa mantener esta máquina virtual, el agente de máquina virtual y las extensiones le permitirán mejorar CM. Para obtener más información sobre el agente de VM, vea Agente de máquina virtual y extensiones – Parte 1. Una de las extensiones predeterminadas instaladas que se ejecuta es la extensión "BGINFO" que se muestra en el escritorio de la máquina virtual, la información del sistema como la dirección IP interna y el espacio libre en disco.

  9. Haga clic en Completar aceptar.

  10. El Estado de la máquina virtual se muestra como Iniciando (aprovisionamiento) durante el proceso de aprovisionamiento y luego se muestra como En ejecución cuando la máquina virtual se aprovisiona y está lista para usarse.

Icono de flecha usado con el vínculo Volver al principio Top

noteNota
Si no se requiere HTTPS en el servidor de informes, puedes omitir el paso 2 e ir a la sección Usar un script para configurar el servidor de informes y HTTP. Use el script HTTP para configurar rápidamente el servidor de informes y este estará listo para usarse.

Para usar HTTPS en la máquina virtual, necesita un certificado SSL de confianza. Según el escenario, puede utilizar uno de los dos métodos siguientes:

  1. Solicite un certificado de servidor para el sitio web desde una entidad de certificación.

    Puede utilizar el Asistente para certificados de servidor web a fin de generar un archivo de solicitud de certificado (Certreq.txt) que envía a una entidad de certificación, o para generar una solicitud para una entidad de certificación en línea. Por ejemplo, Servicios de Certificate Server de Microsoft en Windows Server 2012. Dependiendo del nivel de garantía de identificación proporcionado por el certificado de servidor, puede tardar días o varios meses en que la entidad de certificación apruebe la solicitud y le envíe un archivo de certificado.

    Para obtener más información sobre la solicitud de certificados a un servidor, vea lo siguiente:

    ImportantImportante
    El campo emitido a del certificado SSL de confianza debe ser el mismo que el nombre DNS del servicio en la nube que utilizó para la nueva máquina virtual.

  2. Instale el certificado de servidor en el servidor web . El servidor web en este caso es la máquina virtual que hospeda el servidor de informes y el sitio web se crea en pasos posteriores al configurar Reporting Services. Para obtener más información acerca de cómo instalar el certificado de servidor en el servidor web utilizando el complemento MMC Certificado, vea Instalar un certificado de servidor.

    Si desea utilizar el script incluido con este tema para configurar el servidor de informes, el valor de los certificados Huella digital se requiere como parámetro del script. Vea la siguiente sección para obtener información detallada sobre cómo obtener la huella digital del certificado.

  3. Asigne el certificado de servidor al servidor de informes. La asignación se completa en la sección siguiente al configurar el servidor de informes.

Icono de flecha usado con el vínculo Volver al principio Top

Un certificado autofirmado se creó en la máquina virtual cuando esta se aprovisionó. El certificado tiene el mismo nombre que el nombre DNS de la máquina virtual. Para evitar errores del certificado, es necesario que el certificado sea de confianza en la propia máquina virtual y también para todos los usuarios del sitio.

  1. Para confiar en la entidad de certificación raíz en la máquina virtual local, agregue el certificado a las entidades de certificación raíz de confianza. A continuación se incluye un resumen de los pasos necesarios. Para conocer los pasos detallados para confiar en la entidad de certificación, vea Instalar un certificado de servidor.

    1. En el Portal de administración de Azure, seleccione la máquina virtual y haga clic en Conectar. Según la configuración del explorador, deberá guardar un archivo .rdp para conectarse a la máquina virtual.

      conectarse a una máquina virtual de azure Utilice el nombre de la máquina virtual y la contraseña que configuró al crear la máquina virtual. Por ejemplo, en la siguiente imagen, el nombre de la máquina virtual es ssrsnativecloud y el nombre de usuario es testuser.

      el inicio de sesión incluye el nombre de vm
    2. Ejecute mmc.exe. Para obtener más información, vea Cómo Ver certificados con el complemento de MMC.

    3. En el menú de la aplicación de consola Archivo, agregue el complemento Certificados, seleccione Cuenta de equipo cuando se le pida y, luego, haga clic en Siguiente.

    4. Seleccione Equipo local para administrar y, a continuación, haga clic en Finalizar.

    5. Haga clic en Aceptar y, luego, expanda los nodos Certificados -Personal y haga clic en Certificados. El certificado se denomina con el nombre DNS de la máquina virtual y finaliza con cloudapp.net. Haga clic con el botón secundario en el nombre de certificado y, a continuación, haga clic en Copiar.

    6. Expanda el nodo Entidades de certificación raíz de confianza y haga clic con el botón secundario en Certificados y haga clic en Pegar.

    7. Para validar, haga doble clic en el nombre del certificado bajo Entidades de certificación raíz de confianza y compruebe que no hay errores y puede ver el certificado. Si desea utilizar el script HTTPS incluido con este tema para configurar el servidor de informes, el valor de los certificados Huella digital se requiere como parámetro del script. Para obtener el valor de huella digital, complete lo siguiente. También hay un ejemplo de PowerShell para recuperar la huella digital en la sección Usar un script para configurar el servidor de informes y HTTPS.

      1. Haga doble clic en el nombre del certificado, por ejemplo ssrsnativecloud.cloudapp.net.

      2. Haga clic en la pestaña Detalles.

      3. Haga clic en Huella digital. El valor de la huella digital se muestra en el campo de detalles, por ejemplo ‎a6 08 3c df f9 0b f7 e3 7c 25 ed a4 ed 7e ac 91 9c 2c fb 2f.

      4. Copie la huella digital y guarde el valor para más tarde o modifique el script ahora.

      5. (*) Antes de ejecutar el script, quite los espacios entre los pares de valores. Por ejemplo, la huella digital que se indicó antes ahora sería ‎a6083cdff90bf7e37c25eda4ed7eac919c2cfb2f.

  2. Asigne el certificado de servidor al servidor de informes. La asignación se completa en la sección siguiente al configurar el servidor de informes.

Si usa un certificado SSL autofirmado, el nombre del certificado ya coincide con el nombre de host de la máquina virtual. Por consiguiente, el DNS del equipo ya está registrado globalmente y se puede tener acceso a él desde cualquier cliente.

Icono de flecha usado con el vínculo Volver al principio Top

En esta sección se ofrece una guía para la configuración de la máquina virtual como un servidor de informes en modo nativo Reporting Services. Puede usar uno de los métodos siguientes para configurar el servidor de informes:

Para conocer los pasos más detallados, vea Conectarse a la máquina virtual e iniciar el administrador de configuración de Reporting Services.

Nota sobre la autenticación: la autenticación de Windows es el método recomendado y es el predeterminado en Reporting Services. Solo los usuarios que se configuran en la máquina virtual pueden tener acceso a Reporting Services y ser asignados a los roles de Reporting Services.

Para usar el script de Windows PowerShell para configurar el servidor de informes, complete los siguientes pasos. La configuración incluye HTTP y no HTTPS:

  1. En el Portal de administración de Azure, seleccione la máquina virtual y haga clic en Conectar. Según la configuración del explorador, deberá guardar un archivo .rdp para conectarse a la máquina virtual.

    conectarse a una máquina virtual de azure Utilice el nombre de la máquina virtual y la contraseña que configuró al crear la máquina virtual. Por ejemplo, en la siguiente imagen, el nombre de la máquina virtual es ssrsnativecloud y el nombre de usuario es testuser.

    el inicio de sesión incluye el nombre de vm
  2. En la máquina virtual, abra el ISE de Windows PowerShell con privilegios administrativos. El ISE de PowerShell se instala de forma predeterminada en el servidor Windows Server 2012. Se recomienda utilizar el ISE en lugar de una ventana estándar de Windows PowerShell para que pueda pegar el script en el ISE, modificar el script y ejecutarlo.

  3. En el ISE de Windows PowerShell, haga clic en el menú Ver y en Mostrar el panel de scripts.

  4. Copie el siguiente script y péguelo en el panel de scripts del ISE de Windows PowerShell.

    ## This script configures a Native mode report server without HTTPS
    $ErrorActionPreference = "Stop"
    
    $server = $env:COMPUTERNAME
    $HTTPport = 80 # change the value if you used a different port for the private HTTP endpoint when the VM was created.
    
    ## Set PowerShell execution policy to be able to run scripts
    Set-ExecutionPolicy RemoteSigned -Force
    
    ## Utility method for verifying an operation's result
    function CheckResult
    {
        param($wmi_result, $actionname)
        if ($wmi_result.HRESULT -ne 0) {
            write-error "$actionname failed. Error from WMI: $($wmi_result.Error)"
        }
    }
    
    $starttime=Get-Date
    write-host -foregroundcolor DarkGray $starttime StartTime
    
    ## ReportServer Database name - this can be changed if needed
    $dbName='ReportServer'
    
    ## Register for MSReportServer_ConfigurationSetting
    ## Change the version portion of the path to "v11" to use the script for SQL Server 2012
    $RSObject = Get-WmiObject -class "MSReportServer_ConfigurationSetting" -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERVER\v12\Admin"
    
    ## Report Server Configuration Steps
    
    ## Setting the web service URL ##
    write-host -foregroundcolor green "Setting the web service URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for ReportServer site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportServerWebService','ReportServer',1033)
        CheckResult $r "SetVirtualDirectory for ReportServer"
    
    ## ReserveURL for ReportServerWebService - port $HTTPport (for local usage)
        write-host "Calling ReserveURL port $HTTPport"
        $r = $RSObject.ReserveURL('ReportServerWebService',"http://+:$HTTPport",1033)
        CheckResult $r "ReserveURL for ReportServer port $HTTPport" 
       
    ## Setting the Database ##
    write-host -foregroundcolor green "Setting the Database"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## GenerateDatabaseScript - for creating the database
        write-host "Calling GenerateDatabaseCreationScript for database $dbName"
        $r = $RSObject.GenerateDatabaseCreationScript($dbName,1033,$false)
        CheckResult $r "GenerateDatabaseCreationScript"
        $script = $r.Script
    
    ## Execute sql script to create the database
        write-host 'Executing Database Creation Script'
        $savedcvd = Get-Location
        Import-Module SQLPS              ## this automatically changes to sqlserver provider
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
      
    ## GenerateGrantRightsScript 
        $DBUser = "NT Service\ReportServer"
        write-host "Calling GenerateDatabaseRightsScript with user $DBUser"
        $r = $RSObject.GenerateDatabaseRightsScript($DBUser,$dbName,$false,$true)
        CheckResult $r "GenerateDatabaseRightsScript"
        $script = $r.Script
    
    ## Execute grant rights script
        write-host 'Executing Database Rights Script'
        $savedcvd = Get-Location
        cd sqlserver:\
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
    
    ## SetDBConnection - uses Windows Service (type 2), username is ignored
        write-host "Calling SetDatabaseConnection server $server, DB $dbName"
        $r = $RSObject.SetDatabaseConnection($server,$dbName,2,'','')
        CheckResult $r "SetDatabaseConnection"  
    
    ## Setting the Report Manager URL ##
    
    write-host -foregroundcolor green "Setting the Report Manager URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for Reports (Report Manager) site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportManager','Reports',1033)
        CheckResult $r "SetVirtualDirectory"
    
    ## ReserveURL for ReportManager  - port $HTTPport
        write-host "Calling ReserveURL for ReportManager, port $HTTPport"
        $r = $RSObject.ReserveURL('ReportManager',"http://+:$HTTPport",1033)
        CheckResult $r "ReserveURL for ReportManager port $HTTPport"
    
    write-host -foregroundcolor green "Open Firewall port for $HTTPport"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## Open Firewall port for $HTTPport
        New-NetFirewallRule -DisplayName “Report Server (TCP on port $HTTPport)” -Direction Inbound –Protocol TCP –LocalPort $HTTPport
        write-host "Added rule Report Server (TCP on port $HTTPport) in Windows Firewall"
    
    write-host 'Operations completed, Report Server is ready'
    write-host -foregroundcolor DarkGray $starttime StartTime
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time 
    
    
  5. Si ha creado la máquina virtual con un puerto HTTP distinto de 80, modifique el parámetro $HTTPport = 80.

  6. El script está configurado actualmente para Reporting Services. Si desea ejecutar el script Reporting Services, modifique la parte de la versión de la ruta de acceso al espacio de nombres "v11", en la instrucción Get-WmiObject.

  7. Ejecute el script.

Validación: para comprobar que la funcionalidad básica del servidor de informes funciona, consulta la sección Comprobación de la configuración más adelante en este tema.

Icono de flecha usado con el vínculo Volver al principio Top

Para usar Windows PowerShell para configurar el servidor de informes, complete los siguientes pasos. La configuración incluye HTTPS y no HTTP.

  1. En el Portal de administración de Azure, seleccione la máquina virtual y haga clic en Conectar. Según la configuración del explorador, deberá guardar un archivo .rdp para conectarse a la máquina virtual.

    conectarse a una máquina virtual de azure Utilice el nombre de la máquina virtual y la contraseña que configuró al crear la máquina virtual. Por ejemplo, en la siguiente imagen, el nombre de la máquina virtual es ssrsnativecloud y el nombre de usuario es testuser.

    el inicio de sesión incluye el nombre de vm
  2. En la máquina virtual, abra el ISE de Windows PowerShell con privilegios administrativos. El ISE de PowerShell se instala de forma predeterminada en el servidor Windows Server 2012. Se recomienda utilizar el ISE en lugar de una ventana estándar de Windows PowerShell para que pueda pegar el script en el ISE, modificar el script y ejecutarlo.

  3. Para habilitar la ejecución de scripts, ejecute el comando de Windows PowerShell siguiente:

    Set-ExecutionPolicy RemoteSigned
    
    A continuación, puede ejecutar el siguiente procedimiento para comprobar la directiva

    Get-ExecutionPolicy
    
  4. En el ISE de Windows PowerShell, haga clic en el menú Ver y en Mostrar el panel de scripts.

  5. Copie el siguiente script y péguelo en el panel de scripts del ISE de Windows PowerShell.

    ## This script configures the report server, including HTTPS
    $ErrorActionPreference = "Stop"
    $httpsport=443 # modify if you used a different port number when the HTTPS endpoint was created.
    
    # You can run the following command to get (.cloudapp.net certificates) so you can copy the thumbprint / certificate hash
    #dir cert:\LocalMachine -rec | Select-Object * | where {$_.issuer -like "*cloudapp*" -and $_.pspath -like "*root*"} | select dnsnamelist, thumbprint, issuer
    #
    # The certifacte hash is a REQUIRED parameter
    $certificatehash="" 
    # the certificate hash should not contain spaces
    
    if ($certificatehash.Length -lt 1) 
    {
        write-error "certificatehash is a required parameter"
    } 
    # Certificates should be all lower case
    $certificatehash=$certificatehash.ToLower()
    $server = $env:COMPUTERNAME
    # If the certificate is not a wildcard certificate, comment out the following line, and enable the full $DNSNAme reference.
    $DNSName="+"
    #$DNSName="$server.cloudapp.net"
    $DNSNameAndPort = $DNSName + ":$httpsport"
    
    ## Utility method for verifying an operation's result
    function CheckResult
    {
        param($wmi_result, $actionname)
        if ($wmi_result.HRESULT -ne 0) {
            write-error "$actionname failed. Error from WMI: $($wmi_result.Error)"
        }
    }
    
    $starttime=Get-Date
    write-host -foregroundcolor DarkGray $starttime StartTime
    
    ## ReportServer Database name - this can be changed if needed
    $dbName='ReportServer'
    
    write-host "The script will use $DNSNameAndPort as the DNS name and port" 
    
    ## Register for MSReportServer_ConfigurationSetting
    ## Change the version portion of the path to "v11" to use the script for SQL Server 2012
    $RSObject = Get-WmiObject -class "MSReportServer_ConfigurationSetting" -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERVER\v12\Admin"
    
    ## Reporting Services Report Server Configuration Steps
    
    ## 1. Setting the web service URL ##
    write-host -foregroundcolor green "Setting the web service URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for ReportServer site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportServerWebService','ReportServer',1033)
        CheckResult $r "SetVirtualDirectory for ReportServer"
    
    ## ReserveURL for ReportServerWebService - port 80 (for local usage)
        write-host 'Calling ReserveURL port 80'
        $r = $RSObject.ReserveURL('ReportServerWebService','http://+:80',1033)
        CheckResult $r "ReserveURL for ReportServer port 80" 
    
    ## ReserveURL for ReportServerWebService - port $httpsport
        write-host "Calling ReserveURL port $httpsport, for URL: https://$DNSNameAndPort"
        $r = $RSObject.ReserveURL('ReportServerWebService',"https://$DNSNameAndPort",1033)
        CheckResult $r "ReserveURL for ReportServer port $httpsport" 
    
    ## CreateSSLCertificateBinding for ReportServerWebService port $httpsport
        write-host "Calling CreateSSLCertificateBinding port $httpsport, with certificate hash: $certificatehash"
        $r = $RSObject.CreateSSLCertificateBinding('ReportServerWebService',$certificatehash,'0.0.0.0',$httpsport,1033)
        CheckResult $r "CreateSSLCertificateBinding for ReportServer port $httpsport" 
        
    ## 2. Setting the Database ##
    write-host -foregroundcolor green "Setting the Database"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## GenerateDatabaseScript - for creating the database
        write-host "Calling GenerateDatabaseCreationScript for database $dbName"
        $r = $RSObject.GenerateDatabaseCreationScript($dbName,1033,$false)
        CheckResult $r "GenerateDatabaseCreationScript"
        $script = $r.Script
    
    ## Execute sql script to create the database
        write-host 'Executing Database Creation Script'
        $savedcvd = Get-Location
        Import-Module SQLPS                    ## this automatically changes to sqlserver provider
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
      
    ## GenerateGrantRightsScript 
        $DBUser = "NT Service\ReportServer"
        write-host "Calling GenerateDatabaseRightsScript with user $DBUser"
        $r = $RSObject.GenerateDatabaseRightsScript($DBUser,$dbName,$false,$true)
        CheckResult $r "GenerateDatabaseRightsScript"
        $script = $r.Script
    
    ## Execute grant rights script
        write-host 'Executing Database Rights Script'
        $savedcvd = Get-Location
        cd sqlserver:\
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
    
    ## SetDBConnection - uses Windows Service (type 2), username is ignored
        write-host "Calling SetDatabaseConnection server $server, DB $dbName"
        $r = $RSObject.SetDatabaseConnection($server,$dbName,2,'','')
        CheckResult $r "SetDatabaseConnection"  
    
    ## 3. Setting the Report Manager URL ##
    
    write-host -foregroundcolor green "Setting the Report Manager URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for Reports (Report Manager) site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportManager','Reports',1033)
        CheckResult $r "SetVirtualDirectory"
    
    ## ReserveURL for ReportManager  - port 80
        write-host 'Calling ReserveURL for ReportManager, port 80'
        $r = $RSObject.ReserveURL('ReportManager','http://+:80',1033)
        CheckResult $r "ReserveURL for ReportManager port 80"
    
    ## ReserveURL for ReportManager - port $httpsport
        write-host "Calling ReserveURL port $httpsport, for URL: https://$DNSNameAndPort"
        $r = $RSObject.ReserveURL('ReportManager',"https://$DNSNameAndPort",1033)
        CheckResult $r "ReserveURL for ReportManager port $httpsport" 
    
    ## CreateSSLCertificateBinding for ReportManager port $httpsport
        write-host "Calling CreateSSLCertificateBinding port $httpsport with certificate hash: $certificatehash"
        $r = $RSObject.CreateSSLCertificateBinding('ReportManager',$certificatehash,'0.0.0.0',$httpsport,1033)
        CheckResult $r "CreateSSLCertificateBinding for ReportManager port $httpsport" 
    
    write-host -foregroundcolor green "Open Firewall port for $httpsport"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## Open Firewall port for $httpsport
        New-NetFirewallRule -DisplayName “Report Server (TCP on port $httpsport)” -Direction Inbound –Protocol TCP –LocalPort $httpsport
        write-host "Added rule Report Server (TCP on port $httpsport) in Windows Firewall"
    
    write-host 'Operations completed, Report Server is ready'
    write-host -foregroundcolor DarkGray $starttime StartTime
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    
     

  6. Modifique los parámetros siguientes en el script:

    1. $certificatehash: Este es un parámetro requerido. Si no ha guardado el valor de certificado de los pasos anteriores, use uno de los métodos siguientes para copiar el valor hash del certificado de la huella digital de certificados:

      • En la máquina virtual, abra el ISE de Windows PowerShell y ejecute el comando siguiente:

        dir cert:\LocalMachine -rec | Select-Object * | where {$_.issuer -like "*cloudapp*" -and $_.pspath -like "*root*"} | select dnsnamelist, thumbprint, issuer
        
      • El resultado será similar al siguiente. Si el script devuelve una línea en blanco, la máquina virtual no tiene un certificado configurado por ejemplo, vea la sección Para usar el certificado autofirmado de las máquinas virtuales.

      OR

      1. En la máquina virtual, ejecute mmc.exe y después agregue el complemento Certificados.

      2. En el nodo de Entidades de certificación raíz de confianza, haga doble clic en el nombre del certificado. Si usa el certificado autofirmado de la máquina virtual, se denomina con el nombre DNS de la misma y finaliza con cloudapp.net.

      3. Haga clic en la pestaña Detalles.

      4. Haga clic en Huella digital. El valor de la huella digital se muestra en el campo de detalles, por ejemplo af 11 60 b6 4b 28 8d 89 0a 82 12 ff 6b a9 c3 66 4f 31 90 48.

      5. Antes de ejecutar el script, quite los espacios entre los pares de valores. Por ejemplo, af1160b64b288d890a8212ff6ba9c3664f319048

    2. $httpsport: Si usó el puerto 443 para el extremo HTTPS, no necesita actualizar este parámetro en el script. De lo contrario, use el valor de puerto seleccionado al configurar el extremo privado HTTPS en la máquina virtual.

    3. $DNSName:La secuencia de comandos se configura para un certificado comodín $DNSName="+". Si no quiere configurar para un enlace de certificado comodín, comente $DNSName="+" y habilite la línea siguiente, la referencia completa de $DNSNAme, ##$DNSName="$server.cloudapp.net".

      Cambie el valor $DNSName si no desea usar el nombre DNS de la máquina virtual para Reporting Services. Si utiliza el parámetro, el certificado debe utilizar este nombre y se registra el nombre global en un servidor DNS.

    4. El script está configurado actualmente para Reporting Services. Si desea ejecutar el script Reporting Services, modifique la parte de la versión de la ruta de acceso al espacio de nombres "v11", en la instrucción Get-WmiObject.

  7. Ejecute el script.

Validación: para comprobar que la funcionalidad básica del servidor de informes funciona, consulta la sección Comprobación de la configuración más adelante en este tema. Para comprobar el enlace de certificados abra un símbolo del sistema con privilegios administrativos y, luego, ejecute el siguiente comando:

netsh http show sslcert

El resultado incluirá lo siguiente:

IP:port : 0.0.0.0:443

Certificate Hash : f98adf786994c1e4a153f53fe20f94210267d0e7

Icono de flecha usado con el vínculo Volver al principio Top

Si no desea ejecutar el script de PowerShell para configurar el servidor de informes, siga los pasos de esta sección para utilizar el administrador de configuración del modo nativo de Reporting Services para configurar el servidor de informes.

  1. En el Portal de administración de Azure, seleccione la máquina virtual y haga clic en Conectar. Utilice el nombre de usuario y la contraseña que configuró al crear la máquina virtual.

    conectarse a una máquina virtual de azure
  2. Ejecute la actualización de Windows e instale las actualizaciones en la máquina virtual. Si se requiere reiniciar la máquina virtual, hágalo y vuelva a conectarla desde el portal de administración de Azure.

  3. En el menú Inicio de la máquina virtual, escriba Reporting Services y abra Administrador de configuración de Reporting Services.

  4. Deje los valores predeterminados de Nombre del servidor e Instancia del servidor de informes. Haga clic en Conectar.

  5. En el panel izquierdo, haga clic en Dirección URL del servicio web.

  6. De forma predeterminada, el servidor de informes se configura para el puerto 80 HTTP con la dirección IP “Todas asignadas”. Para agregar HTTPS:

    1. En Certificado SSL: selecciona el certificado que deseas utilizar como, por ejemplo, [VM name].cloudapp.net. Si no aparece ningún certificado, consulta la sección Paso 2: Crear un certificado de servidor para obtener información sobre cómo instalar y confiar en el certificado en la máquina virtual.

    2. En Puerto SSL: elige 443. Si se configuró el extremo privado HTTPS en la máquina virtual con otro puerto privado, utiliza ese valor aquí.

    3. Haga clic en Aplicar y espere a que la operación se complete.

  7. En el panel izquierdo, haga clic en Base de datos.

    1. Haga clic en Cambiar base de datos.

    2. Haga clic en Crear una nueva base de datos del servidor de informes y, a continuación, haga clic en Siguiente.

    3. Deja el valor Nombre del servidor: predeterminado como nombre de la máquina virtual y el Tipo de autenticación predeterminado como Usuario actual – Seguridad integrada. Haga clic en Siguiente.

    4. Deje el Nombre de la base de datos predeterminado como ReportServer y haga clic en Siguiente.

    5. Deje el Tipo de autenticación predeterminado como Credenciales de servicio y haga clic en Siguiente.

    6. Haga clic en Siguiente, en la página Resumen.

    7. Cuando la configuración se haya completado, haga clic en Finalizar.

  8. En el panel izquierdo, haga clic en Dirección URL del Administrador de informes. Deje el Directorio virtual predeterminado como Informes y haga clic en Aplicar.

  9. Haga clic en Salir para cerrar el Administrador de configuración de Reporting Services.

Icono de flecha usado con el vínculo Volver al principio Top

noteNota
Si ha usado uno de los scripts para configurar el servidor de informes, puede omitir esta sección. El script incluía un paso para abrir el puerto de firewall. El puerto predeterminado es 80 para HTTP y 443 para HTTPS.

Para conectarse de forma remota al Administrador de informes o al servidor de informes en la máquina virtual, en ella se requiere un extremo TCP. Es necesario para abrir el mismo puerto en el firewall de la máquina virtual. El extremo se creó cuando la máquina virtual se aprovisionó.

Esta sección proporciona información básica sobre cómo abrir el puerto del firewall. Para obtener más información, vea Configurar un firewall para el acceso al servidor de informes

noteNota
Si ha usado el script para configurar el servidor de informes, puede omitir esta sección. El script incluía un paso para abrir el puerto de firewall.

Si configuró un puerto privado para HTTPS distinto de 443, modifique el script siguiente como corresponda. Para abrir el puerto 443 en el Firewall de Windows, realice lo siguiente:

  1. Abra la ventana de Windows Powershell con privilegios de administrador.

  2. Si usó un puerto distinto de 443 al configurar el extremo HTTPS en la máquina virtual, actualice el puerto en el siguiente comando y ejecute el comando:

    New-NetFirewallRule -DisplayName “Report Server (TCP on port 443)” -Direction Inbound –Protocol TCP –LocalPort 443
    
  3. Cuando el comando se complete, Aceptar aparece en el símbolo del sistema.

Para comprobar que el puerto está abierto, abra una ventana de Windows PowerShell y ejecute el comando siguiente:

get-netfirewallrule | where {$_.displayname -like "*report*"} | select displayname,enabled,action

Icono de flecha usado con el vínculo Volver al principio Top

Para comprobar que la funcionalidad del servidor de informes básica funciona, abra su explorador con privilegios administrativos y, luego, busque las URL del administrador de informes de anuncios del servidor de informes:

  • En la máquina virtual, examine la dirección URL del servidor de informes.

    http://localhost/reportserver
    
  • En la máquina virtual, examine la dirección URL del Administrador de informes.

    http://localhost/Reports
    
  • Desde el equipo local, busque el Administrador de informes remoto para la máquina virtual. Actualice el nombre DNS en el siguiente ejemplo según corresponda. Cuando se le solicite una contraseña, utilice las credenciales de administrador que creó al aprovisionar la máquina virtual. El nombre de usuario está en el formato [Dominio]\[nombre de usuario], donde el dominio es el nombre de equipo de la máquina virtual, por ejemplo ssrsnativecloud\testuser. Si no utiliza HTTPS, quite la s de la dirección URL. Vea la siguiente sección para obtener información sobre cómo crear usuarios adicionales en la máquina virtual.

    https://ssrsnativecloud.cloudapp.net/Reports
    
  • Desde el equipo local, busque la dirección URL del servidor de informes remoto para la máquina virtual. Actualice el nombre DNS en el siguiente ejemplo según corresponda. Si no utiliza HTTPS, quite la s de la dirección URL.

    https://ssrsnativecloud.cloudapp.net/ReportServer
    

Icono de flecha usado con el vínculo Volver al principio Top

Después de configurar y de comprobar el servidor de informes, una tarea administrativa habitual es crear uno o más usuarios y asignar usuarios a los roles de Reporting Services. Para obtener más información, vea:

Icono de flecha usado con el vínculo Volver al principio Top

En la tabla siguiente se resumen algunas de las opciones disponibles para publicar los informes existentes desde un equipo local en el servidor de informes hospedados en la Máquina virtual de Microsoft Azure:

Icono de flecha usado con el vínculo Volver al principio Top

TipSugerencia
Para reducir las cargas de las máquinas virtuales de Azure cuando no se usan, cierre la máquina virtual desde el portal de administración de Azure. Si usa las opciones de energía de Windows dentro de una máquina virtual para apagarla, se sigue cobrando la misma cantidad por la máquina virtual. Para reducir los costos, debe cerrar la máquina virtual en el Portal de administración de Azure. Si ya no necesita la máquina virtual, recuerde eliminarla junto con los archivos .vhd asociados para evitar los gastos por almacenaje. Para obtener más información, vea la sección sobre las preguntas más frecuentes en Detalles de precio de las máquinas virtuales.

Icono de flecha usado con el vínculo Volver al principio Top

Icono de flecha usado con el vínculo Volver al principio Top

Icono de flecha usado con el vínculo Volver al principio Top

Vea también

Mostrar:
© 2015 Microsoft