如何将 Umbraco CMS 从使用 SQL Server CE 升级到 SQL Server 的升级版本?
How do I upgrade Umbraco CMS from using SQL Server CE to an upgraded version of SQL Server?
我想将本地主机(以及最终我的实时网站)上的 Umbraco 项目从 SQL Server CE 上的 运行 升级到 SQL Server 2014 或 SQL 服务器 2016.
升级的原因很简单:我可能在某个时候想要管理一个网站,该网站的数据库中有超过 4GB 的数据,可以通过多台服务器进行扩展,我想备份一些东西。否则我会偷懒,让 Umbraco.sdf 一个人呆着。
我没有在任何地方找到关于此过程的一致文档。也许你们中的某个人可能对 SQL 或 Umbraco 更有经验并且可以提供帮助。
(旁白:对于不太熟悉 Umbraco 的人,Umbraco 是一个用 C# 和 JavaScript 编写的内容管理系统。这里有一个名为 Umbraco.sdf 的 SQL 文件,其中包含所有内容的网站内容。)
在 webmatrix 中似乎最简单,你试过了吗?
或:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/49519-Changing-database-in-Umbraco-7
First you need setup a database in SQL Server. Once that is done, then open the Webmatrix, and in the lower left corner in the webmatrix UI you can select the databas. Then browse to the SQL Server CE database, it's located in the \App_Data
folder after that a "migrate button" will appear in the upper menu options. By press that button a migrate dialogue appears asking for connection details to the SQL Server database that you have created.
SQLCE ToolBox 是完成这项工作的最佳工具。只需安装扩展然后步骤如下:
- 在服务器资源管理器中添加到新数据库的连接(连接到数据库 按钮)
- 右键单击 SQLCE 工具箱中的
Umbraco.sdf
文件并选择 迁移到 SQL 服务器
- 选择您的服务器并导出。
- 修改 umbracoDbDSN 连接字符串以指向新数据库。
目标数据库应该是空的(或者至少没有任何冲突的 table 名称)。
我想出来了,以防其他人被卡住。
操作方法如下:
第 1 步:移植您当前的数据库。使用 Umbraco,有一种简单的方法可以做到这一点。只需安装 Export 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 非常宝贵。
您将失去一些东西:
数据库的可移植性。有时您只想将一个文件作为数据库而不是整个服务器。我们只建议在您的站点基本完成时执行此步骤,因为配置 SQL 服务器并确保其安全是您不必担心的额外挑战。
有时,图像无法传输。您可能必须手动重新输入所有图像。
可能安全。每次发布网站时,您可能需要手动重新加密 web.config。这可能非常危险 - 因此请确保您的网站始终具有 web.config 加密,即使是在新发布的网站上。
我想将本地主机(以及最终我的实时网站)上的 Umbraco 项目从 SQL Server CE 上的 运行 升级到 SQL Server 2014 或 SQL 服务器 2016.
升级的原因很简单:我可能在某个时候想要管理一个网站,该网站的数据库中有超过 4GB 的数据,可以通过多台服务器进行扩展,我想备份一些东西。否则我会偷懒,让 Umbraco.sdf 一个人呆着。
我没有在任何地方找到关于此过程的一致文档。也许你们中的某个人可能对 SQL 或 Umbraco 更有经验并且可以提供帮助。
(旁白:对于不太熟悉 Umbraco 的人,Umbraco 是一个用 C# 和 JavaScript 编写的内容管理系统。这里有一个名为 Umbraco.sdf 的 SQL 文件,其中包含所有内容的网站内容。)
在 webmatrix 中似乎最简单,你试过了吗?
或:https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/49519-Changing-database-in-Umbraco-7
First you need setup a database in SQL Server. Once that is done, then open the Webmatrix, and in the lower left corner in the webmatrix UI you can select the databas. Then browse to the SQL Server CE database, it's located in the
\App_Data
folder after that a "migrate button" will appear in the upper menu options. By press that button a migrate dialogue appears asking for connection details to the SQL Server database that you have created.
SQLCE ToolBox 是完成这项工作的最佳工具。只需安装扩展然后步骤如下:
- 在服务器资源管理器中添加到新数据库的连接(连接到数据库 按钮)
- 右键单击 SQLCE 工具箱中的
Umbraco.sdf
文件并选择 迁移到 SQL 服务器 - 选择您的服务器并导出。
- 修改 umbracoDbDSN 连接字符串以指向新数据库。
目标数据库应该是空的(或者至少没有任何冲突的 table 名称)。
我想出来了,以防其他人被卡住。
操作方法如下:
第 1 步:移植您当前的数据库。使用 Umbraco,有一种简单的方法可以做到这一点。只需安装 Export 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 非常宝贵。
您将失去一些东西:
数据库的可移植性。有时您只想将一个文件作为数据库而不是整个服务器。我们只建议在您的站点基本完成时执行此步骤,因为配置 SQL 服务器并确保其安全是您不必担心的额外挑战。
有时,图像无法传输。您可能必须手动重新输入所有图像。
可能安全。每次发布网站时,您可能需要手动重新加密 web.config。这可能非常危险 - 因此请确保您的网站始终具有 web.config 加密,即使是在新发布的网站上。