Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何保持需要保持同步的独立开发环境?_Sql Server_Sharepoint_Development Environment - Fatal编程技术网

Sql server 如何保持需要保持同步的独立开发环境?

Sql server 如何保持需要保持同步的独立开发环境?,sql-server,sharepoint,development-environment,Sql Server,Sharepoint,Development Environment,我正在设置两个开发环境(一个在我的本地服务器上,另一个在云服务提供商上,我将在那里进行可能需要比本地服务器更多内存的工作) 如何确保两个环境始终完全同步?我正在考虑集中部署应用程序,并使用一个工具来同步SQL Server数据库,以及另一个工具来保持Sharepoint服务器在两个类似环境中的两个VM之间的同步。还有什么能帮助实现这一目标的吗 谢谢这对于SharePoint开发来说是一个非常棘手的问题 就SQL server而言(对于非SharePoint内容),您可以使用SQL server中

我正在设置两个开发环境(一个在我的本地服务器上,另一个在云服务提供商上,我将在那里进行可能需要比本地服务器更多内存的工作)

如何确保两个环境始终完全同步?我正在考虑集中部署应用程序,并使用一个工具来同步SQL Server数据库,以及另一个工具来保持Sharepoint服务器在两个类似环境中的两个VM之间的同步。还有什么能帮助实现这一目标的吗


谢谢

这对于SharePoint开发来说是一个非常棘手的问题

就SQL server而言(对于非SharePoint内容),您可以使用SQL server中提供的工具同步数据库。例如,复制数据库向导,或者如果需要完成自定义工作,您甚至可以编写自己的SSIS包

不过,SharePoint是另一回事。您不能仅通过跨服务器复制数据库来将网站集/web应用程序从一台服务器同步到另一台服务器,这是行不通的(原因很多,但主要是因为当您在服务器上创建web应用程序时,它使用GUID作为应用程序ID创建数据库。该GUID在数据库中的任何位置都会使用,如果您尝试更改它,表之间的所有链接都会断开)。SharePoint数据库的结构没有记录在案,MS建议不要手动修改。老实说,即使您成功地从SQL server同步了数据库,您也会遇到其他问题,因为您所做的所有自定义设置都没有保存到数据库中(很多内容都会进入12配置单元)

因此,归根结底,这取决于你正在努力实现的目标

如果您试图同步已编码的自定义设置(即内容类型、列表模板、web部件等)。我建议您仅从开发环境中构建WSP包,并在每次需要同步时部署它们

如果您只是尝试同步数据(即列表项),则可以使用备份/还原解决方案(您可以在管理中心找到)。请注意,如果您有自定义设置,则该解决方案并不太可靠。它在现成的站点上运行良好,但一旦使用自己的列表模板等,则可能很难进行还原

您还可以使用或编写代码进行同步,并查看它是否适合您的需要

您还可以研究可以为您完成全部或部分工作的工具

因此,基本上,无论您决定如何做,它都不会像您预期的那样简单。DEV/TEST/PROD环境同步问题是SharePoint开发的经典问题

我在一个高度定制的SharePoint web应用程序上工作,我们找到的最佳解决方案是:

  • 在我们的代码中要严格遵守规则:通过代码进行所有自定义,并使用该代码构建WSP包。没有SharePoint designer。使用SharePoint designer自定义页面后,您将无法同步任何内容
  • 使用web服务在任何服务器之间同步列表

对于SharePoint开发来说,这是一个非常棘手的问题

就SQL server而言(对于非SharePoint内容),您可以使用SQL server中提供的工具同步数据库。例如,复制数据库向导,或者如果需要完成自定义工作,您甚至可以编写自己的SSIS包

SharePoint则是另一回事。您不能仅通过跨服务器复制数据库来将网站集/web应用程序从一台服务器同步到另一台服务器,这是行不通的(原因很多,但主要是因为当您在服务器上创建web应用程序时,它使用GUID作为应用程序ID创建数据库。该GUID在数据库中的任何位置都会使用,如果您尝试更改它,表之间的所有链接都会断开)。SharePoint数据库的结构没有记录在案,MS建议不要手动修改。老实说,即使您成功地从SQL server同步了数据库,您也会遇到其他问题,因为您所做的所有自定义设置都没有保存到数据库中(很多内容都会进入12配置单元)

因此,归根结底,这取决于你正在努力实现的目标

如果您试图同步已编码的自定义设置(即内容类型、列表模板、web部件等)。我建议您仅从开发环境中构建WSP包,并在每次需要同步时部署它们

如果您只是尝试同步数据(即列表项),则可以使用备份/还原解决方案(您可以在管理中心找到)。请注意,如果您有自定义设置,则该解决方案并不太可靠。它在现成的站点上运行良好,但一旦使用自己的列表模板等,则可能很难进行还原

您还可以使用或编写代码进行同步,并查看它是否适合您的需要

您还可以研究可以为您完成全部或部分工作的工具

因此,基本上,无论您决定如何做,它都不会像您预期的那样简单。DEV/TEST/PROD环境同步问题是SharePoint开发的经典问题

我在一个高度定制的SharePoint web应用程序上工作,我们找到的最佳解决方案是:

  • 在我们的代码中要严格遵守规则:通过代码进行所有自定义,并使用该代码构建WSP包。没有SharePoint designer。使用SharePoint designer自定义页面后,您将无法同步任何内容
  • 使用web服务在任何服务器之间同步列表