使用SSDT使用数据对SQL Server数据库进行版本控制

问题描述 投票:1回答:1

我有一个已经包含数据的SQL Server数据库。我想开始版本化它。我知道我可以在Visual Studio中使用Database项目,通过导入数据库我可以生成sql脚本。

但是数据库中的数据呢?我尝试制作一些数据层应用程序文件,但是当我尝试在Visual Studio中的数据库项目中导入它时,我收到此错误:

Import Data-Tier Application File - This operation is not supported for packages containing data

那我该如何导入数据呢?它必须是某种方式,因为当我提取DAC文件时,有选项Extract Schema and Data所以必须有一种方法来使用此数据。

或者可能是发布部署脚本是唯一的选择?

葛丽泰涂料

sql-server visual-studio version-control sql-server-data-tools
1个回答
0
投票

此时您唯一的选择是使用后部署脚本来填充这些表,同时考虑到脚本需要能够多次运行而无需重新插入数据这一事实。如果您可能对参考数据进行了更改,那么临时表/表变量和MERGE语句可能是您最好的选择,否则左连接可能就足够了。

其他人试图包含参考数据,但要以适合每个人的方式解决这个问题是一个非常难的问题。我知道Ed Elliott之类的其他人已经写了一些可以根据需要打开/关闭它们的东西,所以你并不总是每次都包含所有的参考数据。您还可以查看部署后的方案,在发布和部署后,您运行一个单独的脚本来更新静态文件中的数据。他们仍然在源代码管理中,但不一定是你的SSDT项目的一部分。但是,您必须记住在构建中运行该脚本。

我知道有一段时间我们有一个数据库,它只填充了查找表,因此我们可以引用它并在需要时进行数据比较,但仍然需要有人以持续的方式维护这些值。

© www.soinside.com 2019 - 2024. All rights reserved.