Extensión SQL Database Projects (versión preliminar)
SQL Database Projects (versión preliminar) es una extensión de Azure Data Studio y VS Code para desarrollar bases de datos SQL en un entorno de desarrollo basado en proyectos. Un proyecto de SQL es una representación local de objetos SQL que componen el esquema de una base de datos única, como tablas, procedimientos almacenados o funciones.
Características de la extensión
- Creación de un proyecto en blanco nuevo.
- Cree un proyecto a partir de una base de datos conectada o de un archivo de especificación OpenAPI.
- Apertura de un proyecto creado previamente en Azure Data Studio, VS Code o en SQL Server Data Tools.
- Edición del proyecto mediante la adición o eliminación de objetos (tablas, vistas y procedimientos almacenados) o scripts personalizados.
- Organización de archivos y scripts en carpetas.
- Incorporación de referencias a bases de datos del sistema o dacpac del usuario.
- Creación de un solo proyecto.
- Implementación de un solo proyecto.
- Carga de los detalles de conexión (autenticación de Windows de SQL) y las variables SQLCMD del perfil de implementación.
Vea este vídeo breve de 10 minutos para obtener una introducción a la extensión SQL Database Projects en Azure Data Studio:
Instalación
Azure Data Studio
Abra el administrador de extensiones para tener acceso a las extensiones disponibles. Para ello, seleccione el icono de extensiones o Extensiones en el menú Vista.
Para identificar la extensión SQL Database Projects, escriba todo el nombre o parte de él en el cuadro de búsqueda de extensiones. Seleccione una extensión disponible para ver sus detalles.

Seleccione la extensión que quiera e instálela.
Seleccione Recargar para habilitar la extensión (solo es necesario la primera vez que se instala una extensión).
Seleccione el icono Proyectos en la barra de actividades.
Nota
El SDK de .NET Core es necesario para la funcionalidad para crear proyectos y se le pedirá que lo instale si la extensión no puede detectarlo. El SDK de .NET Core (versión 3.1 o posterior) se puede descargar e instalar desde https://dotnet.microsoft.com/download/dotnet-core/3.1.
Nota
Se recomienda instalar la extensión Comparación de esquemas junto con SQL Database Projects para obtener una funcionalidad completa.
Código de VS
La extensión SQL Database Projects se instala con la extensión mssql para VS Code.
Dependencias
SDK de .NET Core
El SDK de .NET Core es necesario para la funcionalidad para crear proyectos y se le pedirá que lo instale si la extensión no puede detectarlo. El SDK de .NET Core (versión 3.1.x) se puede descargar e instalar desde https://dotnet.microsoft.com/download/dotnet-core/3.1. Si quiere comprobar qué versiones hay actualmente instaladas del SDK de dotnet, abra un terminal y ejecute el siguiente comando.
dotnet --list-sdks
Para forzar que la extensión SQL Database Projects use la versión v3.1.x del SDK de .NET Core cuando se instalan varias versiones, agregue un archivo package.json a una carpeta que contenga el proyecto SQL.
Las versiones del SDK de .NET Core que no sean compatibles pueden producir mensajes de error como el siguiente:
error MSB4018: The "SqlBuildTask" task failed unexpectedly.error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_(aquí, el archivo vinculado que no se encuentra tiene un corchete de cierre sin coincidencia).
AutoRest.Sql
La extensión SQL para AutoRest se descarga automáticamente y la usa la extensión SQL Database Projects cuando se genera un proyecto SQL a partir de un archivo de especificación OpenAPI.
Restricciones conocidas
- Actualmente no se admite la carga de archivos como vínculo en la vista de Azure Data Studio. Pero los archivos se cargarán en el nivel superior del árbol y la compilación incorporará estos archivos según lo previsto.
- Los objetos SQLCLR del proyecto no se admiten en la versión de .NET Core de DacFx.
- El usuario no define las tareas (compilación y publicación).
- Destinos de publicación definidos por DacFx.
- La compatibilidad con el entorno de WSL está limitada.
Área de trabajo
Los proyectos de bases de datos SQL se incluyen dentro de un área de trabajo lógica en Azure Data Studio y VS Code. Un área de trabajo administra las carpetas visibles en el panel Explorador. Todos los proyectos SQL dentro de las carpetas abiertas en el área de trabajo actual están disponibles en la vista Proyectos de SQL Database de forma predeterminada. La adición y eliminación manual de proyectos de un área de trabajo se pueden realizar a través de la interfaz en el panel Proyectos. Pero, si es necesario, la configuración de un área de trabajo se puede editar manualmente en el archivo .code-workspace.
En el archivo .code-workspace de ejemplo siguiente, en la matriz folders se enumeran todas las carpetas incluidas en el panel Explorador, y en la matriz dataworkspace.excludedProjects de settings se enumeran todos los proyectos de SQL incluidos en el panel Proyectos.
{
"folders": [
{
"path": "."
},
{
"name": "WideWorldImportersDW",
"path": "..\\WideWorldImportersDW"
}
],
"settings": {
"dataworkspace.excludedProjects": [
"AdventureWorksLT.sqlproj"
]
}
}