Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 SQL Database Projects 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 Transact-SQL (T-SQL) y un proceso de compilación y publicación.
SQL Database Projects extensión es una extensión para Visual Studio 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.
Database DevOps en SQL Server Management Studio (SSMS) proporciona una interfaz gráfica para proyectos de SQL, un editor de T-SQL y un proceso de compilación y publicación.
SQL Server Data Tools (SSDT) es un componente Visual Studio que proporciona una interfaz gráfica para los proyectos de 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 | Visual Studio Code | SSMS | SSDT (VS2022-2026) | SSDT de estilo SDK (versión preliminar) (VS2022) |
|---|---|---|---|---|
| Creación de un proyecto vacío | Sí | Sí | Sí | Sí |
| Creación de un proyecto a partir de una base de datos existente | Sí | Sí | Sí | Sí |
| Abra los proyectos de Microsoft.Build.Sql existentes | Sí | Sí | No | Sí |
| Abrir proyectos de estilo original (SSDT) | Sí | No | Sí | No |
| Administración y operación de soluciones | No | Sí | Sí | Sí |
| Project ejecutar compilación | Sí | Sí | Sí | Sí |
| Publicación del proyecto en un servidor existente | Sí | Sí | Sí | Sí |
| Publicación del proyecto en una instancia de desarrollo local | Sí1 | Sí2 | Sí3 | Sí3 |
| Opciones o propiedades de publicación | Sí | Sí | Sí | Sí |
| La plataforma de destino se puede actualizar | Sí | Sí | Sí | Sí |
| Variables SQLCMD | Sí | Sí | Sí | Sí |
| Referencias del proyecto | Sí | Sí | Sí | Sí |
| Referencias de DACPAC | Sí | Sí | Sí | Sí |
| Referencias de paquete | Sí | Sí | No | No |
| Creación del perfil de publicación | Sí | No | Sí | Sí |
| Los archivos SQL se pueden agregar si se colocan en la carpeta del proyecto | Sí | Sí | No | Sí |
| Los archivos SQL se pueden excluir de la compilación | Sí | Sí | Sí | No |
| Scripts previos a la implementación y posteriores a la implementación | Sí | Sí | Sí | Sí |
| Nuevas plantillas de objeto | Sí4 | Sí | Sí | Sí4 |
| Los archivos del proyecto se pueden organizar en carpetas | Sí | Sí | Sí | Sí |
| Proyecto de comparación de esquemas con la base de datos | Sí | No | Sí | Sí |
| Base de datos de comparación de esquemas al proyecto | Sí | No | Sí | No |
| Diseñador gráfico de tablas | No | No | Sí | Sí |
| Análisis de código : gui de habilitación y deshabilitación de reglas | Sí | Sí | Sí | No |
| Propiedades del Proyecto: configuración de salida de compilación | No | No | Sí | Sí |
| propiedades de Project: GUI de configuración de base de datos | No | No | Sí | No |
| Ejecución del proyecto análisis de código | Sí | Sí | Sí | No |
| Cambio de nombre y refactorización de objetos | No | No | Sí | No |
| IntelliSense proporcionado en archivos de base de datos desde el modelo de proyecto | No | No | Sí | No |
1 Instancia de desarrollo local es un contenedor de SQL Server.
2 Cualquier base de datos SQL preinstalada Microsoft se puede usar como instancia de desarrollo local.
3 Instancia de desarrollo local es una instancia SQL Server LocalDB.
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 crear mediante la biblioteca de .NET DacFx para automatizar las tareas de desarrollo de bases de datos. El namespace Microsoft.SqlServer.Dac contiene clases para crear, implementar y extraer objetos de base de datos y es esencial para el resto de la biblioteca DacFx.
Los flujos de trabajo de CI/CD se pueden construir mediante ejecución directa en línea de comandos o con tareas específicas para .dacpac y el despliegue de proyectos SQL. El GitHub sql-action y SqlAzureDacpacDeployment en Azure DevOps son ejemplos de tareas que usan SqlPackage bajo 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 proyecto/solución
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 Microsoft. Build.Sql projects y se puede usar para crear un archivo de solución para un conjunto de proyectos mediante programación y a petición.
Plan de desarrollo
Hay disponible una hoja de ruta trimestral para las funcionalidades relacionadas con los proyectos de SQL en https://aka.ms/sqlprojects-roadmap. Los comentarios de los clientes influyen en gran medida en la hoja de ruta, que incorpora tanto la modernización de las capacidades de los proyectos de Microsoft.Build.Sql como mejoras en las superficies de las herramientas asociadas a los proyectos de SQL.
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 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/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer
Contenido relacionado
- Desarrollo de bases de datos sin conexión orientado a proyectos
- Extensión SQL Database Projects
- SqlPackage
- GitHub sql-action
- Azure DevOps implementaciones de SQL
- 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