Administracion de SQLServer SSAS SSIS SSRS

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 108

Administración de SQL Server SSIS SSAS SSRS

Administración de SQL Server SSIS SSAS


SSRS
Contenido
SSIS / SSAS / SSRS.......................................................................................................................4
SSAS............................................................................................................................................4
Configuración.........................................................................................................................5
Seguridad...............................................................................................................................6
Firewall...............................................................................................................................6
Transmisión de Datos.........................................................................................................6
Cuenta de Servicio..............................................................................................................6
Archivos..............................................................................................................................7
Servidor..............................................................................................................................7
BBDD / Cubos Multidimensionales....................................................................................9
BBDD Tabulares................................................................................................................26
Backups / Restores...............................................................................................................29
Backups............................................................................................................................29
Restores............................................................................................................................31
SSIS...........................................................................................................................................41
Modo Tradicional (Msdb / File System)...............................................................................42
Configuración...................................................................................................................42
Seguridad.........................................................................................................................44
Backups / Restores...........................................................................................................57
Catálogos..............................................................................................................................62
Creación...........................................................................................................................63
Configuración...................................................................................................................64
Seguridad.........................................................................................................................65
Backups / Restores...........................................................................................................70
SSRS..........................................................................................................................................71
Configuración.......................................................................................................................71
Seguridad.............................................................................................................................84
Roles Predefinidos Portal Web........................................................................................84
Gestión de Acceso al Portal Web.....................................................................................85
Backups / Restores.............................................................................................................103

Página 2
SSIS / SSAS / SSRS
Las necesidades actuales de información hacen que cada día se utilicen más productos para
cubrir esas necesidades. Dentro del mundo Microsoft han aparecido desde hace años
distintos servicios para cubrir áreas que el motor relacional no llegaba. Estos servicios son:

 SSAS. Analisis Services es un producto que cubre el área de Business Inteligence 1,


permite realizar modelos:
o Multidimensionales
o Tabulares
o Power Pivot (Para SharePoint)
 SSIS. Integration Services es un servicio que se utiliza para realizar procesos ETL
(Extracción, Transformación y Carga (Load)) que por regla general ayudan a cargar
modelos multidimensionales o tabulares aunque también para procesos relacionales
 SSRS. Reporting Services es un servicio que incluyen un conjunto de herramientas
que permite el diseño, la administración y el envío de informes

El motivo que me ha impulsado a la realización de este libro es que sobre todo la gente que
venimos del área relacional nos cuesta entrar a administrar este tipo de servicios porque no
estamos acostumbrados y tenemos cierta reticiencia ya que no tenemos un gran
conocimiento del producto. De hecho lo que nos encontramos en empresas a las que vamos
es que o no se mantienen o lo hacen los desarrolladores. Como en otros libros anteriores y
por no querer defraudar las expectativas de nadie este es un libro de administración básica
donde se tratarán los puntos más esenciales a gestionar de estos servicios.

En este libro ilustraremos los ejemplos con la version de SQL Server 2016 Developer.

SSAS
Como citamos anteriormente con Analisys Services se puede trabajar de dos maneras, modo
multidimensional y modo tabular. El modelo multidimensional es el más utilizado y permite
realizar modelos complejos y minería de datos. El modelo tabular permite hacer modelos de
datos más simples y por hacer una aproximación para una mejor comprensión del lector
tiene una estructura que se parece más a un modelo relacional y además está todo en
memoria.

A pesar de esto ambos tienen muchas analogías en cuestiones de administración, esto es,
parametrización, seguridad y backups por lo que no nos resultará costoso trabajar con un
modelo u otro.

1
Si quieres conocer más acerca de Business Intellligence te recomiendo el libro de mi compañero y amigo
Salvador Ramos “Vea el cubo medio lleno”.
Para estos ejemplos hemos utilizado las bbdds de Adventure Works 2014 del modelo
multidimensional y tabular.

Configuración
Las siguientes propiedades básicas marcadas con un rectángulo de color son las mismas en el
modo multidimensional y tabular.

 BackupDir. Será la carpeta por defecto para almacenar los backups


 CommitTimeout. Cancela las transacciones que tienen bloqueo de escritura. Esto
sirve para priorizar las operaciones de lectura sobre las de escritura. El valor 0 indica
que esperará indefinidamente
 DataDir. Será la carpeta por defecto para almacenar los ficheros de datos
 ForceCommitTimeout. Cancela las transacciones que tienen bloqueo de lectura.
Estas cancelaciones no son instantaneas y alguna pueden durar varios minutos. Por
defecto el valor son 30000 milisegundos (30 segundos)
 LogDir. Será la carpeta por defecto para almacenar los ficheros de log
 Port. Puerto que usará la instancia. Esta propiedad es importante sobre todo para las
instancias con nombre
 Security \RequireClientAuthentication. True indica que se utilizará autenticación de
windows. False indica que no se requiere autenticación

Seguridad
La seguridad de una instancia de SSAS se basa normalmente en autenticación de windows.
Puesto que las instancias de SSAS contienen información sobre la que tomar decisiones de
negocio la seguridad es un elemento primordial.

Para proteger una instancia más lo tenemos que hacer a varios niveles.

Firewall
Este debería estar activado en todo momento, si bien es cierto que muy a menudo nos lo
encontramos en las empresas desactivado. Una vez que está activado lo que hay que hacer
es añadir excepciones para que se puedan recibir peticiones de entrada por los puertos.

 El puerto por defecto para instancias con nombre por defecto es el 2383
 El puerto para instancias con nombre es el 2382

Transmisión de Datos
Por defecto las comunicaciones entre el servidor y los clientes se encuentran encriptadas.

Cuenta de Servicio
El siguiente eslabón de la cadena de seguridad es la cuenta de servicio, los criterios que
deben tenerse en cuenta para configurarla adecuadamente son:

 Si se va a instalar SSAS en cluster la cuenta debe ser una cuenta del dominio
 La cuenta de servicio debe tener los mínimos privilegios posibles, esto quiere decir
que una vez que se crea no hay que darle ningún permiso adicional
 En las directivas locales de seguridad hay que añadirlo a la directiva “Log on as a
services”
 Si la cuenta de servicio es para una instancia tabular hay que añadir la cuenta de
servicio a las siguiente tres directivas:
o “Incresase a process working set”. Este privilegio se encuentra por defecto
disposible para todos los usuarios del grupo “Usuarios”. Si se le quita el
privilegio es posible que el servicio no se inicie y de un error
o “Adjust memory quotas for a process”. Este privilegio se usa para solicitar
mas memoria cuando un proceso dispone de recursos insuficientes
o “Lock pages in memory”. Este privilegio solo es necesario si la paginación está
desactivada, esto es, el servicio usa el archivo de paginación de windows. Si la
propiedad “Memory \VertiPaqPagingPolicy” = 0 es obligatorio activar esta
directiva
 Si el modo es ROLAP la cuenta necesitará permisos de lectura, opcionales de
escritura. En el modo multidimensional existen a su vez tres sabores:

o ROLAP, los datos están almacenados en un servidor relacional y son leidos de


este por lo que al menos son necesarios permisos de lectura. Los de escritura
son opcionales por que en algunas determinadas ocasiones es posible
modificar datos

o MOLAP, es el modo multidimensional puro, los datos no están en el


relacional, por supuesto esto influye en el rendimiento el MOLAP es mucho
más rápido que el ROLAP

