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 Visual Studio Code.

Herramientas incluidas en este artículo:

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.

La extensión Proyectos de SQL Database es una extensión para 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. La extensión también está disponible en Azure Data Studio con la misma funcionalidad.

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.

Comparaciones de conjuntos de características

Característica Código de VS SSDT (VS2022-2026) SSDT de estilo SDK, versión preliminar (VS2022)
Creación de un proyecto vacío
Creación de un proyecto a partir de una base de datos existente
Apertura de proyectos existentes de Microsoft.Build.Sql No
Administración y operación de soluciones No
Compilación de ejecución de proyectos
Publicación del proyecto en un servidor existente
Publicación del proyecto en una instancia de desarrollo local 1 2 2
Opciones o propiedades de publicación
La plataforma de destino se puede actualizar
Variables SQLCMD
Referencias de proyecto
Referencias de Dacpac
Referencias de paquete No No
Creación del perfil de publicación
Los archivos SQL se pueden agregar si se colocan en la carpeta del proyecto No
Los archivos SQL se pueden excluir de la compilación No
Scripts previos y posteriores a la implementación
Nuevas plantillas de objeto 3 3
Los archivos del proyecto se pueden organizar en carpetas
Proyecto de comparación de esquemas a la base de datos
Base de datos de comparación de esquemas al proyecto No
Diseñador gráfico de tablas No
Análisis de código : gui de habilitación y deshabilitación de reglas No No
Propiedades del proyecto: configuración de salida de compilación No
Propiedades del proyecto: GUI de configuración de base de datos No No
Análisis de código de ejecución del proyecto No
Cambio de nombre y refactorización de objetos No No
IntelliSense proporcionado en archivos de base de datos desde el modelo de proyecto No No
  1. La instancia de desarrollo local es un contenedor de SQL Server.
  2. La instancia de desarrollo local es una instancia de LocalDB de SQL Server.
  3. 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 conversión

El proceso de convertir un proyecto SQL existente en un proyecto de estilo SDK se realiza editando manualmente el .sqlproj archivo para incluir el nuevo formato de proyecto de estilo SDK. Antes de comenzar el proceso, se recomienda realizar copias de seguridad del archivo del proyecto y archivar un .dacpac elemento del proyecto. Al comparar un "antes" y "después" .dacpac compilado desde el proyecto, puede asegurarse de que el proceso de conversión se ha completado correctamente.

Administración de proyectos o soluciones

Varios proyectos sql (y otros proyectos) se pueden agrupar lógicamente en un archivo de solución. El archivo de solución es un contenedor para uno o varios proyectos y se usa para administrar los proyectos como un grupo, incluida la acción de compilación. Las soluciones grandes se pueden dividir en soluciones más pequeñas para mejorar el rendimiento y la capacidad de administración, o bien generarse dinámicamente para la tarea adecuada a mano. El generador de archivos de solución slngen está disponible para proyectos de Microsoft.Build.Sql y se puede usar para crear un archivo de solución para un conjunto de proyectos mediante programación y a petición.

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: