Sql server 2008 如何在SQLServer中管理测试数据库

Sql server 2008 如何在SQLServer中管理测试数据库,sql-server-2008,Sql Server 2008,我目前正在开发一个使用SQL Server 2008数据库的应用程序,该数据库位于局域网内部。我在管理数据库方面遇到两个问题: 目前,我在SQL server中有两个数据库,一个用于测试,一个用于生产,我复制表和视图等。。。在部署更改时在这两个数据库之间。我假设有更好的方法来管理从测试数据库到生产数据库的变更,有人能给我指出正确的方向吗 我的大部分工作都是远程完成的,因此我在笔记本电脑上安装了SQL Server 2008 Express,并在本地运行数据库的第三个副本。这是做远程工作的最佳选择

我目前正在开发一个使用SQL Server 2008数据库的应用程序,该数据库位于局域网内部。我在管理数据库方面遇到两个问题:

  • 目前,我在SQL server中有两个数据库,一个用于测试,一个用于生产,我复制表和视图等。。。在部署更改时在这两个数据库之间。我假设有更好的方法来管理从测试数据库到生产数据库的变更,有人能给我指出正确的方向吗

  • 我的大部分工作都是远程完成的,因此我在笔记本电脑上安装了SQL Server 2008 Express,并在本地运行数据库的第三个副本。这是做远程工作的最佳选择吗?在这种情况下,我一直在寻找的解决方案是将我的测试数据库公开给一个有限的用户,我可以在远程开发时使用这个用户。这是否可行/推荐


  • 我发现在我的笔记本上使用我自己的本地SQLServerDeveloperEdition副本是完成开发工作的最佳方式;然后在服务器上创建一个单独的测试和生产数据库。我喜欢保留我的本地开发服务器,这样我就永远不会受连接的摆布去做开发工作

    原则上,我从不公开SQL服务器,因此通过VPN工作是访问典型测试/生产服务器的唯一方式。如果我的开发服务器也在那里;例如,当我所在的位置不允许VPN通过时,我通常无法进行开发工作


    更新生产/测试数据库;每当我更改dev服务器时,我总是生成更改脚本,然后将它们组织起来,以便它们可以应用于测试,然后应用于以后的生产服务器。您可以通过SQL Server Management Studio或Visual Studio生成这些脚本。

    最干净、最重复的方法可能是对数据库代码和对象使用真正的构建过程。首先将所有数据库代码和对象置于源代码管理中。然后使用DBGHOST创建升级脚本以升级生产数据库。作为这项工作的一部分,您可以创建输出,该输出将创建一个空的dev数据库,在使用DBGhost时可以轻松地匹配任何给定的版本。我们已经使用了大约3年了,不会用其他方式。查看该站点,了解完整的步行路线。这钱很值。我是不是说它值这么多钱


    谢谢您的链接!看起来很有趣,计划很快开始评估。