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. Al compilar un proyecto de SQL Database, se crea un .dacpac archivo. Puede actualizar las bases de datos nuevas y existentes para que coincidan con el contenido del .dacpac publicando el proyecto de SQL Database con la extensión Proyectos de SQL Database o publicando .dacpac con 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 y 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 depende del SDK de .NET (obligatorio) y AutoRest.Sql (opcional).

SDK de .NET

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

Para 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

  • La falta de nuget.org de 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).

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

Para obtener más información sobre cómo solucionar problemas de compilación de proyectos SQL, consulte Solución de problemas de compilación de proyectos de SQL.

SQLCLR

Visual Studio Code no admite objetos SQLCLR en proyectos de base de datos, ya que estos objetos 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. De forma predeterminada, puede acceder a todos los proyectos de SQL dentro de las carpetas abiertas en el área de trabajo actual en la vista Proyectos de SQL Database .

Puede agregar y quitar manualmente proyectos de un área de trabajo a través de la interfaz en el panel Proyectos . Puede editar manualmente la configuración de un área de trabajo 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. La dataworkspace.excludedProjects matriz de settings enumera todos los proyectos SQL excluidos del panel Proyectos .

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