在两个位置之间传输我的(小)SQL Server数据库的最佳方法是什么?

时间:2015-07-20 09:55:07

标签: sql-server git version-control

我正在开展一个项目,我是唯一一个从事这项工作的人。我尽力以“最佳实践”的方式尽力做好一切。

我从2个地方开展项目工作 - 工作PC和家用电脑。我定期提交Git仓库,并以这种方式保持两个位置都是最新的。

上周末,我在我的应用程序中实现了一个小型SQL Server数据库,今天开始工作,发现.mdf文件自动出现在.gitignore上。

做了一些挖掘,似乎应该保持这种状态。我已经研究了控制数据库的源代码,但是一切似乎都指向昂贵的软件,或者我无法理解的一些工具。

在我的家庭和工作地点之间,不仅保留数据库结构,还保持数据库数据内容相同的最佳方法是什么?我应该从源代码管理中删除.mdf,只是这样做吗?或者做XYZ会更好吗?

2 个答案:

答案 0 :(得分:1)

只需在一个位置备份并在另一个位置恢复即可。您可以使用免费的SSMS进行备份和恢复,也可以根据需要在代码中进行备份和恢复。您可以压缩生成的.bak文件。这是最简单的方法之一。

您还可以分离和附加mdf文件,但我发现备份更容易管理。

答案 1 :(得分:1)

更多选项:

您还可以创建包含所有数据的数据库创建/修改脚本。插入/更新语句。或者您可以将数据存储在csv中并通过脚本填充它。并将这些脚本和csv数据文件存储在任何版本控制工具中。

以下是两项修改:

  1. 脚本将删除现有数据库,然后像sqlfiddle一样从头开始创建。

  2. 脚本,可以在不删除数据的情况下将任何现有数据库版本更新到当前版本

  3. 第二种方式更复杂,但它有时是企业级系统的唯一方法,因为在许多环境中存在许多版本,并且必须保持测试和生产数据不受影响。

    所以我认为第一个提议的版本更适合你的情况。