Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Projekty SQL weryfikują odwołania do obiektów bazy danych podczas procesu kompilacji projektu. Domyślnie projekty SQL nie zawierają obiektów systemowych w modelu bazy danych, co może prowadzić do błędów walidacji, jeśli projekt zawiera odwołania do obiektów systemowych. Aby rozwiązać te błędy walidacji, należy dołączyć odwołanie do master.dacpac bazy danych dla platformy docelowej projektu.
Odwołanie master.dacpac do bazy danych można dodać jako odwołanie do pakietu w projektach SQL opartych na Microsoft.Build.Sql SDK lub jako odwołanie do artefaktu zarówno w projektach opartych na SDK, jak i w oryginalnych projektach SQL.
Dodawanie odwołania do pakietu
Dostępne pakiety systemowych baz danych to:
-
Systemowa baza danych programu SQL Server
master -
Systemowa baza danych programu SQL Server
msdb -
Systemowa baza danych usługi Azure SQL Database
master - Obiekty systemu Fabric w bazie danych SQL
-
Baza danych systemu usługi Azure Synapse Analytics
master -
Systemowa baza danych pul bezserwerowych
masterusługi Azure Synapse Analytics
Najbardziej bezpośrednią metodą dodawania odwołania do pakietu do projektu SQL jest użycie interfejsu wiersza polecenia (CLI) platformy .NET. W poniższym przykładzie dodano odwołanie pakietu do systemowej bazy danych Azure SQL Database master w projekcie SQL.
dotnet add <path-to-sqlproj> package Microsoft.SqlServer.Dacpacs.Azure.Master
To polecenie dodaje następujący wpis do .sqlproj pliku (wersja pakietu będzie odzwierciedlać najnowszą wersję dostępną w momencie uruchomienia polecenia):
...
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Dacpacs.Azure.Master" Version="170.0.1" />
</ItemGroup>
</Project>
Dodawanie odwołania do artefaktu
Interfejsy projektów VS Code i Visual Studio SQL udostępniają metodę dodawania odniesienia artefaktu do pliku master.dacpac dla docelowej platformy projektu.
Wprowadzone zmiany w pliku .sqlproj będą wyglądać podobnie do poniższego przykładu, który dodaje odniesienie do artefaktu w systemowej bazie danych Azure SQL Database master w programie 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>
Pliki master.dacpac są przywoływane z lokalizacji instalacji aplikacji, co może być niestabilne dla niektórych systemów CI/CD (ciągłej integracji i ciągłego wdrażania). Plik master.dacpac można skopiować do lokalizacji w rozwiązaniu i zaktualizować atrybuty Include oraz HintPath, aby wskazywały na tę lokalizację, jeśli system kompilacji nie zawiera systemowych plików bazy danych.
Baza danych SQL w systemie Fabric
Baza danych SQL w obiektach systemowych Fabric jest zawarta w Microsoft.SqlServer.Dacpacs.DbFabric pakiecie, ale może być wymagane wykonanie dodatkowych kroków w celu poprawnego skonfigurowania odwołania do bazy danych SQL w środowisku Fabric.
Projekt SQL utworzony za pomocą zintegrowanej kontroli źródła w usłudze Fabric zawiera odwołanie do pakietu i właściwość ustawioną DatabaseVariableLiteralValue na masterwartość . Ta właściwość jest wymagana, ponieważ baza danych SQL w sieci szkieletowej nie zapewnia dostępu do master bazy danych, ale w bazie danych użytkownika można odwoływać się do tych samych obiektów systemowych.
Jeśli tworzysz nowy projekt SQL w Visual Studio lub VS Code, musisz zaktualizować właściwość DatabaseVariableLiteralValue, aby master zgadzała się z nazwą bazy danych używaną w bazie danych SQL w środowisku Fabric.
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Dacpacs.DbFabric">
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
<DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue>
<Version>170.0.0</Version>
</PackageReference>
</ItemGroup>