o HOLAP, es un modo híbrido combina ROLAP y MOLAP.

 Necesitará permisos para acceder a los archivos de:

o Backups
o Log
o WriteBack Tables (Escritura en el cubo desde programa cliente)

 Se puede cambiar en SQL Server Configuration Manager

Archivos
Esto solo aplica si los cubos son del modo multidimensional tipo MOLAP. Por defecto SSAS
no encripta los ficheros por lo que se deberían encriptar desde el sistema operativo. Hay
que tener en cuenta que esto puede tener impacto en el rendimiento, especialmente en el
consumo de CPU ya que cuando escriba tendrá que comprimir y esto se produce
especialmente cuando se procesa el cubo.

Servidor
Si nos situamos en una instancia de SSAS, pulsamos el botón derecho del ratón,
selecccionamos “Properties” y “Security” nos encontraremos en un área de trabajo donde
podremos ver los administradores de la instancia que existen. En esta pantalla también
podremos añadir nuevos y quitar existentes.
Los administradores pueden realizar cualquier tarea sobre los objetos de la instancia o los
datos.
BBDD / Cubos Multidimensionales
Aunque son las bases de datos las que contienen los cubos son los cubos los que otorgan el
siguiente nivel de seguridad.

En las bases de datos se pueden hacer tres operaciones a las que hay que otorgar permisos:

 Procesar Objetos, cubos, dimensiones, medidas etc…


 Consultar. Permisos de consulta
 Gestionar Roles. Consiste en la asignación/desasignación de los permisos a roles. En
SSAS no existen los inicios de sesión

