Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Os projetos SQL validam referências de objeto de banco de dados durante o processo de compilação do projeto. Por padrão, os projetos SQL não incluem objetos do sistema no modelo de banco de dados, o que pode levar a erros de validação se o projeto contiver referências a objetos do sistema. Para resolver esses erros de validação, você deve incluir uma referência de banco de dados para a master.dacpac plataforma de destino do seu projeto.
A referência de banco de dados master.dacpac pode ser adicionada como uma referência de pacote em projetos SQL no estilo SDK Microsoft.Build.Sql ou como uma referência de artefato em projetos SQL no estilo original e no estilo SDK.
Adicionar uma referência de pacote
Os pacotes de banco de dados do sistema disponíveis são:
-
Banco de dados do sistema SQL Server
master -
Banco de dados do sistema SQL Server
msdb Banco de dados do sistema SQL do Azure - Banco de dados SQL em objetos do sistema Fabric
-
Banco de dados do sistema Azure Synapse Analytics
master -
Banco de dados do sistema de pools
mastersem servidor do Azure Synapse Analytics
O método mais direto para adicionar uma referência de pacote a um projeto SQL é usar a interface de linha de comando (CLI) do .NET. O exemplo a seguir adiciona uma referência de pacote ao banco de dados do sistema do Banco de Dados SQL master do Azure a um projeto SQL:
dotnet add <path-to-sqlproj> package Microsoft.SqlServer.Dacpacs.Azure.Master
Este comando adiciona a seguinte entrada ao .sqlproj arquivo (a versão do pacote refletirá a versão mais recente disponível no momento em que o comando for executado):
...
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Dacpacs.Azure.Master" Version="170.0.1" />
</ItemGroup>
</Project>
Adicionar uma referência de artefato
As interfaces de projeto VS Code e Visual Studio SQL fornecem um método para adicionar uma referência de artefato ao master.dacpac arquivo para a plataforma de destino do seu projeto.
As edições resultantes no .sqlproj arquivo serão semelhantes ao exemplo a seguir, que adiciona uma referência de artefato ao banco de dados de sistema do Azure SQL Database dentro do ambiente do Visual Studio:
<ItemGroup>
<ArtifactReference Include="$(DacPacRootPath)\Extensions\Microsoft\SQLDB\Extensions\SqlServer\AzureV12\SqlSchemas\master.dacpac">
<HintPath>$(DacPacRootPath)\Extensions\Microsoft\SQLDB\Extensions\SqlServer\AzureV12\SqlSchemas\master.dacpac</HintPath>
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
<DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue>
</ArtifactReference>
</ItemGroup>
Os master.dacpac arquivos são referenciados a partir do local de instalação dos aplicativos, que pode ser frágil para alguns sistemas CI / CD. Você pode copiar o arquivo master.dacpac para um local dentro da sua solução e atualizar os atributos Include e HintPath para apontar para esse local se o sistema de compilação não incluir os arquivos de banco de dados do sistema.
Banco de dados SQL no Fabric
O banco de dados SQL nos objetos do sistema Fabric está incluído no Microsoft.SqlServer.Dacpacs.DbFabric pacote, mas etapas adicionais podem ser necessárias para configurar a referência de banco de dados corretamente para o banco de dados SQL no ambiente Fabric.
O projeto SQL criado com o controle de origem integrado no Fabric inclui a referência do pacote e a DatabaseVariableLiteralValue propriedade definida como master. Essa propriedade é necessária porque o banco de dados SQL no Fabric não fornece acesso ao banco de dados, master mas os mesmos objetos do sistema podem ser referenciados no banco de dados do usuário.
Se você criar um novo projeto SQL no Visual Studio ou VS Code, deverá atualizar a DatabaseVariableLiteralValue propriedade para master corresponder ao nome do banco de dados usado no banco de dados SQL no ambiente Fabric.
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Dacpacs.DbFabric">
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
<DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue>
<Version>170.0.0</Version>
</PackageReference>
</ItemGroup>