2016-09-03 7 views
1

私のローカルホスト上のUmbracoプロジェクト(そして結局私のライブウェブサイト)は、SQL Server CE上でSQL Server 2014またはSQL Server 2016のいずれかにアップグレードしたいと考えています。Umbraco CMSをSQL Server CEからアップグレードしたバージョンのSQL Serverにアップグレードするにはどうすればよいですか?

アップグレードの理由は簡単です。ある時点で、データベースに4GBを超えるデータを持つWebサイトを管理したい、複数のサーバーでスケーラブルであることをバックアップしたいと思っています。それ以外の場合は、私は怠惰で、Umbraco.sdfだけを残します。

どこでもこのプロセスに関する一貫したドキュメントが見つかりませんでした。 SQLやUmbracoでもっと経験豊富な人がいるかもしれません。 (別に。。:Umbracoとあまり馴染みの人のために、Umbracoは、C#とJavaScriptで書かれたコンテンツ管理システムであるコンテンツ、ウェブサイトの内容のすべてをUmbraco.sdf名付け、ここでのSQLファイルがあります)

答えて

2

他の誰かが詰まった場合に備えて、これを理解しました。

は、ここでそれを行う方法は次のとおりです。

ステップ1:ポート現在のデータベースを超えます。 Umbracoでは、これを行う簡単な方法があります。 Umbraco CMSにアドオンをインストールするだけで、Export SQL Server Compactパッケージをインストールするだけです。インストールが完了したら、指示に従って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サイトを公開するたびに、web.configを手動で再暗号化する必要があります。これは非常に危険です。新しいパブリッシュでも、Webサイトに常に暗号化されたweb.configがあることを確認してください。

+0

ありがとうございます。さて、移行後にパッケージを削除する必要があるようです。そうしないと、Umbracoが正しく動作しないというエラーが発生します。https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/53022 -UmbracoWebModelsDynamicPublishedContentList-does-not-contains-a-definition-for-any – Hong

-1

それあなたはそれを試したことがありますか?あなたはセットアップにSQL Serverのデータベースを必要とするhttps://our.umbraco.org/forum/umbraco-7/using-umbraco-7/49519-Changing-database-in-Umbraco-7

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

か:から

。それが完了したら、Webmatrixを開き、Webmatrix UIの左下隅にあるデータベースを選択します。次に、上位のメニューオプションに「移行ボタン」が表示された後、\App_DataフォルダにあるSQL Server CEデータベースを参照します。そのボタンを押すと、作成したSQL Serverデータベースへの接続の詳細を尋ねる移行ダイアログが表示されます。

+1

WebMatrixがWindows 10でサポートされていないことを除いて、これは機能します(インストールできません)。 Microsoftは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と呼ばれます)。 私は方法を考え出したと思うが、あなたの方が良いかどうかを見たい。 (私はしばらく時間がたつと解決策を投稿しますが、それは簡単ではありませんが、多くの作業が必要になります。 ) – Ryan

1

SQLCE ToolBoxは、ジョブに最適なツールです。サーバーエクスプローラで

  1. はSQLCEツールボックス内にUmbraco.sdfファイルに
  2. 右クリック(データベースボタンへ接続)を新しいデータベースに接続を追加し、選択します。以下のようにちょうどその時の手順がある拡張機能をインストールSQL Serverに移行
  3. サーバーを選択してエクスポートします。
  4. 新しいデータベースを指すようにumbracoDbDSN接続文字列を変更します。

ターゲットデータベースは空である必要があります(または少なくとも競合するテーブル名はない)。

関連する問題