sql >> Base de Datos >  >> RDS >> Sqlserver

Configuración de una base de datos local de SQL Server


Resumen

En esta guía, hablaremos sobre cómo instalar y configurar una instancia de SQL Server y el sqlcmd cliente de línea de comandos. Repasaremos cómo instalar y configurar estos componentes en su computadora para acceso local.

Esta guía cubrirá las siguientes plataformas:

  • Configuración de SQL Server en Windows
  • Configuración de SQL Server en macOS (con Docker)
  • Configuración de SQL Server en Linux
    • Ubuntu
    • CentOS y Red Hat
    • Con Docker

Navegue a las secciones que coincidan con las plataformas con las que trabajará.



Configurando SQL Server en Windows

Microsoft proporciona instaladores nativos de Windows para SQL Server en su sitio y ofrece varias versiones de SQL Server adecuadas para diferentes propósitos. A los efectos de esta guía, descargaremos e instalaremos la edición gratuita para desarrolladores. Puede actualizar fácilmente a una versión paga desde la edición Developer si desea usarla para producción.

Para comenzar, visite la página de Microsoft para SQL Server. Busque la sección relacionada con la edición Developer y haga clic en Descargar ahora :

Una vez que se complete la descarga, haga doble clic en el archivo para ejecutar el instalador (es posible que deba confirmar que desea permitir que el programa realice cambios en su computadora).

En la pantalla inicial del instalador, se le pedirá que elija qué tipo de instalación desea realizar:

Elija Básico para continuar con una instalación convencional utilizando las opciones más comunes.

A continuación, se le pedirá que acepte los términos de licencia de Developer Edition:

Cuando haya leído la licencia y esté de acuerdo con los términos, haga clic en Aceptar. para continuar.

A continuación, confirme o cambie la ubicación de instalación:

Cuando esté listo, haga clic en Instalar para comenzar el proceso de instalación.

El instalador comenzará a descargar e instalar componentes para configurar SQL Server en su computadora:

Cuando finalice la instalación, aparecerá una pantalla con las propiedades de instalación actuales:

Para conectarse a la nueva instancia de SQL Server de inmediato, haga clic en Conectar ahora en la parte inferior.

Una nueva ventana Cmd Aparecerá una ventana y automáticamente iniciará sesión en la instancia de SQL Server usando sqlcmd cliente:

Como se muestra en un comentario en la parte superior de la ventana, puede conectarse a SQL Server manualmente en cualquier momento con el sqlcmd cliente escribiendo:

sqlcmd -S <yourhostname> -E

Para salir de la sesión SQL actual, escriba:

EXIT


Configurando SQL Server en macOS

Si bien Microsoft no proporciona un instalador nativo para macOS, admite la ejecución de SQL Server en macOS a través de Docker. El contenedor principal de SQL Server Docker se crea utilizando un contenedor de Linux, lo que permite que cualquier host capaz de ejecutar contenedores Docker ejecute el servidor de la base de datos.

Necesitará al menos 2 GB de memoria (probablemente al menos un poco más) para ejecutar correctamente la imagen; sin embargo, Docker requiere al menos 4 GB de memoria.

Para comenzar, asegúrese de tener Docker en su sistema. Docker Desktop para Mac incluye Docker Engine y otras aplicaciones relacionadas. Si aún no tiene Docker instalado, siga las instrucciones incluidas en el enlace anterior.

Una vez que Docker esté en funcionamiento, puede extraer la imagen de SQL Server Docker de Microsoft Container Registry escribiendo:

docker pull mcr.microsoft.com/mssql/server:2019-latest

Esto descargará todas las capas de imagen requeridas a su sistema local, lo que permitirá un inicio más rápido.

Cuando esté listo para iniciar el contenedor, escriba el siguiente comando.

Recuerde reemplazar <password> con el valor de su contraseña prevista y elija un valor que se ajuste a la política de contraseñas de la imagen. Al momento de redactar este documento, la política se define como:"La contraseña debe tener al menos 8 caracteres y contener caracteres de tres de los cuatro conjuntos siguientes:letras mayúsculas, letras minúsculas, dígitos de base 10 y símbolos".:

docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest

El contenedor de SQL Server se iniciará en segundo plano. La cadena de caracteres que se muestra es el ID del nuevo contenedor.

Puede verificar que el contenedor está en funcionamiento escribiendo:

docker ps -a
CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                      PORTS                    NAMESffa9ef357b5c   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   2 minutes ago    Up 2 minutes                0.0.0.0:1433->1433/tcp   mssqlae00765e36fb   hello-world                                  "/hello"                 24 minutes ago   Exited (0) 24 minutes ago                            dreamy_swanson

Deberías ver el mssql contenedor entre la lista. Si el contenedor no se está ejecutando o tiene problemas, puede intentar ver sus registros para ver si hay algún mensaje útil:

docker logs mssql

El contenedor de SQL Server no solo tiene instalado el servidor de la base de datos, también tiene algunas de las herramientas comunes disponibles, incluido el sqlcmd cliente de línea de comandos. Para usar este cliente para conectarse a la instancia de la base de datos, puede usar docker exec para acceder al comando y autenticarse en la base de datos:

docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Se le autenticará en el servidor SQL dentro del contenedor y se le colocará en un shell de SQL. Puede verificar que todo esté funcionando escribiendo:

SELECT @@VERSION;GO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>  (1 rows affected)

Para salir de la sesión de SQL y volver a su shell normal, escriba:

EXIT

Para cerrar el contenedor de SQL Server cuando haya terminado, puede detenerlo escribiendo:

docker stop mssql

Para eliminar la instancia del contenedor (¡incluidos todos los datos que contiene!), escriba:

docker rm mssql

Para conservar los datos en su contenedor de SQL Server, puede usar una de las técnicas descritas en la documentación de Microsoft o echar un vistazo a la propia documentación de Docker sobre el uso de volúmenes de datos con contenedores.



Configurando SQL Server en Linux

Los métodos de instalación difieren según la distribución de Linux que esté utilizando. Siga la sección a continuación que coincida con su distribución de Linux. También hay instrucciones para usar Docker si prefiere esa configuración o desea usar una distribución que no figura en la lista.

  • Ubuntu
  • CentOS y Red Hat
  • Con Docker

Ubuntu

La forma más fácil de instalar SQL Server en Ubuntu 20.04 es instalar desde los repositorios dedicados proporcionados por Microsoft. Su máquina debe tener al menos 2 GB de memoria para instalar y ejecutar con éxito el software necesario.

Para comenzar, agregue una nueva definición de repositorio a su sistema escribiendo:

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

También debe agregar un repositorio separado para obtener acceso a sqlcmd binario y otras herramientas:

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"

A continuación, agregue la clave de firma del paquete de Microsoft a apt para que confíe en los paquetes del nuevo repositorio:

wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Con el repositorio configurado, puede instalar SQL Server y sqlcmd cliente de línea de comandos escribiendo:

sudo apt install mssql-server mssql-tools unixodbc-dev

Una vez completada la instalación, debe configurar su nueva instancia de base de datos. Para hacerlo, ejecute el mssql-conf setup incluido script para establecer algunas de las propiedades básicas de su nuevo sistema:

sudo /opt/mssql/bin/mssql-conf setup

Se le harán una serie de preguntas para configurar el servidor de la base de datos.

Primero, le preguntará qué edición del servidor SQL desea usar:

Choose an edition of SQL Server:  1) Evaluation (free, no production use rights, 180-day limit)  2) Developer (free, no production use rights)  3) Express (free)  4) Web (PAID)  5) Standard (PAID)  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum  8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):

Si tiene una licencia paga, puede elegir la versión adecuada. Si está utilizando el servidor en un entorno que no es de producción, es seguro elegir la edición para desarrolladores.

A continuación, deberá volver a aceptar los términos de la licencia:

The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:

Finalmente, deberá establecer y confirmar una contraseña para la cuenta del administrador del sistema de SQL Server (llamada cuenta SA en muchos lugares):

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

Para usar el sqlcmd cliente para conectarse a su instancia de SQL Server, es más fácil agregar mssql-tools directorio binario a su PATH . Para configurar esto, escriba:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Luego, vuelva a buscar uno de los dos archivos anteriores para evaluar el nuevo PATH para su sesión actual:

source ~/.bashrc

Ahora puede conectarse a su instancia de base de datos escribiendo:

sqlcmd -U SA -S 127.0.0.1

Se le pedirá la contraseña que configuró anteriormente. Después de autenticarse con éxito, se le colocará en un shell de SQL. Desde aquí, puede verificar que todo funciona imprimiendo la versión del servidor:

SELECT @@VERSIONGO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64>  (1 rows affected)

Para salir del shell de SQL y volver a la línea de comandos, puede escribir:

EXIT


CentOS y Red Hat

La forma más sencilla de instalar SQL Server en CentOS o Red Hat es utilizar los repositorios proporcionados por Microsoft. Los hosts de Linux deben tener al menos 2 GB de memoria para instalar y ejecutar SQL Server.

Antes de instalar SQL Server, debe instalar y configurar sus dependencias. Necesitamos Python 2 y OpenSSL 10 para continuar:

sudo yum install python2 compat-openssl10

Después de instalar Python 2, configure el sistema para usarlo como la instancia predeterminada de Python:

sudo alternatives --config python

De la lista que sigue, seleccione el número asociado con la instalación de Python 2. En el siguiente ejemplo, esta será la opción 2:

 There are 2 programs which provide 'python'.    Selection    Command ----------------------------------------------- *+ 1           /usr/libexec/no-python    2           /usr/bin/python2  Enter to keep the current selection[+], or type selection number: 2

Con las dependencias en su lugar, ahora puede configurar el repositorio YUM de SQL Server:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo

Luego, debe configurar un repositorio adicional para obtener acceso a sqlcmd y otras herramientas:

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo

Una vez que los repositorios estén configurados, instale SQL Server escribiendo:

