Rya*_*one 3 c# sql-server umbraco sql-server-ce umbraco7
我想将我的本地主机(最终是我的实时网站)上的Umbraco项目从SQL Server CE上运行升级到SQL Server 2014或SQL Server 2016.
升级的原因很简单:我可能在某些时候想要管理一个数据库中数据超过4GB的网站,可以使用多个服务器进行扩展,我想要备份.否则我会很懒,只留下Umbraco.sdf.
我没有在任何地方找到关于此过程的一致文档.也许你们中的一个可能对SQL或Umbraco更有经验并且可以提供帮助.
(旁白:对于那些不熟悉Umbraco的人来说,Umbraco是一个用C#和JavaScript编写的内容管理系统.这里有一个名为Umbraco.sdf的SQL文件,其中包含了网站的所有内容.)
我想出来了,以防其他人被卡住.
这是怎么做的:
第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" />
Run Code Online (Sandbox Code Playgroud)
这个连接字符串的好处是你可以使用相同的连接字符串在本地和现场进行编辑.这允许您在本地主机上测试代码更改,而无需更改网站上的代码.唯一自动链接的是CMS内容.
确保不要删除旧的Umbraco连接字符串,以防您想要恢复它.简单地说出来.
第4步:加密web.config.显然,在您的网站上以明文形式保存数据库密码并不明智.这个关于加密web.config的MSDN是非常宝贵的.
你会失去一些东西:
数据库的可移植性.有时您只想让文件成为数据库而不是整个服务器.我们只建议在您的网站基本完成时执行此步骤,因为配置SQL Server并确保其安全是您不必担心的额外挑战.
偶尔,图像不会传输.您可能需要手动重新输入所有图像.
可能的安全性 每次发布网站时,都可能需要手动重新加密web.config.这可能非常危险 - 因此请确保您的网站始终加密web.config,即使是在新发布的网站上也是如此.