Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
SQL-Projekte überprüfen Datenbankobjektverweise während des Projektbuildprozesses. Sql-Projekte enthalten standardmäßig keine Systemobjekte im Datenbankmodell, was zu Überprüfungsfehlern führen kann, wenn Ihr Projekt Verweise auf Systemobjekte enthält. Um diese Überprüfungsfehler zu beheben, fügen Sie einen Datenbankverweis auf die master.dacpac Zielplattform Ihres Projekts ein.
Die master.dacpacDatenbankreferenz kann als Paketverweis in SQL-Projekten im Microsoft.Build.Sql SDK-Stil oder als Artefaktverweis sowohl im SDK-Stil als auch in ursprünglichen SQL-Projekten hinzugefügt werden.
Hinzufügen eines Paketverweises
Die verfügbaren Systemdatenbankpakete sind:
-
SQL Server-Systemdatenbank
master -
SQL Server-Systemdatenbank
msdb - Azure SQL-Datenbank Systemdatenbank
- SQL-Datenbank in Fabric-Systemobjekten
-
Azure Synapse Analytics-Systemdatenbank
master -
Systemdatenbank für serverlose Azure Synapse Analytics-Pools
master
Die direkteste Methode zum Hinzufügen eines Paketverweises zu einem SQL-Projekt besteht darin, die .NET-Befehlszeilenschnittstelle (CLI) zu verwenden. Im folgenden Beispiel wird ein Paketverweis zur Azure SQL-Datenbanksystemdatenbank master zu einem SQL-Projekt hinzugefügt:
dotnet add <path-to-sqlproj> package Microsoft.SqlServer.Dacpacs.Azure.Master
Mit diesem Befehl wird der Datei der folgende Eintrag .sqlproj hinzugefügt (die Paketversion spiegelt die neueste Version wider, die zum Zeitpunkt der Ausführung des Befehls verfügbar ist):
...
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Dacpacs.Azure.Master" Version="170.0.1" />
</ItemGroup>
</Project>
Einen Artefaktverweis hinzufügen
Die VS Code- und Visual Studio SQL-Projektschnittstellen bieten eine Methode zum Hinzufügen eines Artefaktverweises zur master.dacpac Datei für die Zielplattform Ihres Projekts.
Die resultierenden Änderungen an der .sqlproj Datei ähneln dem folgenden Beispiel, das einen Artefaktverweis zur Azure SQL-Datenbanksystemdatenbank master in Visual Studio hinzufügt:
<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>
Auf die master.dacpac Dateien wird vom Installationsspeicherort der Anwendungen verwiesen, was für einige CI/CD-Systeme anfällig sein kann. Sie können die master.dacpac Datei an einen Speicherort in Ihrer Lösung kopieren und die Include Attribute HintPath so aktualisieren, dass sie auf diesen Speicherort verweisen, wenn ihr Buildsystem die Systemdatenbankdateien nicht enthält.
SQL-Datenbank in Fabric
Die SQL-Datenbank in Fabric-Systemobjekten ist im Microsoft.SqlServer.Dacpacs.DbFabric Paket enthalten, es sind jedoch möglicherweise zusätzliche Schritte erforderlich, um den Datenbankverweis für die SQL-Datenbank in der Fabric-Umgebung ordnungsgemäß zu konfigurieren.
Das sql-Projekt, das mit der integrierten Quellcodeverwaltung in Fabric erstellt wurde, enthält den Paketverweis und den DatabaseVariableLiteralValue Eigenschaftensatz auf master. Diese Eigenschaft ist erforderlich, da die SQL-Datenbank in Fabric keinen Zugriff auf die master Datenbank bietet, aber auf dieselben Systemobjekte in der Benutzerdatenbank verwiesen werden kann.
Wenn Sie ein neues SQL-Projekt in Visual Studio oder VS Code erstellen, müssen Sie die DatabaseVariableLiteralValue Eigenschaft so aktualisieren, dass master sie mit dem Datenbanknamen übereinstimmt, der in der SQL-Datenbank in der Fabric-Umgebung verwendet wird.
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Dacpacs.DbFabric">
<SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
<DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue>
<Version>170.0.0</Version>
</PackageReference>
</ItemGroup>