sudo yum install mssql-server mssql-tools unixODBC-devel

Una vez completada la instalación, debe configurar su nueva instancia de base de datos. Para hacerlo, ejecute el mssql-conf setup incluido script para establecer algunas de las propiedades básicas de su nuevo sistema:

sudo /opt/mssql/bin/mssql-conf setup

Se le harán una serie de preguntas para configurar el servidor de la base de datos.

Primero, le preguntará qué edición del servidor SQL desea usar:

Choose an edition of SQL Server:  1) Evaluation (free, no production use rights, 180-day limit)  2) Developer (free, no production use rights)  3) Express (free)  4) Web (PAID)  5) Standard (PAID)  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum  8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):

Si tiene una licencia paga, puede elegir la versión adecuada. Si está utilizando el servidor en un entorno que no es de producción, es seguro elegir la edición para desarrolladores.

A continuación, deberá volver a aceptar los términos de la licencia:

The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:

Finalmente, deberá establecer y confirmar una contraseña para la cuenta del administrador del sistema de SQL Server (llamada cuenta SA en muchos lugares):

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

Para usar el sqlcmd cliente para conectarse a su instancia de SQL Server, es más fácil agregar mssql-tools directorio binario a su PATH . Para configurar esto, escriba:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Luego, vuelva a buscar uno de los dos archivos anteriores para evaluar el nuevo PATH para su sesión actual:

source ~/.bashrc

Ahora puede conectarse a su instancia de base de datos escribiendo:

sqlcmd -U SA -S 127.0.0.1

Se le pedirá la contraseña que configuró anteriormente. Después de autenticarse con éxito, se le colocará en un shell de SQL. Desde aquí, puede verificar que todo funciona imprimiendo la versión del servidor:

SELECT @@VERSIONGO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (CentOS Linux 8) <X64>  (1 rows affected)

Para salir del shell de SQL y volver a la línea de comandos, puede escribir:

EXIT


Con Docker

Si está utilizando una distribución de Linux para la que Microsoft no proporciona paquetes o si simplemente lo prefiere, otra opción es ejecutar SQL Server con Docker. Necesitará al menos 2 GB de memoria (probablemente al menos un poco más) para ejecutar correctamente la imagen.

Para comenzar, asegúrese de tener Docker Engine en su sistema. Puede encontrar instrucciones detalladas para varias plataformas en la documentación de Docker Engine.

Una vez que Docker esté en funcionamiento, puede extraer la imagen de SQL Server Docker de Microsoft Container Registry escribiendo:

sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

Esto descargará todas las capas de imagen requeridas a su sistema local, lo que permitirá un inicio más rápido.

Cuando esté listo para iniciar el contenedor, escriba el siguiente comando.

Recuerde reemplazar <password> con el valor de su contraseña prevista y elija un valor que se ajuste a la política de contraseñas de la imagen. Al momento de redactar este documento, la política se define como:"La contraseña debe tener al menos 8 caracteres y contener caracteres de tres de los cuatro conjuntos siguientes:letras mayúsculas, letras minúsculas, dígitos de base 10 y símbolos".:

sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest

El contenedor de SQL Server se iniciará en segundo plano. La cadena de caracteres que se muestra es el ID del nuevo contenedor.

Puede verificar que el contenedor está en funcionamiento escribiendo:

sudo docker ps -a
CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                      PORTS                    NAMESffa9ef357b5c   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   2 minutes ago    Up 2 minutes                0.0.0.0:1433->1433/tcp   mssqlae00765e36fb   hello-world                                  "/hello"                 24 minutes ago   Exited (0) 24 minutes ago                            dreamy_swanson

Deberías ver el mssql contenedor entre la lista. Si el contenedor no se está ejecutando o tiene problemas, puede intentar ver sus registros para ver si hay algún mensaje útil:

sudo docker logs mssql

El contenedor de SQL Server no solo tiene instalado el servidor de la base de datos, también tiene algunas de las herramientas comunes disponibles, incluido el sqlcmd cliente de línea de comandos. Para usar este cliente para conectarse a la instancia de la base de datos, puede usar docker exec para acceder al comando y autenticarse en la base de datos:

sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Se le autenticará en el servidor SQL dentro del contenedor y se le colocará en un shell de SQL. Puede verificar que todo esté funcionando escribiendo:

SELECT @@VERSION;GO
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64)    Jan 25 2021 20:16:12    Copyright (C) 2019 Microsoft Corporation    Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>  (1 rows affected)

Para salir de la sesión de SQL y volver a su shell normal, escriba:

EXIT

Para cerrar el contenedor de SQL Server cuando haya terminado, puede detenerlo escribiendo:

sudo docker stop mssql

Para eliminar la instancia del contenedor (¡incluidos todos los datos que contiene!), escriba:

sudo docker rm mssql

Para conservar los datos en su contenedor de SQL Server, puede usar una de las técnicas descritas en la documentación de Microsoft o echar un vistazo a la propia documentación de Docker sobre el uso de volúmenes de datos con contenedores.