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