Instalacion SQL Server 2017 V1 Opt
Instalacion SQL Server 2017 V1 Opt
Instalacion SQL Server 2017 V1 Opt
Introducció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
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.
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:
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/
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).
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.
Ref.: http://msdn.microsoft.com/en-us/library/ms143504.aspx
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.
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
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.
Ref.: http://msdn.microsoft.com/en-us/library/ms175935.aspx
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
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
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
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
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.
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”
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
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
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
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
Vamos a instalar en lugar de una instancia por defecto una instancia con nombre que se
llamará SOLIDQ_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
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.
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
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.
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.
21. La pestaña “Data Directories” permite especificar las carpetas donde se guardarán los
ficheros de:
Datos
Log
Tempdb
Backup
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
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
25. Para configurar el “Replay Client” tenemos que indicarle tanto el controlador como los
directorios de trabajo y de resultados
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”
Referencia: https://docs.microsoft.com/en-us/sql/advanced-analytics/r/installing-
ml-components-without-internet-access
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
4. Se debe aceptar los términos de la licencia para poder continuar y pulsar el botón “Next”
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”
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
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.
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.
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”
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”
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
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
18. La pantalla “Progress and Finish” nos muestra el progreso de la instalación y cuando ha
terminado
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
23. Ahora probamos el portal web Report Server pinchando sobre la URL
http://SQL2017:80/Reports. Si está bien configurado el resultado será este:
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”
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
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
4. Se debe aceptar los términos de la licencia para poder continuar y pulsar el botón “Next”
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”
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”
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
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
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”
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:
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”
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”
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.
3. En la parte superior izquierda pinchamos sobre “Inbound Rules” con el botón derecho
y hacemos click sobre “New Rule”
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”
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:
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.
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.
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:
Ahora que hemos conectado puedes aprender a configurarlo y administrarlo de una manera
básica desde mi libro “SQL Server Para Administradores Accidentales”.
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”
2. El resultado es este. Sobre la instancia hacemos click con el botón derecho del ratón y
elegimos la opción “Properties”
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
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:
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”
Por esta razón vamos a conectar desde la misma instancia en la que hemos instalado SSIS.
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”
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
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.
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”
13. El siguiente paso es configurar la web, para ello seleccionamos en la lista “Website” la
opción “Create new website”
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”
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”
20. En la pantalla inicial ya tenemos configurado tanto el sitio web como la bbdd por lo
que pulsamos “OK”
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
22. La pantalla web que nos presenta es esta. Para probarla hemos pinchado sobre la
opción “Open the Master Data Services home page”
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
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”
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
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://NombreDeBlob@NombreCuentaAlmacenamiento.blob.core.windows.net/”
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”)
11. Si hacemos una query de la tabla veremos que el resultado coincide con el del fichero:
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.
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;'
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)
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.
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 “/”.
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
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.
Si bien he intentado explicar todos hay algunos de los que apenas hay documentación.
; 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.
; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required
parameter.
; Specifies that SQL Server Setup should not display the privacy statement when ran from the
command line.
; 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.
; Use the /ENU parameter to install the English versión of SQL Server on your localized
Windows operating system.
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.
; If this parameter is provided, then this computer will use Microsoft Update to check for
updates.
; 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.
; 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.
; Specifies that the detailed Setup log should be piped to the console.
; 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).
; Specify the root installation directory for shared components. This directory remains
unchanged after shared components are already installed.
; Specify the root installation directory for the WOW64 shared components. This directory
remains unchanged after WOW64 shared components are already installed.
; 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.
; TelemetryUserNameConfigDescription
Si no quieres que la envíe tienes que abrir la aplicación Error and Usage Reporting y desmarcar
los 2 checks.
; TelemetryStartupConfigDescription
; ASTelemetryStartupConfigDescription
; ASTelemetryUserNameConfigDescription
; The name of the account that the Analysis Services service runs under.
; Controls the service startup type setting after the service has been created.
; Specifies the server mode of the Analysis Services instance. Valid values are
MULTIDIMENSIONAL and TABULAR. The default value is TABULAR.
COMMFABRICPORT="0"
COMMFABRICNETWORKLEVEL="0"
COMMFABRICENCRYPTION="0"
MATRIXCMBRICKCOMMPORT="0"
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
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.
; 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.
; Specifies the initial size of a Database Engine TempDB data file in MB.
; Specifies the automatic growth increment of each Database Engine TempDB data file in MB.
; Specifies the initial size of the Database Engine TempDB log file in MB.
; Specifies the automatic growth increment of the Database Engine TempDB log file in MB.
2. Tras hacer doble click con el ratón en esta pantalla pulsamos la opción quitar
(“Remove”)