Instalación de SQL Server 2017Introducción ............................................................................................................................... 3 Productos/Utilidades Incluidos/Relacionados en SQL Server 2017 .......................................... 3 Instalación SQL Server ............................................................................................................... 5 Preinstalación......................................................................................................................... 5 Configurar el Servidor como Servicio ................................................................................ 5 Formateo De NTFS A Bloques De 64kb .............................................................................. 7 Directivas Locales ............................................................................................................... 7 Configuración De Alias De DNS Para Las Aplicaciones..................................................... 11 Seguridad ......................................................................................................................... 11 StandAlone Con Interfaz Gráfico ......................................................................................... 12 Instalación SQL Server Management Studio (SSMS) ........................................................... 37 Instalación de Reporting Services ........................................................................................ 40 Instalación de Power BI Server ............................................................................................ 57 Pruebas de Productos .......................................................................................................... 68 Puertos ............................................................................................................................. 68 Conectividad .................................................................................................................... 73 StandAlone Por Línea De Comandos ................................................................................... 98 Parámetros..................................................................................................................... 100 Desinstalación Sql Server ....................................................................................................... 110 © Solid Quality™ Press www.solidq.com Página 2 Instalación de SQL Server 2017 Introducción SQL Server es un producto que ha evolucionado los años haciéndose cada día más versátil. En esta breve introducción queremos dar una visión de lo que es el producto en la actualidad para posteriormente pasar a temas técnicos. Como siempre quiero ser claro en los objetivos del libro: Es un documento para aprender a instalar SQL Server de una manera básica que servirá de punto de partida para que el lector en el futuro pueda abordar instalaciones/arquitecturas más complejas No se requiere ningún conocimiento en SQL Server La versión que vamos a comentar es la 2017. A la fecha de escritura de este libro todavía no había salido la versión RTM oficial, pero aunque no sea así considero que es mejor comentar los sobre lo último aunque haya riesgo de que algún contenido del que aquí se explica haya podido cambiar, corregirse y/o mejorarse. Productos/Utilidades Incluidos/Relacionados en SQL Server 2017 A continuación, vamos a comentar algunos de los productos y utilidades más importantes que SQL Server tiene: Motor de base de datos relacional. Es el servicio que se encarga de guardar, servir y dotar de seguridad a datos relacionales almacenados en bases de datos. Analysis Services (SSAS). Es un servicio que permite la gestión de datos analíticos ya sea en modo multidimiensional y/o tabular Integration Services (SSIS). Es una plataforma que permite la integración de datos de distintos orígenes (DB2, Oracle …) y con los que se pueden realizar operaciones de Extracción, Transformación y Carga. En SQL Server 2017 ahora es posible implementar una arquitectura que permite el escalado. Esta arquitectura consiste en un maestro y al menos 1 o n “workers”. Es imprescindible para poder desplegar esta funcionalidad instalar o tener instalado el servicio relacional y SSIS. A esta arquitectura se le llama “Scale Out”. Esta arquitectura permite que múltiples paquetes sean lanzados en paralelo en múltiples maquinas mejorando el rendimiento Reporting Services (SSRS). Servicio que se encarga del mantenimiento, gestión de la seguridad de informes web que extraigan contenido de distintos orígenes de datos y que puedan ser exportados en distintos formatos SQL Server Management Studio. Herramienta que permite la administración del servicio relaciona, SSAS y SSIS. Desde la versión 2016 se instala aparte SQL Server Configuration Manager. Herramienta que permite gestionar los permisos, protocolos y alias de SQL Server © Solid Quality™ Press www.solidq.com Página 3 Instalación de SQL Server 2017 SQL Server Profiler. Herramienta que permite capturar eventos de distinta naturaleza tanto del servicio relacional como de SSAS. Principalmente es utilizado para conocer el consumo de recursos de queries SQL Server DataTools. Proporciona un interfaz gráfico para desarrollar proyectos relacionales, SSAS, SSIS. Anteriormente se le denominaba BIDS (Business Intelligence Development Studio) R Services. Permite la instalación de un Servidor de R para incorporar la potencia del lenguaje científico R y facilitar su interacción con SQL Server Data Quality Services. Es una herramienta que facilita la limpieza de datos controlada por conocimiento. Cuando hablamos de limpieza de datos se refiere a realizar tareas de limpieza y eliminación de duplicados Master Data Services. Esta herramienta complementa a la anterior, permite crear un repositorio central de datos maestros auditable Power BI, es un conjunto de herramientas de análisis empresarial abarca desde la creación de informes, gestión, almacenamiento y escalado local o en la nube. Power BI incluye las funcionalidades de SQL Server Reporting Services. Una de las diferencias es que requiere una licencia diferente a la de SQL Server Referencia: https://blogs.msdn.microsoft.com/sqlrsteamblog/2017/05/03/introducing-power- bi-report-server-for-on-premises-power-bi-report-publishing/ © Solid Quality™ Press www.solidq.com Página 4 Instalación de SQL Server 2017 Instalación SQL Server Las instalaciones en SQL Server pueden ser de diversos tipos: Standalone. La instancia de SQL Server instalada trabaja de forma autónoma. Las instancias en SQL Server pueden tener nombre predeterminado (nombre del servidor) o un nombre que deseemos nosotros. En cualquier caso, esa instancia solo trabajara en ese servidor y de forma independiente Cluster de SQL Server. En este caso la instancia de SQL Server se instala de manera que pueda trabajar en varios servidores. Estos servidores forman un cluster de windows y sobre este cluster de windows se instala el cluster de SQL Server. En un cluster de SQL Server solo la máquina que tiene el servicio está trabajando. El resto de nodos que forman el cluster no están trabajando, están a la espera de que caiga el nodo activo. Si cayera por cualquier motivo (failover) el servicio de SQL Servicio de SQL Server pasaría a cualquiera de los nodos pasivos. Como mínimo se necesitan dos nodos. Además, el almacenamiento (discos) debe ser compartido entre los dos nodos Nosotros nos vamos a centrar en la instalación standalone. Otra variación es que nosotros podemos instalar SQL Server con el interfaz gráfico del instalador o de manera desatendida indicando en un fichero de configuración las características que necesitamos. Preinstalación Configurar el Servidor como Servicio SQL Server corre como un servicio background por lo tanto es aconsejable configurar el servidor como servicio en lugar de aplicaciones interactivas (programas). Haga clic en Panel de Control > sistema y seguridad > sistema Haga clic en configuración avanzada del sistema En la ficha avanzado, en rendimiento, haga clic en configuración En la nueva ventana en la ficha de avanzado nuevamente, en la programación del procesador, seleccione Servicios de fondo. Haga clic en Aceptar © Solid Quality™ Press www.solidq.com Página 5 Instalación de SQL Server 2017 © Solid Quality™ Press www.solidq.com Página 6 Instalación de SQL Server 2017 Formateo De NTFS A Bloques De 64kb Los discos que alberguen los ficheros de logs y datos se han de formatear a 64kb por bloque para mejorar el rendimiento de SQL Server. Con ello favorecemos que se almacenen en un mismo bloque, lo que se denominan “extensiones” (conjuntos de 8 páginas). De esta forma se mejorarán las lecturas en los casos en los que SQL Server decida realizar operaciones de lectura adelantada. Ref.: http://msdn.microsoft.com/en-us/library/dd758814(v=sql.100).aspx “The file allocation unit size (cluster size) recommended for SQL Server is 64 KB” Directivas Locales Log On As A Service Determina que cuentas de servicio pueden registrar un proceso como servicio. Se recomienda definir un grupo de usuarios dentro del dominio que levante los servicios de SQL Server. Si el servicio va a estar dentro de un entorno clusterizado, para que no ocurra ningún problema al levantar los servicios, se recomienda dar a dichos usuarios el permiso de “log on as a service”. Para ello podemos entrar en “Administrative Tools” -> “Local Security Policy” y mediante botón derecho dentro de “Local Policies”->” User Rights Assignment”->” Log on as a service”, añadimos el grupo. © Solid Quality™ Press www.solidq.com Página 7 Instalación de SQL Server 2017 Ref.: http://msdn.microsoft.com/en-us/library/ms143504.aspx Lock Pages In Memory Esta directiva de Windows determina qué cuentas pueden usar un proceso para mantener los datos en la memoria física, impidiendo que el sistema realice la paginación de los datos en la memoria virtual del disco. Es altamente recomendable configurar “lock pages in memory” para SQL Server. Para ello podemos entrar en “Administrative Tools” -> “Local Security Policy” y mediante botón derecho dentro de “Local Policies”->”User Rights Assignment”->”lock pages in memory”, añadimos el usuario que levanta el servicio de SQL Server. © Solid Quality™ Press www.solidq.com Página 8 Instalación de SQL Server 2017 Con este permiso, nos aseguraremos que SQL Server no paginará la memoria destinada al motor, a disco. Mejoraremos con ello el rendimiento del sistema en entornos con mucha presión de memoria. Ref.: http://technet.microsoft.com/en-us/library/ms190730.aspx Instant File Initialization Para poder sacarle ventaja a las capacidades de inicialización instantánea de ficheros, hemos de agregar el permiso SE_MANAGE_VOLUME_NAME a la cuenta del servicio que levante SQL Server. Los usuarios de administración locales de Windows poseen dicho permiso habilitado, pero dado que se presupone que un usuario con permisos mínimos del dominio levante los servicios, hemos de agregarle dichos permisos. Dicho permiso se concede cuando les añadimos la política de seguridad “Perform Volume Maintenance Task”. Esta directiva hay que aplicarla si la versión a instalar de SQL Server es anterior a 2016. Desde la versión 2016 se puede configurar en la instalación. © Solid Quality™ Press www.solidq.com Página 9 Instalación de SQL Server 2017 Ref.: http://msdn.microsoft.com/en-us/library/ms175935.aspx Incresase A Process Working Set Este privilegio solo es aplicable cuando instalamos una instancia de SSAS Tabular. Este privilegio se usa para solicitar más memoria cuando un proceso dispone de recursos insuficientes. Este privilegio se encuentra por defecto disponible 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. Este grupo usuarios es el de la máquina local, no aplica por tanto a usuarios del dominio Adjust Memory Quotas For A Process Este privilegio solo es aplicable cuando instalamos una instancia de SSAS Tabular. Este privilegio se usa para solicitar más memoria cuando un proceso dispone de recursos insuficientes. © Solid Quality™ Press www.solidq.com Página 10 Instalación de SQL Server 2017 Configuración De Alias De DNS Para Las Aplicaciones Es aconsejable crear alias de DNS para las ips que vaya a utilizar el servidor que contiene la instancia de SQL Server. Esto permite que las aplicaciones en sus cadenas de conexión no tengan dependencias directas de ips de servidores. Además, y de cara al futuro si alguna vez se realizara una migración por cambio de versión de SQL Server bastaría con que en el momento de finalización estos alias apuntaran a la ip del nuevo servidor. Seguridad Aislar Servicios El aislamiento de servicios reduce el riesgo de que se utilice un servicio cuya seguridad se haya vulnerado para vulnerar la seguridad de otros servicios. Para aislar los servicios, tenga en cuenta estas instrucciones. Cuentas De Servicio Ejecute los servicios de SQL Server por separado en distintas cuentas de Windows. Siempre que sea posible, utilice derechos de Windows independientes y bajos, o cuentas de usuario local para cada servicio de SQL Server Asocie los servicios de SQL Server a las cuentas de usuario local de Windows con menos privilegios, o a las cuentas de usuario de dominio Puede utilizar cuentas de servicio administradas o cuentas virtuales Ref.: Cuentas de Servicio administradas. https://technet.microsoft.com/es- es/library/ff641731(v=ws.10).aspx Es recomendable tener dichos usuarios y grupos precreados antes de la instalación, para no invertir tiempo en ello Modo De Autenticación Requiera la autenticación de Windows para las conexiones a SQL Server Utilice la autenticación Kerberos. Para obtener más información, vea Registrar un nombre principal de servicio para las conexiones con Kerberos Contraseñas Seguras Asigne una contraseña segura a la cuenta sa Habilite siempre la directiva de contraseñas comprobando el nivel y la fecha de expiración de la contraseña Use siempre contraseñas seguras en todos los inicios de sesión de SQL Server © Solid Quality™ Press www.solidq.com Página 11 Instalación de SQL Server 2017 Permisos De Sysadmin De forma predeterminada, los miembros de BUILTIN\Administrators poseen derechos de administración. Se recomienda evitar que ninguno de los logins sea incluido en el grupo de usuarios BUILTIN\Administrators Ref.: http://msdn.microsoft.com/es-es/library/ms144228.aspx StandAlone Con Interfaz Gráfico 1. El primer paso es introducir el DVD o montar la imagen .iso de SQL Server 2. Es muy probable que el propio instalador de SQL Server nos pida actualizar el sistema para poder proceder con la aplicación de instalación de SQL Server 3. Llegados a este punto podremos proceder con la instalación desde el apartado “Installation” NOTA: En ocasiones dependiendo del estado de actualización del sistema operativo Windows puede que requiera aplicar actualizaciones de Windows Installer o incluso .NET y que se pida reiniciar. 4. Una vez en la sección “Installation” procederemos al apartado “New SQL Server stand- allone installation or add features to an existing installation” con la que instalaremos los componentes deseados a nuestro equipo Antes de empezar, el instalador realiza unos chequeos de integridad del sistema para comprobar que está todo listo para la instalación. Si por ejemplo tuviéramos el sistema esperando para ser reiniciado por cualquier otra instalación previa anterior, no nos dejaría continuar. Es recomendable también, antes de comenzar, que tengamos el código de licencia preparado (podríamos instalar si no fuera así en modo evaluación). Pulsamos el botón “Next” © Solid Quality™ Press www.solidq.com Página 12 Instalación de SQL Server 2017 © Solid Quality™ Press www.solidq.com Página 13 Instalación de SQL Server 2017 5. Una vez validado el código de licencia de SQL Server se nos mostrarán los términos de la licencia que tendremos que aceptar. Debemos marchar el check (“I accept the license terms.”, pulsamos el botón “Next” © Solid Quality™ Press www.solidq.com Página 14 Instalación de SQL Server 2017 6. Una vez aceptados los términos, podemos observar cómo se realizan de nuevo una serie de comprobaciones previas a la instalación, que debemos cumplir antes de proseguir. 7. En el siguiente paso tenemos que decidir si aplicamos Updates del sistema operativo o no © Solid Quality™ Press www.solidq.com Página 15 Instalación de SQL Server 2017 8. En este paso decidimos si queremos aplicar updates de SQL Server. En nuestro caso el servidor no tiene conexión a internet por eso da este error 9. Se verifican las reglas de instalación © Solid Quality™ Press www.solidq.com Página 16 Instalación de SQL Server 2017 10. Ahora decidimos las características que vamos a instalar, en nuestro caso seleccionamos todos menos Python. Tanto Python como R se tienen que instalar con binarios externos que te tienen que bajar de internet. Cuando lleguemos a ese punto indicaremos los enlaces © Solid Quality™ Press www.solidq.com Página 17 Instalación de SQL Server 2017 11. A continuación, va a validar la instalación. Si vamos a instalar R y no tenemos instalado Java para desarrollo nos dará el siguiente error. Para solucionarlo podemos descargarlo en: Referencia: http://www.oracle.com/technetwork/java/javase/downloads/jdk8- downloads-2133151.html © Solid Quality™ Press www.solidq.com Página 18 Instalación de SQL Server 2017 12. Cancelaremos la instalación, instalaremos Java y repetimos la instalación de SQL Server hasta este punto. Una vez que pasamos satisfactoriamente la pantalla anterior el instalador nos presenta esta donde debemos informar el nombre de la instancia. Vamos a instalar en lugar de una instancia por defecto una instancia con nombre que se llamará SOLIDQ_2017 © Solid Quality™ Press www.solidq.com Página 19 Instalación de SQL Server 2017 13. En esta pantalla indicamos la configuración de Polybase, vamos a instalar una nueva instancia independiente. Polybase es una característica diseñada para conectarse con datos Hadoop usando Transact SQL estándar. Polybase para su funcionamiento crea tres bbdd llamadas DWConfiguration, DWDiagnostics, and DWQueue © Solid Quality™ Press www.solidq.com Página 20 Instalación de SQL Server 2017 14. El siguiente paso es configurar los servicios de SQL Server. Conviene tener en cuenta los criterios de seguridad citados en el punto “Cuentas de Servicio”. Básicamente no conviene dar a las cuentas de servicio ningún permiso adicional. Si fuéramos a instalar grupos de disponibilidad Always On se aconseja cuentas del dominio. © Solid Quality™ Press www.solidq.com Página 21 Instalación de SQL Server 2017 15. En cuanto al Collation recomendamos usar un collation de Windows alineado con el sistema operativo. Los collation que comienzan por el prefijo “SQL_” se mantiene tan solo por compatibilidad descendente © Solid Quality™ Press www.solidq.com Página 22 Instalación de SQL Server 2017 16. En el siguiente formulario tenemos que indicar el modo de autenticación de SQL Server. El modo “Windows authentication mode” es por defecto, es decir tienen integración con Windows tanto con los usuarios y grupos del servidor local como con el del dominio (si es que el servidor está dentro de un dominio). El modo mixto permite utilizar logins y usuarios creados en SQL Server y por supuesto integra el modo Windows. Se recomienda el modo Windows siempre ya que gestiona la seguridad más eficientemente. En el caso de que seleccionemos modo mixto debemos indicar la password del usuario sa © Solid Quality™ Press www.solidq.com Página 23 Instalación de SQL Server 2017 17. En la pestaña “Data Directories” debemos indicar las carpetas donde se dejarán los ficheros de sistema, los ficheros de datos/log de las bbdd de usuario y los ficheros de backup. Como regla general se aconseja separar bbdd de sistema de bbdd de usuario y de tempdb. Dentro de cada uno de estos grupos (sistema, usuario, tempdb) separar ficheros de datos de ficheros de log. © Solid Quality™ Press www.solidq.com Página 24 Instalación de SQL Server 2017 18. La pestaña “TempDB” permite configurar: a. Ubicación de los ficheros de datos/log b. Número de ficheros de datos c. Tamaño de fichero datos/log d. Autocrecimiento en MB de ficheros de datos/log © Solid Quality™ Press www.solidq.com Página 25 Instalación de SQL Server 2017 19. La pestaña “Filestream” sirve como su nombre indica para activar esta funcionalidad. Filestream permite trabajar con ficheros ya sean de texto y/o binarios grandes. Es aconsejable almacenarlos en la bbdd cuando el tamaño de estos ficheros es menor de 2 GB. Filestream además permite a través de un API acceder directamente a los datos en streaming sin pasar por la “capa” de SQL Server lo cual incrementa la velocidad de transferencia. s 20. La pantalla siguiente permite configurar SSAS, más concretamente el modo: Multidimensional. Permite crear cubos multidimensionales Tabular. Permite crear modelos tabulares. Un modelo tabular se basa en tablas relacionales cargadas en memoria. Estas tablas relacionales, lo normal es que tengan una estructura copo de nieve más que un modelo relacional puro. La diferencia principal entre el modo multidimensional y el tabular (aparte de que el tabular está completamente en memoria) es que el multidimensional permite hacer minería de datos y permite cubos muchos más grandes © Solid Quality™ Press www.solidq.com Página 26 Instalación de SQL Server 2017 PowerPivot Mode. Este es un modo de instalación que permite la integración con SharePoint La segunda funcionalidad de esta pantalla es permitir agregar los administradores del servicio © Solid Quality™ Press www.solidq.com Página 27 Instalación de SQL Server 2017 21. La pestaña “Data Directories” permite especificar las carpetas donde se guardarán los ficheros de: Datos Log Tempdb Backup Es recomendable si es posible usar un disco/s independientes para cada uno. © Solid Quality™ Press www.solidq.com Página 28 Instalación de SQL Server 2017 22. Esta ventana nos va a permitir configurar el nodo maestro para el “Scale Out” de SSIS. Necesitamos definir el puerto y crear un certificado o usar uno existente. Los certificados se almacenan en “Trusted Root Certification Authorities” en el servidor © Solid Quality™ Press www.solidq.com Página 29 Instalación de SQL Server 2017 23. El próximo paso es configurar al menos un “worker” para la arquitectura “Scale Out” de SSIS. Esta arquitectura está preparada como dijimos para tener “N” workers, esto quiere decir que podemos aplicar esta instalación (Worker Node) a cuantas máquinas queramos sin tener que instalar nada adicional. Lo importante en este paso es indicarle: El endpoint para conectarse al master node Usar el certificado del master node En el caso de que el nodo master sea nodo también nodo trabajador no hay porque instalar el certificado ya que está en el mismo servidor © Solid Quality™ Press www.solidq.com Página 30 Instalación de SQL Server 2017 24. Ahora configuraremos Distributed Replay Controller. Distributed Replay es una característica que ayuda a evaluar el impacto del hardware, upgrades del sistema operativo y tuning de SQL Server. Con él tu capturas trazas como con SQL Server Profiler pero una diferencia es que el Replay de la carga de trabajo no está limitado al servidor del que tomas los datos. Distributed Replay es más escalable ya que puedes reproducir esa carga en múltiples servidores para poder testear, monitorizar el rendimiento e intentar predecir la capacidad de un servidor. Esta arquitectura consta de varios elementos: Distributed Replay Administration Tool. Es una aplicación de consola llamada DReplay.exe que se utiliza para comunicarse y controlar al servidor Replay Controller Distributed Replay Controller. Es un servidor en el que corre un servicio de windows llamado “SQL Server Distributed Replay Controller”. Es quien organiza a los distintos Servicios Replay Clientes Distributed Replay Clients. Uno o más servidores en los que corre el servicio “Distributed Replay Client”. Este servicio aplica cargas a una instancia de SQL Server simulando uno o más clientes Target Server. Instancia de SQL Server donde los servicios “Distributed Replay Client” lanzarán la carga Dicho esto, en la pantalla siguiente tenemos que indicar quienes serán administradores del “Replay Controller” © Solid Quality™ Press www.solidq.com Página 31 Instalación de SQL Server 2017 25. Para configurar el “Replay Client” tenemos que indicarle tanto el controlador como los directorios de trabajo y de resultados © Solid Quality™ Press www.solidq.com Página 32 Instalación de SQL Server 2017 26. La última parte es aceptar el consentimiento para instalar R y/o Python. Ambas pantallas son similares en nuestro caso solo instalamos R 27. Si no tenemos internet como es nuestro caso, tendremos que decirle en que carpeta hemos dejado los binarios de R o Python. En nuestro caso es “E:\Machine_Learning” © Solid Quality™ Press www.solidq.com Página 33 Instalación de SQL Server 2017 En el siguiente enlace se indican cuáles son los binarios para R/Python: Referencia: https://docs.microsoft.com/en-us/sql/advanced-analytics/r/installing- ml-components-without-internet-access 28. El penúltimo paso es la pantalla de resumen: © Solid Quality™ Press www.solidq.com Página 34 Instalación de SQL Server 2017 © Solid Quality™ Press www.solidq.com Página 35 Instalación de SQL Server 2017 29. Si pulsamos el botón “Install” Se realizará la instalación: © Solid Quality™ Press www.solidq.com Página 36 Instalación de SQL Server 2017 Instalación SQL Server Management Studio (SSMS) SQL Server Management Studio es la herramienta que nos permite gestionar nuestras instancias relaciones, SSAS, SSIS etc que desde la versión 2016 ya no está incluida en los binarios de SQL Server. Importante: Desde la versión 2016 de SQL Server el servicio de SSIS solo puede abrirse desde una versión igual a la suya, es decir que la versión 2016 de SSMS solo podrá abrir SSIS 2016. Adjuntamos pantallazo de la información oficial: Referencia: https://docs.microsoft.com/en-us/sql/integration-services/service/integration- services-service-ssis-service Dicho esto, vamos a instalar SSMS. Puesto que hemos instalado SQL Server 2017 instalaremos SSMS 2017. Referencia: https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management- studio-ssms 1. Hacemos doble click sobre el ejecutable: 2. Pulsamos el botón “Install” © Solid Quality™ Press www.solidq.com Página 37 Instalación de SQL Server 2017 3. Dejamos la instalación hasta que nos indique que ha finalizado: © Solid Quality™ Press www.solidq.com Página 38 Instalación de SQL Server 2017 4. Para finalizar pinchamos sobre el botón “Close” © Solid Quality™ Press www.solidq.com Página 39 Instalación de SQL Server 2017 Instalación de Reporting Services Otro producto que se ha sacado de la instalación de SQL Server es Reporting Service. Para abrir la página que nos permite descargar los binarios tan solo tenemos que usar el programa de instalación de SQL Server. 1. Para empezar pinchamos sobre el programa de instalación: 2. Pinchamos sobre el botón “Install Reporting Services” © Solid Quality™ Press www.solidq.com Página 40 Instalación de SQL Server 2017 3. A continuación, tenemos que poner la licencia. Si no la escribimos tendremos una licencia temporal de evaluación de 180 días y pulsar el botón “Next” 4. Se debe aceptar los términos de la licencia para poder continuar y pulsar el botón “Next” © Solid Quality™ Press www.solidq.com Página 41 Instalación de SQL Server 2017 5. En esta pantalla nos advierte de que se necesita una instancia relacional y nos da la opción de instalar el servicio de reporting. Pulsamos el botón “Next” 6. Tras esto debemos indicar la ruta de instalación y pulsar el botón “Install” © Solid Quality™ Press www.solidq.com Página 42 Instalación de SQL Server 2017 7. Cuando el proceso de instalación termina tenemos que configurar el servicio. Para ello pulsamos el botón “Configure Report Server” 8. Para configurar el servicio debemos indicar el nombre del servidor y el nombre del servicio © Solid Quality™ Press www.solidq.com Página 43 Instalación de SQL Server 2017 9. Una vez elegido el servicio el nombre aparece en la parte superior del formulario para que sepamos que estamos configurando. La primera pantalla nos indica el estado del servicio. Desde esta pantalla podemos arrancarlo y pararlo. 10. La opción “Services Account” nos permite cambiar la cuenta de servicio. Importante, si alguna vez cambiamos la cuenta de servicio debemos hacer backup de la clave de encriptación ya que la clave de encriptación depende de la pwd y el login. © Solid Quality™ Press www.solidq.com Página 44 Instalación de SQL Server 2017 11. La primera opción que vamos a configurar es el servicio web que usa Reporting Services. Para ello pulsaremos el botón “Apply” de la parte inferior derecha. Por supuesto se puede cambiar el nombre del directorio virtual, ip asignada, puerto, certificado https y puerto del certificado https. En base a esta configuración configura la url del servicio web. © Solid Quality™ Press www.solidq.com Página 45 Instalación de SQL Server 2017 12. La opción “Database” permite configurar la bbdd relacional en la que se apoya el servicio de Reporting Services. Primero pulsamos el botón “Change Database” © Solid Quality™ Press www.solidq.com Página 46 Instalación de SQL Server 2017 13. Tras ello nos aparecerá esta ventana, donde elegiremos crear una nueva bbdd o elegir una existente. En nuestro caso elegiremos “Create a new report server database.” Y pulsaremos el botón “Next” © Solid Quality™ Press www.solidq.com Página 47 Instalación de SQL Server 2017 14. La siguiente opción es indicar en que servidor ubicaremos la bbdd y con que login nos conectaremos. También podremos elegir como modo de autenticación la cuenta de servicio o logins de SQL Server. Una vez escogido el método lo mejor es probar que funciona la conexión © Solid Quality™ Press www.solidq.com Página 48 Instalación de SQL Server 2017 15. En la opción “Database” indicamos el nombre de la bbdd que usaremos para Reporting Services y el lenguaje 16. La opción “Credentials” sirve para indicar que cuenta se usará para conectarse a la bbdd Report Server. La diferencia con las credenciales de la opción “Database Server” es que las de “Database Server” sirven para conectarse al servidor que contiene la bbdd © Solid Quality™ Press www.solidq.com Página 49 Instalación de SQL Server 2017 17. La pantalla “Summary” muestra el resumen de opciones que hemos elegido 18. La pantalla “Progress and Finish” nos muestra el progreso de la instalación y cuando ha terminado © Solid Quality™ Press www.solidq.com Página 50 Instalación de SQL Server 2017 19. Tras pulsar el botón “Finish” nos aparece la siguiente pantalla © Solid Quality™ Press www.solidq.com Página 51 Instalación de SQL Server 2017 20. Tras crear la bbdd probamos el web services de pinchando sobre la URL de la opción “Web Portal URL”: http://SQL_2017:80/ReportServer. Si funciona correctamente veremos los siguiente: 21. Ahora vamos a configurar el portal web en la opción “Web Portal Url”. Tan solo debemos pulsar el botón “Apply” de la parte inferior derecha © Solid Quality™ Press www.solidq.com Página 52 Instalación de SQL Server 2017 22. El resultado es el siguiente: 23. Ahora probamos el portal web Report Server pinchando sobre la URL http://SQL2017:80/Reports. Si está bien configurado el resultado será este: © Solid Quality™ Press www.solidq.com Página 53 Instalación de SQL Server 2017 24. La última operación es hacer backup de la clave de encriptación que se utiliza para encriptar cadenas de conexión y cualquier otra información sensible. Esto lo hacemos desde la opción “Encryption Keys” pulsando el botón “Backup” © Solid Quality™ Press www.solidq.com Página 54 Instalación de SQL Server 2017 25. Tras esta acción aparecerá la siguiente pantalla. En ella tendremos que indicar la ruta donde guardaremos el fichero con la clave encriptada. La password y la confirmación de password sirve para encriptar el fichero con la clave. Esta clave se debe usar en la restauración de la clave © Solid Quality™ Press www.solidq.com Página 55 Instalación de SQL Server 2017 26. El resultado de la operación es este: El fichero creado lo verificamos en la carpeta que hemos elegido: Dos consideraciones importantes: o Este fichero debe guardarse en una ubicación segura fuera del servidor ya que si el servidor se estropeara y perdiéramos la clave no podríamos usar la bbdd ReportServer ni aunque tuviéramos el backup o Se debe hacer backup de la clave de encriptación cada vez que cambiamos la cuenta de servicio y/o su password ya que la clave de encriptación cambia © Solid Quality™ Press www.solidq.com Página 56 Instalación de SQL Server 2017 Instalación de Power BI Server Power BI, es un conjunto de herramientas de análisis empresarial abarca desde la creación de informes, gestión, almacenamiento y escalado local o en la nube. Power BI incluye las funcionalidades de SQL Server Reporting Services. Una de las diferencias es que requiere una licencia diferente a la de SQL Server. Como se podrá ver existe muy poca diferencia con la instalación de Reporting Services. PowerBI Report Server se puede descargar en la siguiente página: Referencia: https://www.microsoft.com/en-us/download/details.aspx?id=55329 1. Para empezar, pinchamos sobre el programa de instalación: 2. Pinchamos sobre el botón “Install Power BI Report Server” © Solid Quality™ Press www.solidq.com Página 57 Instalación de SQL Server 2017 3. A continuación, tenemos que poner la licencia. Si no la escribimos tendremos una licencia temporal de evaluación de 180 días y pulsar el botón “Next” 4. Se debe aceptar los términos de la licencia para poder continuar y pulsar el botón “Next” © Solid Quality™ Press www.solidq.com Página 58 Instalación de SQL Server 2017 5. En esta pantalla nos advierte de que se necesita una instancia relacional y nos da la opción de instalar el servicio de reporting. Pulsamos el botón “Next” 6. Tras esto debemos indicar la ruta de instalación y pulsar el botón “Install” © Solid Quality™ Press www.solidq.com Página 59 Instalación de SQL Server 2017 7. Cuando el proceso de instalación termina tenemos que configurar el servicio. Para ello pulsamos el botón “Configure Report Server” 8. Para configurar el servicio debemos indicar el nombre del servidor y el nombre del servicio. En este caso vemos que nos aparece el servicio de Reporting que instalamos en el paso anterior. Vamos a instalar el nuevo servicio “PBIRS” © Solid Quality™ Press www.solidq.com Página 60 Instalación de SQL Server 2017 9. Una vez elegido el servicio el nombre aparece en la parte superior del formulario para que sepamos que estamos configurando. La primera pantalla nos indica el estado del servicio. Desde esta pantalla podemos arrancarlo y pararlo. 10. La opción “Services Account” nos permite cambiar la cuenta de servicio. Importante, si alguna vez cambiamos la cuenta de servicio debemos hacer backup de la clave de encriptación ya que la clave de encriptación depende de la pwd y el login © Solid Quality™ Press www.solidq.com Página 61 Instalación de SQL Server 2017 11. La primera opción que vamos a configurar es el servicio web que usa Reporting Services. Para ello pulsaremos el botón “Apply” de la parte inferior derecha. Por supuesto se puede cambiar el nombre del directorio virtual, ip asignada, puerto, certificado https y puerto del certificado https. En base a esta configuración configura la url del servicio web. En nuestro caso el directorio virtual lo hemos llamado “ReportServerBI” para diferenciarlo del servicio de Reporting Services © Solid Quality™ Press www.solidq.com Página 62 Instalación de SQL Server 2017 12. La opción de configurar la BBDD es exactamente igual que en Reporting Services por lo que no repetiremos lo mismo. El único pantallazo que pondremos es el relativo al nombre de la bbdd ya que obviamente cambia. En este caso el nombre de la bbdd es “ReportServerBI” © Solid Quality™ Press www.solidq.com Página 63 Instalación de SQL Server 2017 13. Tras pulsar el proceso nos aparece la siguiente pantalla 14. Tras crear la bbdd probamos el web services de pinchando sobre la URL de la opción “Web Portal URL”: http://SQL_2017:80/ReportServerBI. Si funciona correctamente veremos los siguiente: © Solid Quality™ Press www.solidq.com Página 64 Instalación de SQL Server 2017 15. Ahora vamos a configurar el portal web en la opción “Web Portal Url”. Tan solo debemos pulsar el botón “Apply” de la parte inferior derecha. Al portal web le llamaremos “ReportBI” 16. Si pinchamos sobre la URL http://SQL2017:80/ReportsBI el resultado es el siguiente: © Solid Quality™ Press www.solidq.com Página 65 Instalación de SQL Server 2017 17. La última operación es hacer backup de la clave de encriptación. La operación es la misma que Reporting Services. En este caso a la clave la hemos llamado powerbi.snk © Solid Quality™ Press www.solidq.com Página 66 Instalación de SQL Server 2017 18. Si abrimos SQL Server Management Studio vemos las cuatro bases de datos correspondientes a los dos servicios: ReportServer y ReportServerTempdb para el servicio de “Reporting Services” ReportServerBI y ReportServerBITempdb para el servicio de “Report Server BI” © Solid Quality™ Press www.solidq.com Página 67 Instalación de SQL Server 2017 Pruebas de Productos Desde una instancia en otro servidor vamos a probar cada producto que hemos instalado. Lo primero que vamos a hacer es abrir los puertos del firewall. Puertos Para abrir puertos tenemos que utilizar el firewall de windows. Vamos a ilustrar un ejemplo y posteriormente enumeraremos los puertos a abrir. 1. Para abrir un puerto tenemos que abrir el firewall de windows: 2. La pantalla principal del Firewall es la siguiente: 3. En la parte superior izquierda pinchamos sobre “Inbound Rules” con el botón derecho y hacemos click sobre “New Rule” © Solid Quality™ Press www.solidq.com Página 68 Instalación de SQL Server 2017 4. En el wizard elegimos la opción “Port” y pulsamos “Next” 5. Especificamos el protocolo y el número de puerto, en este caso, protocolo TCP y puerto 1433 que es el puerto por defecto de SQL Server. Pulsamos el botón “Next” © Solid Quality™ Press www.solidq.com Página 69 Instalación de SQL Server 2017 6. A continuación, le indicamos al firewall que acción debe hacer cuando le llegue una petición a este puerto. Hemos elegido permitir la conexión pero también podemos, permitir la conexión si es segura o bloquearla. Pulsamos el botón “Next” 7. En la siguiente pantalla le decimos donde aplicará la regla. El firewall está divido en tres ámbitos, conexiones del dominio, conexiones de red privada y conexiones de red pública. Pulsamos el botón “Next” © Solid Quality™ Press www.solidq.com Página 70 Instalación de SQL Server 2017 8. La última acción es dar nombre a la regla del firewall. En nuestro caso la hemos llamado 1433 SQL Server Relacional y pulsamos el botón “Finish” La lista de puertos más habituales en SQL Server es la siguiente. Todos son TCP y aplican a todos los perfiles del firewall: SQL Server Relacional: 1433 Polybase: 16450-16460 Analysis Services (SSAS): o El puerto por defecto para instancias sin nombre es el 2383 (el nombre de la instancia es el del servidor). En nuestro caso como es una instancia con nombre hemos elegido el 57777 Integration Services (SSIS): 135 o Scale Out Master: 8391 © Solid Quality™ Press www.solidq.com Página 71 Instalación de SQL Server 2017 Aparte de los puertos, en instancias con nombre como la mía (SOLIDQ_2017), bien hace falta abrir una regla para el servicio de Browser. El servicio Browser permite identificar instancias con nombre y redirigirles peticiones. En lugar del puerto en este caso al firewall hay que decirle la ubicación del programa. %ProgramFiles% (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe © Solid Quality™ Press www.solidq.com Página 72 Instalación de SQL Server 2017 Conectividad Puesto que este es un libro básico vamos a conectar a los elementos que en nuestra opinión más se usan en SQL Server (Relacional, SSAS, SSIS). También mostraremos do más infrecuentes como son Master Services, Polybase o R Server pero que pueden ser útiles a futuro. Conectividad Servicio Relacional Hecho esto probamos la conexión a nuestra instancia de SQL Server desde otro servidor llamado INST-AO1. 1. Primero abrimos SQL Server Management Studio (en el futuro SSMS), en el servidor INST-AO1. Tras esto pinchamos en “Connect” y elegimos “Database Engine”. En el nombre del servidor indicamos el nombre de la instancia. En nuestro caso es SQL2017\SOLIDQ_2017. Por último, pulsamos en el botón “Connect” 2. El resultado es este: © Solid Quality™ Press www.solidq.com Página 73 Instalación de SQL Server 2017 Ahora que hemos conectado puedes aprender a configurarlo y administrarlo de una manera básica desde mi libro “SQL Server Para Administradores Accidentales”. Conectividad Servicio Analysis Services SSAS Para conectar a una instancia con nombre de SSAS hay que configurar el puerto predeterminado de SSAS. Si la instancia no fuera con nombre el puerto sería 2383 y no haría falta hacer nada más. 1. Para ello en la máquina que hemos instalado tenemos que conectarnos a SSMS y a la instancia con nombre. Tras esto pinchamos en “Connect” y elegimos “Analysis Services”. En el nombre del servidor indicamos el nombre de la instancia. En nuestro caso es SQL2017\SOLIDQ_2017. Por último, pulsamos en el botón “Connect” © Solid Quality™ Press www.solidq.com Página 74 Instalación de SQL Server 2017 2. El resultado es este. Sobre la instancia hacemos click con el botón derecho del ratón y elegimos la opción “Properties” 3. Nos situamos en la opción “General” y hacemos scroll hasta encontrar la propiedad “Port” donde escribimos el número del puerto que deseemos. En nuestro caso el 57777. Tras esto, pulsamos el botón “Ok” © Solid Quality™ Press www.solidq.com Página 75 Instalación de SQL Server 2017 4. El siguiente paso es reiniciar el servicio. Para hacer esto abrimos el programa “SQL Server Configuration Manager”. Esta aplicación gestiona los servicios y los protocolos de red © Solid Quality™ Press www.solidq.com Página 76 Instalación de SQL Server 2017 5. Pinchamos en “SQL Server Services”, seleccionamos el servicio de SSAS pinchamos con el botón derecho del ratón y seleccionamos la opción “Restart” 6. Abrimos en el Firewall de windows el puerto 57777 7. Probamos a conectar desde otro servidor llamado INST-AO1. Nos conectamos a SSMS. Tras esto pinchamos en “Connect” y elegimos “Analysis Services”. En el nombre del servidor indicamos el nombre de la instancia. En nuestro caso es SQL2017\SOLIDQ_2017. Por último, pulsamos en el botón “Connect” 8. El resultado es el siguiente: © Solid Quality™ Press www.solidq.com Página 77 Instalación de SQL Server 2017 Si estas más interesado en conocer como configurar SSAS, permisos y/o backups te recomiendo mi libro “Administración de SQL Server, SSAS, SSIS, SSRS” Conectividad Integration Services SSIS Para conectar a Integration Services desde la versión 2016 necesitamos hacerlo desde un SSMS de la misma versión. Ver explicación en Instalación de SQL Server Management Studio. Por esta razón vamos a conectar desde la misma instancia en la que hemos instalado SSIS. 1. Abrimos SSMS. Tras esto pinchamos en “Connect” y elegimos “Integration Services”. En el nombre del servidor indicamos el nombre de la instancia. En nuestro caso es SQL2017. Solo puede haber una instancia de Integration Services por máquina por lo que no existen las instancias por nombre. La instancia de Integration. Por último, pulsamos en el botón “Connect”. 2. El resultado es el siguiente: Si estas más interesado en conocer como configurar SSAS, permisos y/o backups te recomiendo mi libro “Administración de SQL Server, SSAS, SSIS, SSRS” © Solid Quality™ Press www.solidq.com Página 78 Instalación de SQL Server 2017 Conectividad Master Services 1. Abrir la aplicación “Master Data Services Configuration Manager” 2. Nos aparecerá la siguiente pantalla donde nos indica que debemos instalar unas determinadas Features de IIS La lista completa está en este enlace donde se indica como instalarla desde el “Server Manager”: Referencia: https://technet.microsoft.com/en-us/library/ee633744(v=sql.105).aspx © Solid Quality™ Press www.solidq.com Página 79 Instalación de SQL Server 2017 3. Tras esto si volvemos a abrir “Master Data Services Configuration Manager” Vemos la siguiente pantalla donde tenemos que configurar la bbdd y el portal web. Digamos que funciona igual que reporting services en el sentido de que tiene una bbdd y una web con la que poder trabajar. © Solid Quality™ Press www.solidq.com Página 80 Instalación de SQL Server 2017 4. Pulsamos sobre el botón “Create Database”: 5. Nos carga la siguiente pantalla y pulsamos el botón “Next”: © Solid Quality™ Press www.solidq.com Página 81 Instalación de SQL Server 2017 6. La primera opción es configurar la instancia donde se creará la bbdd. Para ello aparte del nombre de la instancia (“SQL Server Instance”), el modo de autenticación (“Authentication type”) que puede ser Windows o de SQL Server, el usuario (“User name”) y la password en el caso de que sea un usuario de SQL Server. Pulsamos el botón “Test Connection” y si funciona el botón “Next” 7. El paso siguiente es indicar el nombre de la bbdd (“Database name”) y el collation. Lo normal es que este alineado con el de la instancia si marcamos el check (“SQL Server default collation”) aunque podría ser cualquier otro de Windows si no lo marcamos. Pulsamos el botón “Next” © Solid Quality™ Press www.solidq.com Página 82 Instalación de SQL Server 2017 8. En esta pantalla indicamos el usuario que será administrador de los modelos almacenados en la bbdd Master Data Services. Se indica en la caja de texto (“User name”). Tras escribirlo pulsamos el botón “Next” 9. La pantalla resumen (“Summary”) indica que hemos seleccionado. Pulsamos el botón “Next” © Solid Quality™ Press www.solidq.com Página 83 Instalación de SQL Server 2017 10. Tras esto comienza la instalación 11. Al terminar muestra esta pantalla. Pulsamos el botón “Finish” © Solid Quality™ Press www.solidq.com Página 84 Instalación de SQL Server 2017 12. Ahora “Master Services Configuration Manager” nos muestra la configuración de la bbdd 13. El siguiente paso es configurar la web, para ello seleccionamos en la lista “Website” la opción “Create new website” © Solid Quality™ Press www.solidq.com Página 85 Instalación de SQL Server 2017 14. Tras hacer esta operación nos aparece la siguiente pantalla: © Solid Quality™ Press www.solidq.com Página 86 Instalación de SQL Server 2017 15. En esta pantalla informamos: Nombre del sitio web (“Website name”) Host que albergará el sitio web (“Host header”), en nuestro caso hemos escrito “localhost” Nombre del pool de aplicación (“Name”). “En nuestro caso MDS Application Pool” Credenciales que se usarán en el pool, usuario de windows, password y confirmación de password Pulsamos el botón “Ok” © Solid Quality™ Press www.solidq.com Página 87 Instalación de SQL Server 2017 16. En nuestro caso como el sitio web no usa el protocolo seguro SSL nos aparece el siguiente warning: 17. Una vez que hemos creado el website le tenemos que vincular la base de datos que hemos creado anteriormente para que pueda mostrar su contenido. Para ello pulsamos sobre el botón “Select” © Solid Quality™ Press www.solidq.com Página 88 Instalación de SQL Server 2017 18. En la pantalla que nos aparece debemos indicar la instancia y el modo de autenticación de la misma manera que lo haríamos en SSMS. Pulsamos sobre el botón conectar (“Connect”) 19. Cuando hemos conectado la lista “Master Data Services database” se desbloquea y podemos seleccionar la bbdd que creamos antes. Tras esto pulsamos “OK” © Solid Quality™ Press www.solidq.com Página 89 Instalación de SQL Server 2017 20. En la pantalla inicial ya tenemos configurado tanto el sitio web como la bbdd por lo que pulsamos “OK” © Solid Quality™ Press www.solidq.com Página 90 Instalación de SQL Server 2017 21. Esto provocará que nos aparezca un mensaje en la pantalla principal. Si pulsamos sobre el botón de la parte inferior derecha “Apply” aplicaremos los cambios y nos aparecerá un mensaje que lanzará en un navegador web la aplicación © Solid Quality™ Press www.solidq.com Página 91 Instalación de SQL Server 2017 22. La pantalla web que nos presenta es esta. Para probarla hemos pinchado sobre la opción “Open the Master Data Services home page” 23. El resultado es el siguiente: © Solid Quality™ Press www.solidq.com Página 92 Instalación de SQL Server 2017 Conectividad PolyBase Polybase es una aplicación que permite conectar el entorno relacional con un entorno no relacional (NoSQL) como puede ser Hadoop o Azure Blob Storage. Haciendo un símil se podría decir que es un puente entre datos. 1. El primer paso es configurar nuestra instancia de SQL Server para permitir el acceso a Hadoop o Azure con el procedimiento “sp_configure” USE master; GO EXEC sp_configure 'show advanced option', '1'; RECONFIGURE; GO EXEC sp_configure 'hadoop connectivity', 4; GO RECONFIGURE; GO 2. A continuación, vamos a crear una bbdd llamada “a” use master create database a 3. Para la prueba vamos a conectarnos a un fichero .csv que hemos dejado en Azure. Lo primero que haremos será crear el fichero. Lo llamaremos “polybase.csv” © Solid Quality™ Press www.solidq.com Página 93 Instalación de SQL Server 2017 4. El siguiente paso será subirlo a un Blob de Azure. Para ello necesitas una subscripción a Azure. Para gestionar el almacenamiento yo utilizo Microsoft Azure Storage Explorer. Una vez que accedemos si queremos guardar nuestro fichero hay que hacer las siguientes tareas: a. Crear una cuenta de almacenamiento (“Storage Account”), en nuestro caso es “a12345a1237” b. Crear un blob que contendrá nuestro fichero. Le hemos llamado “polybase” c. A continuación, subimos el fichero a la carpeta polybase arrastrándolo desde la carpeta de nuestro equipo 5. Para conectarnos a Azure desde SQL Server hace falta crear una credencial. Para crearla necesitamos la “Primary Key” de la cuenta de almacenamiento. Esta “Primary Key” no tiene absolutamente nada que ver con las claves primarias de las tablas relacionales. Tan solo es un elemento de seguridad 6. El siguiente paso es crear una clave maestra de encriptación con la password que nosotros deseemos: use a go CREATE MASTER KEY ENCRYPTION BY PASSWORD='solidq@luismoran123_2017'; © Solid Quality™ Press www.solidq.com Página 94 Instalación de SQL Server 2017 7. Creamos la credencial indicando la primary key de la cuenta de almacenamiento CREATE DATABASE SCOPED CREDENTIAL mycredential WITH IDENTITY = 'credential', Secret = 'upTFNC4cG2W01WCbF9Rm1phTBSnZ+xF5Z7DZGcl+n/o/NJW+kIIKDfakj/2XPIqII1rQ3g07WoTTKv H0DSuXEQ==' 8. Creamos una fuente de datos externa. Le podemos dar el nombre que queramos, yo la he llamado polybase. Lo que es importante en este paso es indicar el nombre de la credencial creada en el paso anterior y la localización de la que está compuesta por: “wasbs://
[email protected]/” CREATE EXTERNAL DATA SOURCE polybase WITH ( TYPE = HADOOP, LOCATION = 'wasbs://
[email protected]/', CREDENTIAL = mycredential ); 9. Indicamos que formato tiene el fichero, indicando el tipo de formato (“DelimitedText”) o texto delimitado y el delimitador de campos (“Field_Terminator”) que es una “,” CREATE EXTERNAL FILE FORMAT polybase_csv_format WITH ( FORMAT_TYPE = DELIMITEDTEXT, FORMAT_OPTIONS ( FIELD_TERMINATOR = ',' ) ); 10. Por ultimo creamos la tabla externa. Además del nombre (“Polybase”) le tenemos que decir el nombre y tipo de los campos. Estos deberán coincidir en número y tipo con los del fichero. Aparte de la estructura hay que indicarle la localización del fichero dentro del contenedor (“Location”), el origen de datos (“Data Source”) y el fichero de formato (“File Format”) CREATE EXTERNAL TABLE polybase ( id INT, name VARCHAR(128) ) WITH ( LOCATION = '/polybase.csv', DATA_SOURCE = polybase, FILE_FORMAT = polybase_csv_format ) © Solid Quality™ Press www.solidq.com Página 95 Instalación de SQL Server 2017 11. Si hacemos una query de la tabla veremos que el resultado coincide con el del fichero: select * from a.[dbo].[polybase] Conectividad en R Server R Server nos permitirá ampliar las funcionalidades de consulta y análisis ya que podremos lanzar scripts matemático/estadísticos a partir de las múltiples librerías de este tipo que posee. Para configurar la conectividad con R Server simplemente hay que lanzar este script. sp_configure 'external scripts enabled', 1; GO reconfigure; GO Para probar la conectividad con R Server simplemente hay que lanzar este script. En concreto calcular vamos a calcular los cuartiles. EXEC sp_execute_external_script @language = N'R' ,@script = N' res <-quantile(InputDataSet$v); print(res)' ,@input_data_1 = N'select object_id as v from sys.objects;' © Solid Quality™ Press www.solidq.com Página 96 Instalación de SQL Server 2017 El resultado lo muestra así: Cuando lo lancéis es posible que no os de el mismo valor que mi porque los valores de object_id de sys.objects serán distintos. Lo importante más allá del valor es que os salga algún resultado de este tipo. Si se produce algún error es posible que tengáis que cambiar la cuenta de servicio de R que se llama SQL Server Launchpad (en azul) © Solid Quality™ Press www.solidq.com Página 97 Instalación de SQL Server 2017 StandAlone Por Línea De Comandos La siguiente instalación es muy útil cuando sabemos concretamente que elementos instalar y lo queremos realizar sin estar presente sobre todo si son muchas las instancias a instalar. Un ejemplo sencillo es cuando te piden que instales varios entornos con las mismas features, por ejemplo, desarrollo, test, producción. Las características deberían ser las mismas en los tres entornos cambiando tan solo la potencia del hardware de las máquinas o los logins que tienen acceso a ellos. Para hacer esto se puede configurar un comando o fichero de configuración basándonos en los parámetros de esta página. Referencia: https://docs.microsoft.com/es-es/sql/database-engine/install-windows/install- sql-server-from-the-command-prompt Otro método que se suele usar es simular que vas a hacer una instalación con el interfaz gráfico y en el paso de antes de instalar copias el fichero de configuración que tiene todas las opciones que has marcado. © Solid Quality™ Press www.solidq.com Página 98 Instalación de SQL Server 2017 Los parámetros usados tanto en el fichero de configuración como en línea de comando son los mismos. La diferencia es que en línea de comando hay que poner delante de cada parámetro el carácter “/”. Cuando aplicas este método: Hay que quitar el parámetro UIMODE que este parámetro solo sirve para el interfaz gráfico Añadir al fichero de configuración el parámetro IACCEPTSQLSERVERLICENSETERMS="True" para aceptar términos de la licencia Suele haber problemas con las credenciales de los servicios, lo suyo es tenerlas creadas antes de la instalación Para realizar una instalación desatendida hay que hacer lo siguiente: 1. Abrir ventana interfaz de comandos en modo administrador 2. Situarse en la unidad donde estén los binarios, en nuestro caso la D:\ 3. Lanzar el siguiente comando: Setup.exe /q /ACTION=Install /CONFIGURATIONFILE=E:\CONFIGURATIONFILE.INI Importante hay que indicarle la ruta del fichero de configuración © Solid Quality™ Press www.solidq.com Página 99 Instalación de SQL Server 2017 4. Termina de la siguiente manera: Parámetros Para una mejor comprensión vamos a comentar los parámetros utilizados en nuestro ejemplo. Línea de Comandos /Q. Indica que la instalación se va a realizar en modo silencioso sin ningún tipo de interfaz de usuario /ACTION. Es un parámetro obligatorio y su único valor admitido es INSTALL /CONFIGURATIONFILE. Indica que se debe utilizar un archivo de configuración. En él dejamos definidas los parámetros de instalación A continuación, vamos a mostrar una imagen del fichero de configuración y explicar todos los parámetros que hemos utilizado. Referencia: https://docs.microsoft.com/es-es/sql/database-engine/install-windows/install- sql-server-from-the-command-prompt El texto que sigue a “;” son comentarios que explican el parámetro que tienen abajo. © Solid Quality™ Press www.solidq.com Página 100 Instalación de SQL Server 2017 Si bien he intentado explicar todos hay algunos de los que apenas hay documentación. ;SQL Server 2017 RC2 Configuration File [OPTIONS] ; By specifying this parameter and accepting Microsoft R Open and Microsoft R Server terms, you acknowledge that you have read and understood the terms of use. IACCEPTPYTHONLICENSETERMS="False". Acepta los términos de licencia de Python. Como no voy a instalarlo el valor es falso. ; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter. ACTION="Install". Acción que vamos a realizar, en este caso instalar. ; Specifies that SQL Server Setup should not display the privacy statement when ran from the command line. SUPPRESSPRIVACYSTATEMENTNOTICE="False". Indica que no mostrará la declaración de privacidad. ; By specifying this parameter and accepting Microsoft R Open and Microsoft R Server terms, you acknowledge that you have read and understood the terms of use. IACCEPTROPENLICENSETERMS="False". Acepta los términos de licencia de “R”. Como no voy a instalarlo el valor es falso. IACCEPTSQLSERVERLICENSETERMS="True". Acepta los términos de licencia de SQL Server. Como voy a instalarlo el varlor es verdadero. ; Use the /ENU parameter to install the English versión of SQL Server on your localized Windows operating system. ENU="True". Indica que vamos a instalar la versión en inglés. ; Setup will not display any user interface. QUIET="False". No mostrará interfaz gráfico alguno (pantalla). ; Setup will display progress only, without any user interaction. © Solid Quality™ Press www.solidq.com Página 101 Instalación de SQL Server 2017 QUIETSIMPLE="False". De tener valor verdadero pondría una barra de progreso. Al tener valor falso no mostrará nada. ; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found. UpdateEnabled="False". Este parámetro indica si SQL Server debe descubrir actualizaciones de productos si su valor es verdadero. ; If this parameter is provided, then this computer will use Microsoft Update to check for updates. USEMICROSOFTUPDATE="False". Si el valor del parametro es verdadero Windows usará Microsoft Update para descubrir actualizaciones. ; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services. UpdateSource="MU". Este parámetro indica de donde obtendrá las actualizaciones. Las opciones son las siguientes: MU siginifica Microsoft Update Una ruta valida, puede ser: o Relativa o UNC ; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, IS, MDS, and Tools. The SQL feature will install the Database Engine, Replication, Full-Text, and Data Quality Services (DQS) server. The Tools feature will install shared components. FEATURES=SQLENGINE,AS. Este parametro indica la lista de características (Features) a instalar, en este caso he elegido el motor relacional y SSAS. ; Displays the command line parameters usage HELP="False". Activa el parametro de ayuda para los parametros escritos en la línea de comando. ; Specifies that the detailed Setup log should be piped to the console. © Solid Quality™ Press www.solidq.com Página 102 Instalación de SQL Server 2017 INDICATEPROGRESS="False". Si tiene valor true datos detallados de la instalación serán mostrados en la pantalla de consola. ; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system. X86="False" ; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), or Analysis Services (AS). INSTANCENAME="MSSQLSERVER". Nombre de la instancia. ; Specify the root installation directory for shared components. This directory remains unchanged after shared components are already installed. INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server". Directorio raíz de instalación. ; Specify the root installation directory for the WOW64 shared components. This directory remains unchanged after WOW64 shared components are already installed. INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server". Ruta para aplicaciones de 32 bits. ; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will incorporate the instance ID of the SQL Server instance. INSTANCEID="MSSQLSERVER". Id de la instancia. Si no se especifica toma el valor de INSTANCENAME ; TelemetryUserNameConfigDescription SQLTELSVCACCT="NT Service\SQLTELEMETRY". Este parámetro configura la cuenta de servicio que utilizará la telemetría. Telemetría es son datos que Microsoft recoge de forma anónima. Esta información desde la versión 2016 está configurada por defecto para que la envíe a Microsoft. © Solid Quality™ Press www.solidq.com Página 103 Instalación de SQL Server 2017 Si no quieres que la envíe tienes que abrir la aplicación Error and Usage Reporting y desmarcar los 2 checks. © Solid Quality™ Press www.solidq.com Página 104 Instalación de SQL Server 2017 ; TelemetryStartupConfigDescription SQLTELSVCSTARTUPTYPE="Automatic". Modo de arranque de la telemetría para el servicio relacional. ; ASTelemetryStartupConfigDescription ASTELSVCSTARTUPTYPE="Automatic". Modo de arranque de la telemetría para SSAS. ; ASTelemetryUserNameConfigDescription ASTELSVCACCT="NT Service\SSASTELEMETRY". Usuario que arrancará la telemetría para SSAS ; Specify the installation directory. INSTANCEDIR="C:\Program Files\Microsoft SQL Server". Este parámetro almacena el directorio de instalación. © Solid Quality™ Press www.solidq.com Página 105 Instalación de SQL Server 2017 ; Agent account name AGTSVCACCOUNT="NT Service\SQLSERVERAGENT". Cuenta de servicio que arrancará el agente de SQL Server. ; Auto-start service after installation. AGTSVCSTARTUPTYPE="Automatic". Modo de arranque del servicio agente de SQL Server. ; The name of the account that the Analysis Services service runs under. ASSVCACCOUNT="NT Service\MSSQLServerOLAPService". Cuenta que arrancará SSAS. ; Controls the service startup type setting after the service has been created. ASSVCSTARTUPTYPE="Automatic". Modo de arranque del servicio SSAS. ; The collation to be used by Analysis Services. ASCOLLATION="Modern_Spanish_CI_AI". Intercalación que usuará el servicio SSAS. ; The location for the Analysis Services data files. ASDATADIR="C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\Data". Directorio de datos de SSAS. ; The location for the Analysis Services log files. ASLOGDIR="C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\Log". Directorio de log de SSAS. ; The location for the Analysis Services backup files. ASBACKUPDIR="C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\Backup". Directorio de backup de SSAS. ; The location for the Analysis Services temporary files. ASTEMPDIR="C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\Temp". Directorio para archivos temporales de SSAS. © Solid Quality™ Press www.solidq.com Página 106 Instalación de SQL Server 2017 ; The location for the Analysis Services configuration files. ASCONFIGDIR="C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\Config". Directorio de los archivos de configuración de SSAS. ; Specifies whether or not the MSOLAP provider is allowed to run in process. ASPROVIDERMSOLAP="1". Indica si al proveedor MSOLAP le está permitido lanzarse en el proceso ; Specifies the list of administrator accounts that need to be provisioned. ASSYSADMINACCOUNTS="INST\Administrator". Lista de usuarios que será añadida como administrador a al servicio SSAS. ; Specifies the server mode of the Analysis Services instance. Valid values are MULTIDIMENSIONAL and TABULAR. The default value is TABULAR. ASSERVERMODE="TABULAR". Modo de trabajo del servicio SSAS. ; CM brick TCP communication port COMMFABRICPORT="0" ; How matrix will use private networks COMMFABRICNETWORKLEVEL="0" ; How inter brick communication will be protected COMMFABRICENCRYPTION="0" ; TCP port used by the CM brick MATRIXCMBRICKCOMMPORT="0" ; Startup type for the SQL Server service. SQLSVCSTARTUPTYPE="Automatic". Modo de arranque del servicio relacional de SQL Server. © Solid Quality™ Press www.solidq.com Página 107 Instalación de SQL Server 2017 ; Level to enable FILESTREAM feature at (0, 1, 2 or 3). FILESTREAMLEVEL="0". Nivel de activación de FileStream: 0 Desactivado 1 Habilitado para TSQL 2 Habilitado para TSQL y transmision por secuencias de E/S de archivos. (no valido en clusters) 3 Habilitado para que los clientes remotos tengan acceso de transmisión por secuencias a los datos de Filestream ; Set to "1" to enable RANU for SQL Server Express. ENABLERANU="False". Habilita las credenciales del comando “run-as” para las instalaciones de SQL Server Express. ; Specifies a Windows collation or an SQL collation to use for the Database Engine. SQLCOLLATION="Modern_Spanish_CI_AI". Collation que usará la instancia relacional. ; Account for SQL Server service: Domain\User or system account. SQLSVCACCOUNT="NT Service\MSSQLSERVER". Cuenta de servicio de la instancia relacional. ; Set to "True" to enable instant file initialization for SQL Server service. If enabled, Setup will grant Perform Volume Maintenance Task privilege to the Database Engine Service SID. This may lead to information disclosure as it could allow deleted content to be accessed by an unauthorized principal. SQLSVCINSTANTFILEINIT="True". Incorporará la cuenta de servicio a la lista de logins de la politica de seguridad “Realizar tareas de mantenimiento de volumen“ (“Perform Volume Maintenance Task privilege”). ; Windows account(s) to provision as SQL Server system administrators. SQLSYSADMINACCOUNTS="INST\Administrator". Lista de cuentas a las que se les concederá el rol sysadmin en el servicio relacional. ; The number of Database Engine TempDB files. SQLTEMPDBFILECOUNT="4". Numero de ficheros de datos de la bbdd tempdb. © Solid Quality™ Press www.solidq.com Página 108 Instalación de SQL Server 2017 ; Specifies the initial size of a Database Engine TempDB data file in MB. SQLTEMPDBFILESIZE="8". Tamaño inicial de cada fichero de datos de la tempdb. ; Specifies the automatic growth increment of each Database Engine TempDB data file in MB. SQLTEMPDBFILEGROWTH="64". Autocrecimiento en MB de cada fichero de datos en la tempdb. ; Specifies the initial size of the Database Engine TempDB log file in MB. SQLTEMPDBLOGFILESIZE="8". Tamaño inicial del fichero de log de transacciones de la tempdb. ; Specifies the automatic growth increment of the Database Engine TempDB log file in MB. SQLTEMPDBLOGFILEGROWTH="64". Autocrecimiento en MB del fichero de log en la tempdb. ; Provision current user as a Database Engine system administrator for %SQL_PRODUCT_SHORT_NAME% Express. ADDCURRENTUSERASSQLADMIN="False". Añade al usuario actual al rol fijo sysadmin. Solo aplica cuando instalamos una versión Express ; Specify 0 to disable or 1 to enable the TCP/IP protocol. TCPENABLED="1". Activa el protocolo TCP si tiene valor 1. ; Specify 0 to disable or 1 to enable the Named Pipes protocol. NPENABLED="0". Activa el protocolo Named Pipes si tiene valor 1 ; Startup type for Browser Service. BROWSERSVCSTARTUPTYPE="Automatic". Modo de arranque del servicio de browser. © Solid Quality™ Press www.solidq.com Página 109 Instalación de SQL Server 2017 Desinstalación Sql Server Esta operación es útil cuando hay veces que el programa de instalación da errores y queremos dejar todo limpio o simplemente queremos quitar alguna feature. Vamos a hacer una desinstalación usando el interfaz gráfico. Con línea de comandos es posible pero no es habitual tener que borrar varias instancias por lo que no es muy útil. De hecho si tienes que desinstalar una instancia o una característica te merece la pena hacer por interfaz gráfico ya que tardas menos que crear un fichero de instalación. Otra opción como comenté en la instalación es crear el fichero de configuración a partir del interfaz gráfico pero esto tiene sentido si vas a reutilizar el fichero. Si vas a borrar y ya estas con el interfaz gráfico lo mejor es continuar. 1. En windows vamos a la pantalla para desinstalar o cambiar un programa “Uninstall/Change”. Selecciono Microsoft SQL Server 2017 RC2 porque es la versión que me interesa © Solid Quality™ Press www.solidq.com Página 110 Instalación de SQL Server 2017 2. Tras hacer doble click con el ratón en esta pantalla pulsamos la opción quitar (“Remove”) 3. Nos muestra un formulario donde debemos elegir la instancia que borraremos o borraremos alguna de sus features. Cuando hemos elegido (en nuestro caso SOLIDQ_2017) pulsamos el botón “Next” © Solid Quality™ Press www.solidq.com Página 111 Instalación de SQL Server 2017 4. En la pantalla que se nos presenta lo que hacemos es seleccionar las características que queremos desinstalar. En mi caso quiero desinstalar todo. Cuando hemos terminado de seleccionar pulsamos el botón “Next” © Solid Quality™ Press www.solidq.com Página 112 Instalación de SQL Server 2017 5. La siguiente pantalla muestra un resumen de lo que va a desinstalar. Si tras revisarlo estamos de acuerdo pulsamos el botón “Remove” para comenzar a desinstalar © Solid Quality™ Press www.solidq.com Página 113 Instalación de SQL Server 2017 6. Cuando ha terminado de desinstalar nos muestra esta ventana. Pulsamos el botón close para terminar el proceso. © Solid Quality™ Press www.solidq.com Página 114