Herramientas de proyectos SQL
Las herramientas para proyectos SQL están disponibles en varios entornos de desarrollo e interfaces de línea de comandos. Las herramientas principales para proyectos SQL son la utilidad de línea de comandos SqlPackage, SQL Server Data Tools (SSDT) en Visual Studio y la extensión Proyectos de SQL Database para Azure Data Studio y Visual Studio Code.
Herramientas gráficas
Estas herramientas proporcionan una interfaz gráfica para proyectos SQL, un editor de T-SQL y un proceso de compilación y publicación.
SQL Server Data Tools (SSDT) es un componente de Visual Studio que proporciona una interfaz gráfica para proyectos SQL. SSDT proporciona un diseñador visual para tablas, un editor de T-SQL y un proceso de compilación y publicación.
Extensión de proyectos de base de datos SQL es una extensión para Azure Data Studio (ADS) y VS Code. Esta extensión proporciona una interfaz gráfica para proyectos SQL, un editor de T-SQL y un proceso de compilación y publicación.
Comparaciones de conjuntos de características
Característica | SSDT de estilo SDK | SSDT | ADS | Código de VS |
---|---|---|---|---|
Creación de un proyecto vacío | X | X | X | X |
Creación de un proyecto a partir de una base de datos existente | X | X | X | |
Apertura de proyectos existentes de Microsoft.Build.Sql | X1 | X | X | |
Administración y operación de soluciones | X | X | ||
Compilación de ejecución de proyectos | X | X | X | X |
Publicación del proyecto en un servidor existente | X | X | X | X |
Publicación del proyecto en una instancia de desarrollo local | X2 | X2 | X3 | X3 |
Opciones o propiedades de publicación | X | X | X | |
La plataforma de destino se puede actualizar | X | X | X | X |
Variables SQLCMD | X | X | X | X |
Referencias de proyecto | X | X | ||
Referencias de Dacpac | X | X | X | |
Referencias de paquete | X | |||
Creación del perfil de publicación | X | X | X | |
Los archivos SQL se pueden agregar si se colocan en la carpeta del proyecto | X | X | X | |
Los archivos SQL se pueden excluir de la compilación | X | X | ||
Scripts previos y posteriores a la implementación | X | X | X | X |
Nuevas plantillas de objeto | X4 | X | X4 | X4 |
Los archivos del proyecto se pueden organizar en carpetas | X | X | X | X |
Proyecto de comparación de esquemas a la base de datos | X | X | ||
Base de datos de comparación de esquemas al proyecto | X | X | ||
Diseñador gráfico de tablas | X | X | ||
Análisis de código: habilitar o deshabilitar reglas | X | |||
Propiedades del proyecto: configuración de salida de compilación | X | X | ||
Propiedades del proyecto: esquema predeterminado | X | |||
Propiedades del proyecto: configuración de la base de datos | X | |||
Ejecución del proyecto de análisis de código independiente | X | |||
Cambio de nombre y refactorización de objetos | X | |||
IntelliSense proporcionado en archivos de base de datos desde el modelo de proyecto | X | |||
Conectividad o visualización de objetos del Explorador de objetos de SQL Server | X | X | X | X |
Elementos del menú contextual del Explorador de objetos de SQL Server | X | X | X | |
Conectividad del editor de consultas de SQL Server | X | X | X |
- En la versión preliminar 2 de Visual Studio 2022, los proyectos de estilo SDK usan la extensión
.sqlprojx
en lugar de.sqlproj
. - La instancia de desarrollo local es una instancia de LocalDB de SQL Server.
- La instancia de desarrollo local es un contenedor de SQL Server.
- Subconjunto limitado de plantillas disponibles
Herramientas de línea de comandos
SqlPackage es la utilidad de la línea de comandos principal para la biblioteca DacFx, que permite la automatización de las tareas de desarrollo de bases de datos, como implementar un archivo .dacpac
en una base de datos o extraer los objetos de una base de datos en un proyecto SQL o .dacpac
.
Las aplicaciones de consola personalizadas se pueden compilar mediante la biblioteca de .NET DacFx para automatizar las tareas de desarrollo de bases de datos. El espacio de nombres Microsoft.SqlServer.Dac contiene clases para crear, implementar y extraer objetos de base de datos y es fundamental para el resto de la biblioteca DacFx.
Las canalizaciones de CI/CD se pueden compilar con la ejecución de la línea de comandos o con tareas específicas de .dacpac
y la implementación de proyectos SQL. sql-action de GitHub y SqlAzureDacpacDeployment en Azure DevOps son ejemplos de tareas que usan SqlPackage debajo de una capa de administración para facilitar la implementación de cambios en la base de datos.
Herramientas de terceros
Hay herramientas de terceros disponibles que proporcionan funcionalidad relacionada con proyectos SQL e implementación de bases de datos. Algunas herramientas son de código abierto, como dbatools.
Los desarrolladores han compartido sus proyectos mediante puntos de extensibilidad en torno a proyectos SQL, incluidas reglas de análisis de código y la personalización de planes de implementación. Algunos de estos proyectos son los siguientes:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/GoEddie/DeploymentContributorFilterer
Contenido relacionado
- Desarrollo de bases de datos sin conexión orientado a proyectos
- Extensión SQL Database Projects
- SqlPackage
- Acción SQL de GitHub
- Implementaciones de SQL de Azure DevOps
- Aplicaciones de capa de datos (DAC)
- Repositorio de comentarios de DacFx
- Introducción a los proyectos de base de datos SQL
- Tutorial: Creación e implementación de un proyecto SQL