如何使用Sql Backup或Mirror数据库?

时间:2009-08-25 13:44:15

标签: sql sql-server

我们不托管我们的数据库。现在,一个人正在从生产服务器手动创建.bak文件。然后.bak复制到每个开发人员的电脑上。是否有更好的应用程序可以使这个过程更容易?我正在为我们的团队开发构建项目,我正在考虑将.bak文件添加到SVN中,以便每个人都有正确的本地版本?我曾尝试生成一个sql脚本,但它只有架构没有数据吗?

4 个答案:

答案 0 :(得分:1)

如果生产服务器具有到您网站的在线连接,您可以尝试使用名为“日志传送”的方法。

这需要创建生产数据库的基线副本,然后获取在生产服务器上写入的事务日志块,并将日志块中的(包含的操作)应用于您的副本。这可确保在一定延迟后,备份数据库将与生产数据库处于相同的状态。

详细信息可在此处找到:http://msdn.microsoft.com/en-us/library/ms187103.aspx

正如你在标签中提到的SQL 2008:据我记得SQL2008有一些自动设置它。

答案 1 :(得分:1)

开发人员不能共享一个dev数据库吗?

将.bak文件添加到SVN听起来很糟糕。这将永远保留它的每个版本 - 你会更好(在大多数情况下)将它留在所有开发人员都可以看到的网络共享上并让它们复制下来。

您可能希望使用SSIS packages让开发人员制作临时的制作副本。

您可能还对Data Publishing Wizard感兴趣,这是一个开源项目,可让您使用数据编写数据库脚本。但如果开发人员需要他们自己的数据库副本,我会倾向于SSIS。

答案 2 :(得分:0)

  1. 您可以创建备份和恢复计划
  2. 您没有开发人员PC进行备份,因为。 SQL服务器有自己的备份文件夹,您可以使用它。
  3. 如果开发人员想要将数据库保存在本地系统中,您还可以从一个位置为每台PC生成恢复脚本。
  4. RESTORE DATABASE [xxxdb] FROM

    DISK = N'\ xxxx \ xxx \ xxx \ xxxx.bak'

    WITH FILE = 1,NOUNLOAD,REPLACE,STATS = 10

    GO

答案 3 :(得分:0)

从RedGate查看SQL Source Control,它可用于使架构和数据与源控件存储库保持同步(文档说支持SVN)。它支持集中部署的服务器或许多开发人员计算机上的数据库。

编写数据可能对每个人来说都不是一个有趣的时间,具体取决于有多少数据,但您也可以选择要执行的表(如查找)并使用任何更大的业务实体表填充SSIS(或用于测试的数据生成器)。