Compartir a través de


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
  1. En la versión preliminar 2 de Visual Studio 2022, los proyectos de estilo SDK usan la extensión .sqlprojx en lugar de .sqlproj.
  2. La instancia de desarrollo local es una instancia de LocalDB de SQL Server.
  3. La instancia de desarrollo local es un contenedor de SQL Server.
  4. 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: