2016-09-03 20 views
1

我想升级我的本地主机上的Umbraco项目(最终是我的生活网站)从运行SQL Server CE到SQL Server 2014或SQL Server 2016.如何将Umbraco CMS从使用SQL Server CE升级到SQL Server的升级版本?

升级的原因很简单:我可能在某些时候想要管理一个网站,该网站的数据库中有超过4GB的数据,可以通过多台服务器进行扩展,并且我想要备份。否则我会很懒,只留下Umbraco.sdf。

我还没有在这个过程的任何地方找到一致的文档。也许你们中的一个可能对SQL或Umbraco更有经验,可能会有所帮助。

(旁白:对于那些不太熟悉一把umbraco,一把umbraco是一个用C#和JavaScript内容管理系统有一个在这里SQL文件名为Umbraco.sdf其内容的所有网站的内容。)

回答

2

我想通了,以防其他人卡住了。

这里是如何做到这一点:

步骤1:端口超过当前的数据库。有了Umbraco,有一个简单的方法来做到这一点。只需安装导出SQL Server Compact软件包,即一个插件到您的Umbraco CMS。安装完成后,按照指示操​​作并生成你的SQL文件。

第2步:将生成的脚本导入到SQL Management Studio并在新数据库中运行它。为了做到这一点:创建一个新的数据库,并提供一个新的用户权限设置来访问该数据库(不要使用你的服务器登录 - 你可以,但最好创建一个用户,以便远程访问)。之后,继续复制并粘贴整个文件(是的,整个文件)到一个新的查询中(右键单击数据库 - >运行查询),粘贴脚本并运行它。

步骤3:更改连接字符串。这是在你的web.config。的XML标签内,配置一个类似于此(删除{}):

<add name="umbracoDbDSN" 
    connectionString="Data Source={the ip of your database};Initial Catalog={theDatabaseName};User Id={theUserId};Password={yourPassword}" 
    providerName="System.Data.SqlClient" /> 

这个连接字符串的好处是,你可以在现场本地编辑,以及,用相同的连接字符串。这使您可以在本地主机上测试代码更改,而无需更改网站上的代码。自动链接的唯一内容是CMS内容。

请确保不要删除旧的Umbraco连接字符串,以防您想要还原为它。简单地评论一下。

第4步:加密web.config。显然,在您的网站上以明文形式保存数据库密码并不明智。这个加密你的web.config的MSDN是无价的。

有几件事情你可以以这样失去:

数据库的
  1. 可移植性。有时你只想让一个文件成为一个数据库而不是整个服务器。我们只建议在您的网站基本完成时执行此步骤,因为配置SQL Server并保证其安全性是您不应该担心的额外挑战。

  2. 偶尔,图像不运输。您可能需要手动重新输入所有图像。

  3. 可能的安全性。每次发布网站时,都可能需要手动重新加密web.config。这可能非常危险 - 所以请确保您的网站始终将web.config加密,即使是在新的发布中。

+0

谢谢您的精彩提示。现在看来,这个软件包在迁移之后需要被移除,否则,错误会阻止Umbraco正常工作:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/53022 -UmbracoWebModelsDynamicPublishedContentList - 不 - 不包含-A-定义换任何 – Hong

-1

它似乎最容易做到这一点在webmatrix,你试过吗?

来源:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/53818-Convert-Umbraco-SQL-CE-database-to-SQL-Express

或:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/49519-Changing-database-in-Umbraco-7

首先,你需要建立在SQL Server数据库中。完成后,打开Webmatrix,在webmatrix UI的左下角可以选择数据库。然后浏览到SQL Server CE数据库,它位于\App_Data文件夹中,然后在上面的菜单选项中出现“迁移按钮”。通过按下该按钮,会出现一个迁移对话框,询问您创建的SQL Server数据库的连接详细信息。

+1

这可能工作,除了事实WebMatrix不支持在Windows 10(它不会让我安装)。微软已经完全停止对WebMatrix的支持。 – Ryan

+1

哦,亲爱的,Sql CE Toolbox怎么样? https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/53818-Convert-Umbraco-SQL-CE-database-to-SQL-Express –

+0

这适用于数据导出(它创建一个文件可以作为SQL命令脚本运行)。 但是,仍然需要成功导入。 SQL不能仅仅打开这个文件 - 你需要将它复制并粘贴到Microsoft SQL Management Studio中并作为脚本运行(在你选择的数据库中,创建一个名为UmbracoDB的文件)。 我想我想出了一个办法,但我想看看你们是否有更好的一个。当我有一段时间后,我会发布我的解决方案,这并不容易,它需要很多工作,如果你在网络陌生人的问题上停留在Google上,请提醒我如果没有,请写下它。 ) – Ryan

1

SQLCE ToolBox是该工作的最佳工具。只要安装扩展,则步骤如下:

  1. 在服务器资源管理器连接在SQLCE工具箱添加到您的新的数据库(连接数据库按钮)
  2. 右键点击Umbraco.sdf文件,并选择迁移到SQL Server
  3. 选择您的服务器并导出。
  4. 修改umbracoDbDSN连接字符串以指向新数据库。

目标数据库应该是空的(或者至少没有任何冲突的表名)。

相关问题