Compartir a través de


Extensión de proyectos de bases de datos SQL

Importante

Azure Data Studio se retira el 28 de febrero de 2026. Se recomienda usar Visual Studio Code. Para más información sobre la migración a Visual Studio Code, visite ¿Qué sucede con Azure Data Studio?

La extensión Proyectos de SQL Database es una extensión de Visual Studio Code para desarrollar bases de datos SQL en un entorno de desarrollo basado en proyectos. Las bases de datos compatibles incluyen SQL Server, Azure SQL Database, Azure SQL Managed Instance, Warehouse en Fabric y SQL Database en Fabric. Un proyecto 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. Cuando se compila un proyecto de SQL Database, el artefacto de salida es un .dacpac archivo. Las bases de datos nuevas y existentes se pueden actualizar para que coincidan con el contenido del .dacpac mediante la publicación del proyecto de SQL Database con la extensión Proyectos de SQL Database o mediante la publicación de .dacpac usando la interfaz de línea de comandos de SqlPackage.

Captura de pantalla del resumen de proyectos de SQL Database que contienen scripts previos y posteriores a la implementación, así como objetos de base de datos.

Para obtener más información sobre los conceptos de proyectos de SQL, consulte ¿Qué son los proyectos de SQL Database?

Características de extensión

La extensión Proyectos de SQL Database proporciona las siguientes características:

  • Cree un nuevo proyecto Microsoft.Build.Sql en blanco.
  • Cree un nuevo proyecto a partir de una base de datos conectada.
  • Abra un proyecto creado anteriormente en Visual Studio Code o en SQL Server Data Tools.
  • Edite un proyecto agregando o quitando objetos (tablas, vistas, procedimientos almacenados) o scripts personalizados en el proyecto.
  • Organice archivos o scripts en carpetas.
  • Agregue referencias a bases de datos del sistema o a un archivo dacpac de usuario.
  • Cree un único proyecto.
  • Implemente un solo proyecto.
  • Cargue los detalles de conexión (autenticación de SQL Windows) y las variables SQLCMD del perfil de implementación.

Install

Puede instalar la extensión de proyecto de base de datos SQL en Visual Studio Code.

La extensión Proyectos de SQL Database se instala con la extensión mssql para Visual Studio Code.

Dependencias

La extensión Proyectos de SQL Database tiene una dependencia del SDK de .NET (obligatorio) y AutoRest.Sql (opcional).

SDK de .NET

El SDK de .NET es necesario para la funcionalidad de compilación del proyecto y se le pedirá que instale el SDK de .NET si la extensión no puede detectar una versión compatible. El SDK de .NET se puede descargar e instalar para Windows, macOS y Linux.

Si desea comprobar las versiones instaladas actualmente del SDK de dotnet, abra un terminal y ejecute el siguiente comando:

dotnet --list-sdks

Después de instalar el SDK de .NET, el entorno está listo para usar la extensión Proyectos de SQL Database.

Problemas comunes

Nuget.org falta en la lista de orígenes puede dar lugar a mensajes de error como:

  • error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.
  • Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages

Para comprobar si nuget.org está registrado como origen, ejecute dotnet nuget list source desde la línea de comandos y revise los resultados de un [Enabled] elemento que hace referencia a nuget.org. Si nuget.org no está registrado como origen, ejecute dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org.

Las versiones del SDK de .NET no admitidas pueden dar lugar a mensajes de error como:

  • 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]_ (donde el archivo no existente vinculado tiene un corchete de cierre no coincidente).

Para forzar que la extensión Proyectos de SQL Database use la versión v6.x del SDK de .NET cuando se instalan varias versiones, agregue un archivo global.json a la carpeta que contiene el proyecto SQL.

Puede encontrar más información sobre la solución de problemas de compilación de proyectos SQL en Solución de problemas de compilación de proyectos sql.

SQLCLR

Los objetos SQLCLR de los proyectos de base de datos no se admiten en Visual Studio Code porque se basan en .NET Framework y la extensión Proyectos de SQL Database usa .NET para compilar proyectos.

Workspace

Los proyectos de base de datos SQL se encuentran dentro de un área de trabajo lógica (carpeta) en Visual Studio Code. Todos los proyectos sql de las carpetas abiertas en el área de trabajo actual están disponibles en la vista Proyectos de SQL Database de forma predeterminada.

Puede agregar y quitar manualmente proyectos de un área de trabajo a través de la interfaz en el panel Proyectos . La configuración de un área de trabajo se puede editar manualmente en el .code-workspace archivo, si es necesario.

En el siguiente archivo de ejemplo .code-workspace , la folders matriz enumera todas las carpetas incluidas en el panel Explorador y la dataworkspace.excludedProjects matriz dentro de settings enumera todos los proyectos SQL excluidos del panel Proyectos .

{
  "folders": [
    {
      "path": "."
    },
    {
      "name": "WideWorldImportersDW",
      "path": "..\\WideWorldImportersDW"
    }
  ],
  "settings": {
    "dataworkspace.excludedProjects": [
      "AdventureWorksLT.sqlproj"
    ]
  }
}