Roles
Los permisos se quitan/otorgan a roles. Los permisos efectivos de un rol vienen dados por la
suma de todos los permisos asignados al rol, ejemplo:

 Permisos Efectivos = Suma de permisos de roles = Usuario = (Rol A (permiso X) + Rol


B (permiso Y) = Usuario tiene permiso sobre X e Y
 Los roles permiten añadir usuarios y grupos de Windows
 A los roles o usuarios con control total no se les puede denegar nada
 Solo se permite denegación de permisos explícitamente en celdas de datos
 Se pueden delegar operaciones a roles con menos permisos (ej procesamiento)

Asignaciones de Permisos a Roles


Lo primero que vamos a hacer es asignar permisos de lectura a un usuario común y corriente
llamado usrSSAS.

Para hacer esto vamos a gestionar roles y permisos creanado un rol al que vamos a llamar
“Leer”.

1. Vamos a una base de datos a la carpeta “Roles”. Pulsamos el botón derecho del
ratón y elegimos la opción “New Role”
2. En la pantalla que nos aparece, en la pestaña “General” escribimos el nombre del rol
en la caja de texto “Role name”.

A nivel general se pueden asignar al rol permisos sobre la base de datos, estos son:

 “Full Control”, administrador de la base de datos


 “Process Database”, el rol puede procesar la base de datos entera. La base de
datos puede tener varios cubos
 “Read Definition”, este permiso permite leer (conocer) los metadatos de los
objetos de la base de datos excepto la posibilidad de ver los datos asociados. Si
un rol va a ser usado para procesar desde una aplicación como SQL Server Data
Tools o SSMS desde una pantalla se necesita este permiso. Si concedemos el
permiso anterior (“Process Database”) y no este solo se podrá procesar desde
script
Si seleccionamos la opción “Membership” nos muestra una pantalla donde
añadir y quitar usuarios al rol. En nuestro caso añadimos el usuario “usrSSAS”.

Solo con esto el usuario “usrSSAS” no tiene permiso para realizar ninguna acción.

3. Si abrimos el SSMS (“SQL Server Management Studio”) con este usuario y nos
ponemos en la base de datos veremos que ni siquiera le aparece

Acceso a Instancia

4. Volvemos al rol “Leer”, seleccionamos la pestaña “General” y marcamos la opción


“Read Definition”
5. A continuación, seleccionamos la pestaña “Cubes” y en el cubo “Adventure Works”
seleccionamos en la columna “Access” permiso de lectura “Read”, pulsamos “Ok” y
volvemos a realizar la comprobación. Observar que existe otro cubo llamado “Mined
Customers” al cual no vamos a tener acceso
Además de la opción “Read”, en la propiedad “Access” tenemos otros dos valores:

 “None” , sin acceso


 “Read / Write”, acceso de lectura / escritura

DrillDown no es lo mismo que Drillthrough, drillthrough es entrar en el detalle de una


medida y drilldown viene a ser como las carpetas de windows, es decir pinchas sobre una y
ves su contenido. La opción DrillDown está disponible en excel.

La propiedad “Local Cube / Drillthrough Access” tiene los siguientes valores:

 “None”
 “Drillthrough”
 “Drillthrough and Local Cube”. Además de la opción anterior el usuario puede
crear cubos locales
La última opción de esta pantalla es “Process”. Como su nombre indica esta opción
permite procesar el cubo para actualizarlo

6. Si volvemos a SSMS y refrescamos ya vemos el cubo

Permisos sobre Datos


1. En este caso y puesto que vamos a leer datos nos vamos al cubo “Adventure Works”,
pulsamos el botón derecho del ratón y elegimos la opción “Browse”
2. Ahora realizamos una consulta seleccionando una medida y una dimensión

3. En este caso y puesto que vamos a leer datos vamos a conectarnos desde excel dado
que es una operación muy habitual. Abrimos un excel con el usuario usrSSAS, vamos
a la pestaña “Data” y pulsamos el botón from “Other Sources” y elegimos el origen
de datos “From Analysis Services”

4. Ahora seleccionamos el origen de datos. En la caja de texto “Server name”


introducimos el nombre de nuestra instancia de Analysis Services, en nuestro caso es
“SSAS”. En cuanto la autenticación elegimos la autenticación Windows, “Use
Windows Authentication”. A continuación pulsamos “Next”.
5. En la siguiente pantalla vemos los siguiente:

6. A pesar de existir un cubo que se llama “Adventure Works”, este cubo tiene distintas
perspectivas. Las perpectivas son como vistas del cubo que intentan “agrupar de una
forma lógica” datos de un cubo. Ejemplo, imaginemos un cubo que tiene información
ventas, compras, contabilidad, stock etc, se podrían hacer perspectivas de estos
conceptos. Importante las perspectivas no son un elelmento de seguridad como si
que lo son las vistas en un entorno relacional. Seleccionamos el cubo “Adventure
Works” y pulsamos “Finish”
7. Nos pedirá la ubicación de la hoja y celda donde poner la tabla “Pivot Table”
8. Tras crear la tabla vamos a añadir una medida “Internet Sales Amount” (importe
vendido por internet) y una dimensión, la ubicación geografica del cliente. Lo que
vemos en este informe es las ventas por región geográfica
9. Si profundizamos en la jerarquía podemos llegar incluso hasta a nivel de cliente

10. Ahora vamos a ver lo que es el Drillthrough. Si hacemos doble click en la celda con
valor $77.27 nos muestra el siguiente mensaje

11. Ahora lo que vamos a hacer es dar permisos de drillthrough (entrar en detalle) a
nivel de país, estado /provincia, ciudad , código postal hasta llegar al cliente final.
Para ello volvemos al rol “leer”, opción “Cubes” y seleccionamos “Drillthrough”.

Tras esta operación pulsamos el botón “Ok”

12. Ahora repetimos la operación y hacemos doble click en la celda con valor $77.27.
Nos aparece una nueva hoja donde nos muestra el detalle de este importe que es la
suma de 49.99 + 24.99 + 2.29. Importante, Excel nos muestra el detalle tan solo de
los 1000
primeros registros, si un importe es el acumulado de mas de 1000 registros no
veremos todos

13. Ahora vamos a explicar que es el concepto Drill Down/Drill Up. En el preambulo del
tema indicabamos que era un concepto similar a una carpeta en la que pinchamos y
vemos sus elementos

14. Partimos del informe inicial donde vemos los países y sus ventas. Pulsamos el botón
derecho del ratón y seleccionamos la opción “Drill Down”
15. Al realizar esta operación nos muestra los totales por el siguiente nivel de la
jerarquía para el país Australia, esto es nos muestra el desglose por los estados de
los que está compuesto:

Si volvemos a hacer Drill Down sobre el estado “New South Wales” nos mostrará el
desglose por sus provincias y si hicieramos Drill Up nos mostraría el desglose a nivel
de país

16. Supongamos que tenemos una red de comerciales y cada comercial solo puede ver
las ventas de su ciudad. Vamos a limitar los permisos sobre nuestro usuario simple
para que solo pueda ver los datos de su ciudad que supongamos va a ser “Coffs
Harbour”
17. Para hacer esto vamos a usar la opción “Dimension Data” del rol que permite aplicar
permisos sobre los datos. En este caso vamos a la dimensión DW.Customer, atributo
City y deseleccionamos todos sus miembros (ciudades) y seleccionamos la ciudad
que queremos mostrar “Coffs Harbour”

18. Tras hacer esto volvemos a la excel en la que usamos un usuario simple, refrescamos
los datos y el resultado será el siguiente:
Permisos para Procesar
1. Para procesar lo que primero tenemos que hacer es configurar el acceso a los datos
de la bbdd relacional de donde leerá los datos el cubo. Podría haber varios origenes
de datos y habría que realizar en ellos las tareas que a continuación vamos mostrar.
Para ello vamos a acceder a la bbdd multidimensional (en nuestro caso “DW”) y
después a la carpeta “Data Sources”. Tras elegir la fuente de datos
(“AdventureWorksDW2014”) pulsamos el botón derecho del ratón y elegimos la
opción “Properties”. Esta acción nos muestra la siguiente pantalla:
2. En esta pantalla tenemos dos propiedades importantes, la primera es “Connection
String”. Esta propiedad almacena la conexión a la bbdd relacional. Lo mas sencillo es
pulsar el botón con tres puntos “…”y configurarla con el interfaz gráfico. Lo que hay
que hacer es elegir servidor de sql server, modo de autenticación y base de datos.
Tras esto pulsamos “Test Connection” para comprobar que funciona. Tras esto
pulsar el botón “Ok”

3. La siguiente propiedad a configurar es “Impersonation Info”. Esta propiedad indica


con que login se conectará a la bbdd
Podemos elegir las siguientes opciones:
 “Use a specific Windows user name and password”. Hay que escribir
“Dominio\usuario” y password
 “Use the service account”. Usará la cuenta de servicio
 “Use the credentials of the current user”. Usará las credenciales del usuario
que ejecuta el proceso
 “Inherit”. Hereda la credencial establecida en la propiedad “Data Source
Impersonation Info de la bbdd. En esta propiedad hay que configurar una
pantalla como la que estamos configurando.

 Tras esto pulsamos el botón “Ok” y regresamos a la pantalla principal

4. En la pantalla principal pulsamos el botón “Ok”

Importante, elijamos la opción que elijamos la cuenta de impersonalización debe


tener permisos de lectura en las tablas de la bbdd de las que lea el proceso de carga.

5. Ahora vamos al rol al que queremos conceder permisos de procesamiento y


elegimos la opción “Data Sources”. En esta ventana en la propiedad “Access”
tenemos que eligir el valor “Read”. El otro valor que podemos elegir es “None”

6. A continuación pinchamos sobre la opción “Cubes”, elegimos el cubo “Adventure


Works” y marcamos el check “Process”. Esto indicará a SSAS que podremos procesar
el dimensiones del cubo seleccionado

7. Para procesar podemos hacerlo a nivel de dimensión cubo o bbdd. Vamos a procesar
el nivel más bajo que es dimensión. Para ello vamos al rol y elegimos la opción
“Dimensions”. Vamos a seleccionar la dimensión “Account” y marcamos el check
“Process” y pulsamos el botón “OK”

8. A continuación vamos a SSMS elegimos la dimension “Account”, pulsamos el botón


derecho del ratón y elegimos la opción “Process”
9. En esta pantalla si hemos configurado bien la fuente de datos con pulsar el botón
“Ok” procesará la dimensión
BBDD Tabulares
En las bbdd del modelo tabular la seguridad también se basa en roles. El concepto es el
mismo que para los cubos.

Si queremos añadir un nuevo rol basta con pulsar el botón derecho del ratón y pulsar sobre
la opción “New role”, tras esto nos aparecerá una pantalla como la siguiente y podremos
configurarlo.
Las propiedades que se pueden establecer a los roles del modelo tabular son las siguientes:

En la pestaña “General” podemos cambiar el nombre al rol y establecer:

 “Full control”, control total para realizar cualquier operación sobre la base de datos,
los filtros sobre los datos no le afectan
 “Process Database”, permiso para procesar la base de datos, como en los cubos
implica borrar/modificar/añadir datos nuevos pero no hay permisos para cambiar el
modelo ni consultar datos
 “Read”, permite a los usuarios realizar consultas sobre el modelo basados en “Row
Filters”. Los “Row Filters” como su nombre indica son filtros sobre los datos que se
establecen sobre las tablas. Los usuario del rol solo podrán ver los datos que se ciñen
a los filtros

Se pueden establecer roles que tengan permisos de procesamiento y de consulta.

La segunda opción “Membership” es similar también a la de los cubos, nos va a permitir


incorporar logins al rol y estos logins recibirán sus privilegios.

Por último tenemos la opcion “Row Filters”. Como su nombre indica podemos establecer
filtros sobre los datos de las tablas, pero en este caso hay que indicarselo con el lenguage
que usa el modelo tabular que es el DAX. En este ejemplo vamos a filtrar en la tabla
“Customers” (Clientes) por el campo “Gender” (Sexo) donde el género sea “Female” (F).
De esta manera cuando utilizamos el campo “Gender” nos mostrará solo la información que
se ajuste al filtro. El siguiente ejemplo es la demostración.

Backups / Restores
Backups
En esta operación no existen diferencias entre el modelo multidimensional y tabular por lo
que haremos un ejemplo solo con el modo multidimensional.

1. Nos ponemos sobre la base de datos que queremos hacer el backup, pulsamos el
botón derecho del ratón y seleccionamos la opción “Back up”
2. En esta pantalla las opciones más importantes son:
 “Backup file”, en esta caja de texto informaremos la ubicación del archivo de
backup
 “Allow file overwrite”, en el caso de que el fichero exista se sobreescribirá
 “Apply compression”, esta opción permite comprimir la copia de seguridad
 “Encrypt backup file”, si marcamos esta opción tendremos que informar la
password en las cajas de texto “Password” y “Confirm Password”
Restores
La manera de restaurar backups en el modo multidimensional y tabular es similar. Además
contamos con la ventaja de que no hay copias diferenciales o logs de transacciones que
restaurar como en el modelo transaccional.

Para restaurar hay que tener en cuenta estas premisas:

 Hay que ser miembro del rol administrador de la instancia


 La cuenta de servicio de la instancia debe tener permisos de lectura al menos en la
carpeta que se encuentra el backup
 Cuando se restaura una base de datos el modo de impersonacion para a ser el
“Default” en todas las conexiones de la base de datos. Se recomienda cambiarlo. El
modo de impersonación default usa la cuenta de servicio de instancia para
conectarse a los origenes de datos

Como se puede ver en la base de datos tiene “Default”.


Modo Multidimensional
1. Conectarse a la instancia multidimensional en mi caso SSAS

2. Pulsamos el botón derecho del ratón y seleccionamos la opción “Restore”

3. Previamente, hemos puesto un archivo de backup en la carpeta por defecto de los


backups. Aunque podría ser cualquier otra simplemente lo hemos hecho por
comodidad
4. La pantalla que se nos presenta es esta:

5. Al pulsar el botón “Browse” nos aparece un formulario donde tenemos que navegar
para indicar la ubicación del fichero de backup
6. Tras selecccionar el fichero y pulsar “Ok” volvemos a la pantalla principal
7. En la caja de texto “Restore Database” escribimos el nombre de la base de datos
8. En la caja de texto “Storage Location” escribimos el nombre de la ruta donde
queremos dejar la bbdd o bien pinchamos sobre “Browse” y elegimos una ubicación.
En nuestro caso hemos elegido la carpeta de datos que nos aparece por defecto
9. La opción “Allow database overwrite” permitirá sobreescribir la base de datos si existe
10. La opción “Include security information” nos permite si está seleccionada incorporar
información de seguridad. Tenemos dos opciones:
 “Copy All” copiará los roles y los usuarios asociados con los roles
 “Skip Membership” copiará los roles pero no lo las cuentas de usuario asociadas
11. La caja de texto “Password” sirve para proporcionar la password del backup si el
backup está encriptado
12. Por último pulsamos el botón “Ok” y se restaurará
Modo Tabular
1. Conectarse a la instancia tabular en mi caso SSAS\TABULAR

2. Pulsamos el botón derecho del ratón y seleccionamos la opción “Restore from


PowerPivot”. Como la opción “Restore” es similar a la anterior del modo
multidimensional vamos a realizar esta operación con la opción “Restore from
PowerPivot”

3. Previamente, hemos puesto un archivo excel con PowerPivot en la carpeta por


defecto de los backups. Aunque podría ser cualquier otra simplemente lo hemos
hecho por comodidad

4. La pantalla que se nos presenta es esta:


5. Al pulsar el botón “Browse” nos aparece un formulario donde tenemos que navegar
para indicar la ubicación del fichero excel que contiene el modelo PowerPivot

6. Tras selecccionar el fichero y pulsar “Ok” volvemos a la pantalla principal


7. En la caja de texto “Restore Database” escribimos el nombre de la base de datos
8. En la caja de texto “Storage Location” escribimos el nombre de la ruta donde
queremos dejar la bbdd o bien pinchamos sobre “Browse” y elegimos una ubicación.
En nuestro caso hemos elegido la carpeta de datos que nos aparece por defecto
9. La opción “Include security information” nos permite si está seleccionada incorporar
información de seguridad. Tenemos dos opciones:
 “Copy All” copiará los roles y los usuarios asociados con los roles
 “Skip Membership” copiará los roles pero no lo las cuentas de usuario asociadas
10. Por último pulsamos el botón “Ok” y se restaurará
SSIS
Es un servicio que solo sirve para administrar, permite:

 Conectar a otras instancias (Solo Windows)


 Ejecutar / Detener / Supervisar Paquetes
 Importar / Exportar Paquetes
 Administrar almacenamiento y ubicación (carpetas) de los paquetes

El servicio de SSIS puede administrar paquetes que se almacenan en:

 Msdb
o Centralizados en una única ubicación lo cual facilita la administración
o Protegidos Backups SQL Server
o Se les puede otorgar permisos SQL Server para su acceso
o Si los paquetes tienen ficheros de configuración XML el backup no los incluye
 File System (carpetas en sistema de archivos)
o Sino la carpeta no está configurada en “MsDtsSrvr.ini.xml” los paquetes de
esta no se verán en SSIS
o El problema que presenta esta opción es que alguien con permisos en la
carpeta los puede borrar
o Solo control de ejecución con permisos de Windows
o La copia seguridad de estos archivos debe hacerse con un programa de
backup de archivos

Se puede importar\exportar con DTutil tanto los almacenados en msdb como en sistema de
archivos.

Solo se puede conectar con el servicio de SSIS con SSMS. Desde la versión 2012 existen los
catálogos, el servicio tan solo se mantiene por compatibilidad con versiones anteriores.
Modo Tradicional (Msdb / File System)
Configuración
El servicio se configura en el fichero “MsDtsSrvr.ini.xml”, la ubicación del fichero es:

 UNIDAD:\Program Files\Microsoft SQL Server\VERSION\DTS\Binn


 C:\Program Files\Microsoft SQL Server\100\DTS\Binn
 C:\Program Files\Microsoft SQL Server\90\DTS\Binn

Hay que modificar el fichero si:

 Si en un servidor hay más de un servicio de SSIS debido a que están instaladas


distintas versiones cada versión de SSMS abre la instancia SSIS de su versión. Si
desde una versión de SSMS por ejemplo SSMS 2014 queremos conectar al servicio de
SSIS de SQL Server 2016 tenenemos que modificar el fichero de configuración del
servicio de SSIS 2014 para que apunte al servicio 2016
 Si la instancia de SQL Server que se instala es con nombre es posible dependiendo de
la versión de SQL Server que se esté instalando que haya que corregir el nombre de
la instancia modificando el fichero
o Instancia Relacional  NODO1\SQL2014
o SSIS  NODO1\SQL2014  FALLA
o SSIS  NODO1  OK
 Si queremos conectar a otra instancia de otro servidor. Para hacer esto debemos
abrir en el firewall el puerto 135

Si se modifica el fichero hay que cambiar el contenido de la etiqueta XML “ServerName”

La etiqueta “StorePath” almacena la ruta donde se guardarán los paquetes “dtsx” del sistema
operativo. En nuestro caso es la ruta:
D

Donde “Binn” es la carpeta donde se encuentra el ejecutable de SSIS y “Packages” la carpeta


contenedora de los paquetes del sistema operativo. Los paquetes que estén fuera de esta
carpeta el servicio SSIS no los verá a no ser que cambiemos en el fichero XML de
configuración la ruta.

Ante cualquier cambio en el fichero de configuración del servicio hay que reiniciar el servicio
para que coja los cambios.

En nuestra carpeta hemos metido un paquete:

Como se puede apreciar en la siguiente imagen el servicio SSIS lo muestra.


Seguridad
Los paquetes que se encuentran en el sistema operativo, la única “protección” que tienen es
la gestión de permisos de windows que se apliquen a la carpeta contenedora. En
contraposición si los almacenamos en la msdb veremos que nos “complica” más el acceso
pero nos da mucha más seguridad. Eso es lo que vamos a ver en los siguientes puntos.

Component Services
Si nosotros nos intentamos conectar directamente con un usuario común a SSIS nos muestra
este error:

Connecting to the Integration Services service on the computer "SSAS" failed with the
following error: "Access is denied."
By default, only administrators have access to the Integration Services service. On Windows
Vista and later, the process must be running with administrative privileges in order to
connect to the Integration Services service. See the help topic for information on how to
configure access to the service.

Para poder conectar a una instancia de SSIS hay que conectarse al servicio de componentes
de ese servidor (“Component Services”).

1. Vamos a “My Computer”, pulsamos el botón derecho del ratón y elegimos la opción
propiedades “Properties”

2. Dentro de “DCOM Config” elegimos la opción “Microsoft SQL Server Integration


Services 13.0”. En otras versiones anteriores este componente se llamaba
MsDtsServer. Una vez seleccionado pulsamos el botón derecho del ratón y elegimos
propiedades “Properties”, nos aparecerá esta pantalla, vamos a la pestaña “Security”
3. El siguiente paso es ir pulsando cada botón “Edit”, añadimos el usuario que
queremos (en este caso “sqlssrs”), marcamos todos los permisos de la columna
“Allow” y pulsamos el botón “Ok”
4. Con esto conseguimos que el usuario pueda conectar a SSIS desde SSMS. El siguiente
paso es darle algún rol de SSIS en la msdb al usuario que hemos añadido para que
pueda realizar alguna operación.

5. Ahora mismo estamos viendo el paquete que hay en el sistema de archivos pero no
los que están en la msdb. De hecho si pinchamos en la carpeta “MSDB” nos da el
siguiente error:
6. Lo que vamos a hacer para solucionar esto lo veremos en el siguiente punto ya que
hay que dar permisos en la msdb.

Permisos Msdb
Existen tres roles de base de datos en la msdb para la gestión de SSIS, son:

 El rol db_ssisadmin puede realizar cualquier operación de lectura y escritura


 El rol db_ssisoperator puede:
 Lectura
o Listar todos los paquetes
o Ejecutar todos los paquetes
o Exportar todos los paquetes
o Ejecutar todos los paquetes del Agente SQL Server
 El rol db_ssisltduser puede:
 Lectura
o Listar los paquetes propios
o Listar todos los paquetes
o Ejecutar los paquetes propios
o Exportar los paquetes propios
 Escritura
o Importar paquetes
o Eliminar los paquetes propios
o Cambiar los roles de los paquetes propios

El siguiente paso es dar al usuario “sqlssrs” el rol “db_ssisoperator”. Esto lo tiene que hacer
alguien que tenga permisos suficientes.

1. Para ello vamos a la base de datos “msdb”, carpeta “Security”, carpeta “Users” y
pinchamos sobre “New User”
2. En las cajas de texto “Login name” y “User name” incorporamos el usuario “sqlssrs”

3. En la pantalla que se nos presenta elegimos la opción “MemberShip”, seleccionamos


uno de los tres roles marcados en el rectángulo rojo y pulsamos el botón “Ok”
7. Tras esto como vemos en la siguiente imagen el problema está solucionado y podemos
ver los paquetes que se encuentran en la bbdd msdb
Un caso típico de configuración es que nos pidan que un determinado usuario puede
ejecutar paquetes con el agente de SQL Server. El comportamiento por defecto de SQL
Server es que por defecto este usuario no ve el agente de SQL Server como se puede ver en
esta imagen porque no tiene permisos explicitos para ver el agente en la msdb.
Como en el caso de integration services el agente de SQL Server tiene roles propios. Puesto
que la variedad y cantidad de permisos es muy amplia y variable vamos a mostrar
directamente la información de msdn de MS. Estos roles son:

 SQLAgentUserRole
 SQLAgentReaderRole
 SQLAgentOperatorRole
Referencia: https://msdn.microsoft.com/es‐es/library/ms188283.aspx

1. Volvemos a la base de datos msdb, seleccionamos el usuario “sqlssrs”, pulsamos


botón derecho del ratón y pinchamos sobre propiedades “Properties”

2. Nos vamos a pestaña “Membership”, seleccionamos el rol SQLAgentOperatorRole y


pulsamos “Ok”
3. Tras poner este rol vemos que si refrescamos en la sesión del usuario “sqlssrs” el
agente de SQL Server ya aparecece
Backups / Restores
Respecto al sistema de ficheros, puesto que se debe hacer copias de los ficheros la
restauración en caso de borrado o cambio de un fichero consistirá en utilizar dicho copia de
seguridad y restaurar los ficheros implicados.

En cuanto a la msdb puesto que es una base de datos vamos ha hacer un ejemplo simple.
Aunque la msdb sea una base de datos de sistema con un sistema adecuado de backups
puede cubrirnos ante desastres no solo de Integration Services sino de replicación, log
shipping, etc….
1. Lo primero que vamos ha hacer es una “foto” de la msdb. En esta imagen se puede
ver que a las 7:55 hay un paquete llamado “msdb_prueba” en la base de datos msdb

2. A continuación hemos hecho un backup con un plan de mantenimiento. Si quereis


conocer como se puede hacer esto os recomiendo que os bajeis el libro “SQL Server
Para Administradores de Datos Accidentales” de SolidQ. El archivo de backup es el
que se muestra en la siguiente carpeta:
3. A continuación borramos el paquete:
4. Tras eliminar el paquete vamos a restaurar la copia de seguridad de la msdb previa al
borrado. Importante esto es tan solo un ejemplo, no estamos diciendo que sea la
mejor solución. Esto podría ser una solucion si se borraran accidentalmente todos
los paquetes y no hubiera una copia en Team Foundation o similar

5. En la pantalla que nos sale vemos los backups de la base de datos msdb y la fecha de
ellos. Puesto que solo tenemos uno no hay problema. En el lado izquierdo pulsamos
sobre “Options”
6. Lo que tenemos que indicarle en esta nueva pantalla es:
 “Overwrite the existing database (WITH REPLACE)”, esto lo que significa es que si
existe hay que reemplazar la base de datos sobreescribiendo
 “Recovery state: RESTORE WITH RECOVERY”, esto lo que hace es que tras restaurar
deja la base de datos en un estado operativo donde se puede leer y escribir
 “Close existing connections to destination database”, esta opción cerrará cualquier
conexión de la base de datos para poder restaurar cuanto antes
7. Tras restaurar la base de datos podemos ver si refrescamos el servicio de SSIS que el
paquete perdido vuelve a aparecer

Catálogos
Como comentamos anteriormente los catálogos son la nueva forma de gestionar los
paquetes de Integration Services.

Ventajas:

 Las ventajas del almacenamiento de los paquetes en msdb más:


 Orientado a proyecto en lugar de paquete
o 1 proyecto 1 o “n” paquetes
 Centralización de cadenas de conexión
 Facilidad de despliegue
 Parámetros
 Validación
 Control detalladísimo de ejecución con sus dmv y sus informes
 Permite llamadas con TSQL a los paquetes
 Permite ejecutarlos paquetes de forma asíncrona
Creación
1. Para crear un catálogo nos vamos a la carpeta de “Integration Services Catalogs”
pulsamos el botón derecho del ratón y elegimos la opción “Create Catalog”.

2. Tras esta operación nos aparece la siguiente pantalla:


Lo más importante es informar la password ya que los catálogos protegen su
contenido encriptando los datos. Las otras dos opciones indican:

 Que se autoriza el uso de CLR en la instancia. CLR es código desarrollado en


.NET y que puede ser reutilizado en la instancia de SQL Server dotando de
nuevas funcionalidades
 Permitir la ejecución automatica de procedimientos almacenados de SSIS en
el arranque de la instancia

Configuración
1. Tras haber creado el catálogo lo seleccionamos, pulsamos el botón derecho del ratón
y elegimos la opción “Properties”

2. Las opciones que se nos presentan para configurar son las siguientes:
 Limpiar log periódicamente “Clean Logs Periodically”. Valores verdadero/falso
 Periodo retención (días) “Retention Period (days)”. Nº de máximo de días que se
pueden tener almacenadas las operaciones, el valor por defecto es 365
 Nivel por predeterminado de nivel de logging (“Server‐wide Default Logging Level”).
Por defecto los catálogos almacenan información de rendimiento de las operaciones
que lanzan los paquetes. Dependiendo de la cantidad de datos que se almacena
existen varios niveles, siendo el valor por defecto “Basic”

 Número máximo de veriones por proyecto”Maximum Number of Versions per


Project”, por defecto su valor es 10
 Eliminar periódicamente versiones antiguas, (“Periodically Remove Old Versions”).
Por defecto valor verdadero

Seguridad
La seguridad se aplica descendentemente, es decir un permiso asignado en un elemento
superior de la jerarquía aplica a ese elemento padre y a sus hijos excepto si establecemos
otro distinto en un hijo.

La seguridad es delegable, es decir, se puede delegar el permiso para que gestionen otras
personas. Esto se suele realizar a nivel de proyecto. Si tenemos un proyecto de facturación y
otro de gestión de almacen podemos delegar a determinadas personas del equipo de
desarrollo o cualquier otra de la organización la posibilidad de administrar estos proyectos.

Puesto que en este libro tratamos sobre administración no vamos a pararnos en como se
despliega un proyecto porque esa parte pertecene al área de desarrollo.

Los catálogos trabajan con carpetas como elementos raíz:

 Carpeta Contenedora de Proyectos y Entornos. Podemos crear varias. Es la raíz de la


jerarquía
 Proyectos. Los paquetes funcionan como una carpeta, almacenan:
o Parámetros. Son variables que actuan como variables de entrada y que
pueden ser utilizadas por los paquetes que forman el proyecto
 Paquetes de SSIS, son los elementos programados que realizan
tareas (ETL) de extracción, transformación y carga sobre origenes
de datos2

2
Para mas información acerca de procesos ETL, leer libro “Vea el cubo medio lleno” de Salvador Ramos.
 Entornos. Definen entornos en los que se podrán ejecutar los paquetes de un
proyecto si estos se asocian previamente, es decir, primero hay que definir los
entornos (desarrollo, preproduccion etc) y después indicar en cada proyecto que
entornos puede utilizar
o Parámetros. Los entornos tienen parámetros, lo yo es que el nombre y el
tipo sea igual a los parámetros que utilizan los proyectos para poder
vincularse. Al final el objetivo es que para un proyecto se vinculen tanto
entornos como parámetros de tal manera que si vamos a ejecutar el
paquete A en el entorno de desarrollo y tenemos un parametro que es la
cadena de conexión al entorno de desarrollo el valor utilizado sea el
definido en el parámetro del entorno. Esto nos da muchas facilidades,
imaginemos que tenemos un proyecto con 20 paquetes con un parametro
llamado cadena de conexión. Si lo vinculamos a un parametro de un
entorno cambiando ese valor aplicamos el cambio a todos los paquetes
de esa manera tenemos una fácil administración. Si no tuvieramos esto
tendríamos que cambiarlo en los 20 paquetes. Este tipo de cambios
ademas no es tan infrecuente, imaginemos que nos indican que nos
cambian el servidor de desarrollo debido a un cambio de versión, con solo
tocarlo en el parámetro del entorno se aplicaría a todos los paquetes

Para poder aplicar permisos en un catálogo hay que hacer lo siguiente:

1. A un login de la instancia le damos acceso sobre la bbdd SSISDB. No hace falta


ningún permiso especial, sin ir mas lejos este usuario tan solo tiene los permisos del
rol public
2. El siguiente elemento donde se pueden dan permisos es la carpeta contenedora. En
este caso hay una, pero podemos crear cuantas queramos. Sobre la carpeta
pulsamos el botón derecho del ratón y elegimos la opción propiedades. En la
pantalla que nos aparece elegimos la opción “Permissions”
3. Tras esto pulsamos el botón “Browse” y seleccionamos al usuario/s que queremos
dar los permisos y pinchamos en “Ok”
4. Con el usuario/s elegido/s asignamos los permisos que deseemos:

Tenemos:

 Lectura (“Read”)
 Modificación (“Modify”)
 Gestionar permisos (“Manage Permissions”)
 Crear objetos (“Create Objects”)
 Modificar objetos (“Modify Objects”)
 Ejecutar objetos (“Execute Objects”)
 Leer objetos (“Read Objects”)
 Gestionar permisos de objetos (“Manage Objects Permissions”)

Cuando marcamos algo en la columna “Grant” indica que se concede el permiso y la


columna “Deny” que se deniega
El siguiente elemento sobre el que se pueden gestionar permisos es cada entorno. Para ello:

1. Elegimos un entorno pulsamos el botón derecho del ratón y elegimos la opción


propiedades. Tras esto pinchamos sobre “Permissions” y como en el caso anterior en
el botón “Browse” elegimos el/los usuario/s

2. El paso siguiente es dar permisos, tenemos:


 Lectura (“Read”)
 Modificación (“Modify”)
 Gestionar permisos (“Manage Permissions”)

Cuando marcamos algo en la columna “Grant” indica que se concede el permiso y la


columna “Deny” que se deniega
El último elemento sobre el que se pueden gestionar permisos son los proyectos, en nuestro
ejemplo se llama “DEMO”. Para ello:

1. Elegimos un proyecto pulsamos el botón derecho del ratón y elegimos la opción


propiedades. Tras esto pinchamos sobre “Permissions” y como en el caso anterior en
el botón “Browse” elegimos el/los usuario/s

2. El paso siguiente es dar permisos, tenemos:


 Lectura (“Read”)
 Modificación (“Modify”)
 Ejecutar (“Execute”)
 Gestionar permisos (“Manage Permissions”)

Cuando marcamos algo en la columna “Grant” indica que se concede el permiso y la


columna “Deny” que se deniega

Backups / Restores
Puesto que los catálogos tan solo son bases de datos especializadas de SQL Server su
tratamiento respecto a los backups y restores son iguales que para cualquier otra base de
datos. En el punto anterior donde se explica el modo tradicional que trabaja con la bbdd se
expone un ejemplo de backup/restore. Para un catálogo la operación sería igual pero
eligiendo la bbdd “SSISDB”.

Importante, puesto que la base de datos de catálogo está encriptada la primera cosa que
debemos hacer es hacer un backup de la clave y guardarla en un lugar seguro fuera del
servidor. Esta clave nos hará falta si lo que queremos es cambiar la base de datos de
instancia. Para hacer el backup de la clave tan solo hay que ejecutar esta sentencia.
Importante se debe tener permiso de lectura/escritura en la carpeta donde se vaya a
guardar el fichero con la clave.
BACKUP MASTER KEY TO FILE = 'x:\temp\BackupKeySSISDB'
ENCRYPTION BY PASSWORD = 'Luis98765Q';
SSRS
Reporting Services es un servicio que se basa en un conjunto de herramientas que permite el
desarrollo, configuración, administración y visualización de informes.

Las dos principales herramientas son “Reporting Services Configuration Manager” y el portal
web de informes “Web Portal”.

“Reporting Services Configuration Manager” se encarga de:

 Gestiona cuenta de servicio


 Opciones URL Servicio Web
 Ubicación BBDD (Servidor)
 Credenciales de acceso al Report Server
 Opciones URL del Report Manager
 Configuración correo
 Cuenta de ejecución
 Encriptación claves
 Implementación escalada

El portal web se encarga principalmente de:

 Administrar programaciones
 Administrar origenes de datos
 Administrar informes
 Administrar la jerarquía de carpetas
 Administrar suscripciones
 Administrar la seguridad del portal

Configuración
1. Abrimos el programa “Reporting Services Configuration Manager”
2. Nos aparece esta pantalla para poder parar o arrancar el servicio

3. Pinchamos sobre la opción “Service Account”, si queremos cambiar la cuenta se


servicio se puede hacer desde aquí. Desde el programa “SQL Server Configuration
Manager” también se puede, no son opciones excluyentes
4. La primera acción que vamos a hacer es configurar el servicio web. Lo que debemos
hacer en esta pantalla es pulsar el botón “Apply”.
En esta pantalla se pueden cambiar las siguientes opciones:
 “Virtual Directory”, nombre del directorio virtual
 “Ip Address”, dirección IP por defecto todas las que tiene el servidor están
asignadas
 “TCP Port”, puerto tcp, por defecto es el 80
 “HTTPS Certificate/Port”, estas cajas de texto sirven para informar el
certificado y el puerto de conexión segura
5. Tras pulsar el botón “Apply” en la parte inferior nos informa de la evolución y el
resultado de la acción
6. A continuación pulsamos sobre la opción “Database”. La primera vez las bases de
datos de “Reporting Services” no están creadas por lo que vamos a hacerlo. Para ello
hay que pulsar el botón “Change Databases”. Esta opción también nos puede servir
en el futuro para migrar la base de datos de servidor.
7. Tras pulsar “Change Database” nos aparece el siguiente wizard. La opción “Create a
new report server database” creará una nueva base de datos. La opción “Choose an
exiting report server database”, permitirá elegir una base de datos existente. Como
queremos crear una nueva base de datos dejamos la primera opción y pulsamos el
botón “Next”

8. En la siguiente pantalla hay que informar:


 “Server Name”, instancia de SQL Server donde dejaremos la base de datos.
Esta opción nos permite crear en la bbdd en otro servidor, no estamos
obligados a que sea el que nos propone.
 “Authentication Name”, autenticación que usuará para logarse en el servidor,
puede utilizar se autenticación windows con las credenciales actuales del
usuario que abre la sesión de windows. También podemos utilizar
credenciales de SQL Server
 “Username”, nombre de usuario si se utilizan credenciales de SQL Server
 “Password”, contraseña del login de SQL Server
Una vez establecidas las credenciales se puede testear la conexión con el botón “Test
Connection”. Tras esto pulsamos “Next”

9. En esta pantalla hay informar el nombre de la base de datos “Database Name” y el


lenguaje a utilizar “Language”. El nombre de la base de datos temporal la compone
con el contenido de la caja de texto “Database Name”. A continuación pulsamos
“Next”
10. En la pantalla “Credentials” informamos las credenciales que se usará el report
server para conectarse a la base de datos. Como en pantallas anteriores se pueden
usar credenciales de windows o de SQL Server. Si se usan estas últimas hay que
informar “User name” y “Password”. Tras esto pulsamos “Next”

11. La siguiente pantalla es de resumen “Summary”, si estamos de acuerdo pulsamos


“Next”
12. A continuación veremos se instalará todo. Cuando finaliza se desbloquea el botón
“Finish”

13. Tras haber terminado en la pantalla “Database” en la parte inferior se informará que
la instalación ha terminado correctamente
14. Ahora que hemos acabado de configurar la base de datos vamos a configurar el
portal web. Tan solo hay que informar el nombre del directorio virtual “Virtual
Directory”. Tras esto pulsamos el botón “Apply”. Importante abrir en el firewall el
puerto 80

15. A continuación en la parte inferior de la pantalla se informará de la progresión de la


configuración
16. Por último vamos a configurar la opción “Encryption Keys”. Lo que vamos a hacer es
el backup de la clave de encriptación. Esta clave se utilizar para cifrar las conexiones
de los informes que se guardan en la base de datos report server. Para esto
pulsamos el botón “Backup”
17. En la siguiente pantalla que nos aparece debemos introducir, la ruta donde
dejaremos el archivo de backup de la clave, Password y confirmación para poder
restaurarla en el futuro

18. Este archivo está en el servidor, eso quiere decir que debemos copiarlo
preferiblemente a otro servidor para que en caso de emergencia podamos usarlo ya
que si por casualidad se rompe el disco que lo contiene este backup no habrá servido
para nada.

19. Puesto que ya hemos realizado las tareas principales de configuración ahora vamos a
probar que funciona el report server, esto lo haremos copiando la url de la opción
“Web Services URL” y pegandolas en un navegador web
20. Esta operación no se puede hacer antes porque hay que crear la base de datos
previamente. El resultado es el siguiente:

21. La siguiente comprobación es el portal web, haremos lo mismo, copiamos la url de la


opción “Web Portal URL” y la pegamos en un navegador web.
22. El resultado es el siguiente:

Seguridad
Roles Predefinidos Portal Web
En el portal web existen varios roles predefinidos para gestionar los permisos, son los
siguientes:

 Browser, puede ejecutar informes, suscribirse a informes y navegar por la estructura


de carpetas
 My Reports, puede administrar un área de trabajo personal para almacenar y utilizar
informes y otros elementos
 Publisher, puede agregar elementos a un servidor de informes, así como crear y
administrar las carpetas que contienen esos elementos
 Report Builder, puede crear y editar informes en el Generador de informes
 System User, puede ver información básica sobre el servidor de informes, como la
información de programación en una programación compartida
 System Administrator, puede habilitar características y establecer valores
predeterminados, establecer la seguridad de todo el sitio, crear definiciones de roles
en Management Studio y administrar trabajos
 Content Manager, puede administrar el contenido del servidor de informes, así como
capacidad para conceder permisos a otros usuarios y definir la estructura de
carpetas para almacenar informes y otros elementos

Gestión de Acceso al Portal Web


El portal web como comentamos en la introducción tiene muchas funciones, como este es un
libro que prentende tratar las tareas más habituales nos centraremos en:

 Dar acceso a usuarios comunes


 Gestionar permisos de carpetas e informes

Acceso al Portal Web


Para que un usuario cualquiera tenga acceso al portal cada usuario tiene que hacer lo
siguiente:

1. Abrir IE como administrador, ir a “Internet options”:

2. Seguridad “Security”, sitios de confianza “Trusted sites”, botón Sites:


3. Añadir la url del servidor de informes y desactivar la casilla Requerir comprobación…..

4. El siguiente paso es que un administrador acceda al portal y le de acceso al usuario


que quiere acceder. Pulsar gestionar carpetas “Manage folder”

5. Veremos la opción seguridad, pulsamos sobre añadir grupo o usuario “Add group or
user”
6. Ahora debemos indicar un nombre de grupo o usuario en la caja de texto “Group or
user” y elegir algún rol. En nuestro caso hemos decidido que tendrá rol “Browser”
(ver carpetas, informes ejecutar informes) y “My Reports” (gestionar sus informes).
El primer usuario será sqlssrs y el segundo sqlssis lo añadiremos más adelante

7. Tras esto el resultado queda así:

8. Si queremos dar el rol de administrador o usuario de sistema (estos roles no salen en


la lista anterior) tenemos que ir a “Settings” y pinchar sobre la opción “Site settings”
9. Elegimos la opción seguridad “Security” y pulsamos añadir usuario o group “Add
group or user”
10. Como en el caso anterior introducimos el nombre del usuario y elegimos el rol que
queremos

11. El resultado es el siguiente:

12. Lo que vamos a hacer ahora es probar que ambos usuarios comunes pueden acceder:
13. Como con el usuario sqlssis no le hemos dado ningún permiso no puede acceder a
nada

Gestión de Permisos de Carpetas e Informes


En el portal web el sistema de permisos funciona de la siguiente manera, si das permiso
sobre un padre tienes acceso a los hijos. Si no quieres que un usuario tenga permiso sobre
un objeto en concreto tienes que acceder a ese objeto y eliminar al usuario.

Lo que vamos a hacer ahora es que vamos a probar esta regla con varias pruebas

1. Un administrador creará una carpeta en “Home” (“Home” es equivalente a carpeta


raíz)
2. Dentro de esa carpeta cargará un informe de reporting services
3. En la carpeta “Home” creamos un origen de datos para el informe
4. El usuario sqlssrs tendrá permisos y podrá ejecutar el informe
5. El usuario sqlssis no tendrá permisos veremos los errores que nos vamos
encontrando y se los iremos dando poco a poco
6. Primero le daremos acceso a la carpeta y el informe al usuario sqlssis
7. Después ejecutaremos el informe con el usuario sqlssis
8. Por último le quitaremos el acceso al informe al usuario sqlssis
Permisos
1. El administrador pulsa el botón “New” y elige la opción “Folder”. Esta carpeta la
creamos en “Home” que es la raíz

2. En la siguiente pantalla introducimos el nombre y pulsamos el botón “Create”

3. A continuación vemos que la carpeta está creada

4. Entramos en la carpeta y pulsamos el botón “Upload” para subir un informe.


Buscamos la carpeta donde tenemos el informe, elegimos el archivo y pulsamos el
botón “Open”
5. Tras subirlo pulsamos “New” y elegimos la opción “Data Source”
6. En la siguiente pantalla introducimos en la caja de texto “Name” el nombre de la
conexión. En la lista “Type” elegimos el driver que conectará a la base de datos, en
este caso Microsoft SQL Server. A continuación en la caja de texto “Connection
string” escribimos la cadena de conexión, el servidor será “MANTCLAO1” la base de
datos “msdb” y validación mediante credenciales de windows
7. Ya que hay que validarse con credenciales de windows hay que decirle cuales serán
esas credenciales. Hemos elegido la primera opción:
 “As the user viewing the report”. Esto quiere decir que tomará las
credenciales del usuario que ejecuta el informe
 “Using the following credentials” mostrará dos cajas de texto, una para
informar el usuario de windows y otra para la password
 “By prompting the usar viewing the report for credentials” significa que se
pedirán las credenciales en el momento de ejecución del informe
 “Without any credentials” significa que el informe se ejecutará sin

credenciales Por último probamos la conexión y pulsamos “Create”


8. En la siguiente ilustración se ve como queda el esquema de pruebas

9. Ahora vamos a vincular el informe y al origen de datos. Para ello pulsamos “MANAGE”
10. En la pantalla que se nos presenta elegimos la opción “Data sources”. Elegimos la
opción “A shared data source”. Pulsamos el botón con “…”

11. Elegimos la conexión compartida que está en “Home”


12. Tras elegir la conexión pulsamos el botón “Save”

13. Una vez hecho esto pulsamos sobre el informe y lo ejecutamos pulsando el botón
“View Report” con el usuario “sqlssrs”

14. Como se puede verse el usuario “sqlssrs” ha ejecutado el informe sin problemas
15. A continuación un usuario administrador dará de alta al usuario “sqlssis”. Para hacer
esto ver instrucciones del punto “Acceso al Portal Web” . El rol elegido será “My
Reports”
16. Tras esto la seguridad queda de la siguiente manera:

17. Ahora accedemos al portal con el usuario “sqlssis” y vemos que ha desaparecido el
mensaje de error que le impedía acceder por falta de permisos
18. Con el usuario “sqlssis” ejecutamos el informe. Vemos que aparece el siguiente error:

19. Este error es muy común cuando se utilizan credenciales de windows y se delega la
seguridad en los permisos que tenga cada usuario. En este caso el usuario no tenía
permisos sobre la base de datos “msdb”. Lo que vamos a hacer es crear el login en el
servidor relacional
20. A continuación y en la misma pantalla damos permisos de lectura en la base de datos
“msdb” con el rol “db_datareader”

21. Si volvemos a ejecutar el informe con el usuario “sqlssis” vemos que funciona
perfectamente
22. Imaginemos que somos los administradores y ahora nos dicen que tenemos que
impedir que el usuario “sqlssis” ejecute el informe pero mantengamos permisos
sobre la carpeta porque van a subir otros informes que en los que si que va a tener
permiso. Para esto como administradores vamos al informe y pulsamos sobre
“MANAGE”
23. Reporting Services nos muestra un mensaje diciendonos que vamos a cambiar la
seguridad de un elemento y que por tanto la configuración de seguridad de este
elemento será distinta de la de los elementos padres. Como estamos de acuerdo
pulsamos “Ok”

24. En la pantalla de seguridad seleccionamos el usuario “sqlssis” y pulsamos el botón


“Delete”

25. Tras esta operación si refrescamos la pantalla del usuario “sqlssis” en la carpeta
administrador podremos observar que este usuario ya no ve el informe
Backups / Restores
Al trabajar con varias herramientas recomendamos la siguente estrategia general de

backups. Respecto a la información almacenada en SQL Server recomendamos hacer:

 Backup de la base de datos ReportServer. Puesto que tiene por defecto modo de
recuperación full también se recomienda hacer backups del log de transacciones y si
es muy grande también backups diferenciales
 ReportServerTempdb. Esta base de datos tiene por defecto modo de recuperación
modo simple por lo que recomendamos backup full y si fuera muy grande también
backups diferenciales
 Claves de Cifrado. Ver ejemplo de Configuración

Web:

 Backup archivos configuración


o Rsreportserver.config
o Rswebapplication.config
o Rssvrpolicy.config
o Rsmgrpolicy.config
o Reportingservicesservice.exe.config
o Web.config para las aplicaciones ASP.NET Servidor de informes y
Administrador de informes
o Machine.config para ASP.NET

Informes:

 Aunque los informes se almacenan en la base de datos, es conveniente usar team


foundation o cualquier programa de control de versiones con el fin de guardar los
proyectos y la evolución de los informes

Si alguna vez tuvieramos algún problema con las bases de datos de Reporting Services, el
portal dejaría de funcionar. En este ejemplo lo que hacemos es borrar un informe y
restaurar la base de datos completa. No es que sea la mejor solución ya dijimos que si
tenemos un programa de control de código fuente bastaría con volver a subirlo. Pero si nos
imaginamos que se nos rompe el disco que contiene los ficheros de estas bases de datos si
que habría que aplicar esta solución.

1. En este ejemplo lo que hacemos es borrar el informe. Nos situamos en el informe y


seleccionamos el botón delete

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy