タグ付けされた質問 「migration」

データベースまたはデータをある場所から別の場所に移動するプロセス

13
あるサーバーから別のサーバーにデータベースを移動するにはどうすればよいですか?
物理サーバー間でMySQLテーブルを移動するにはどうすればよいですか? この正確なシナリオのように: innodbテーブルを使用し、サイズが約20GBのMySQLサーバーがあります。 新しいサーバーに移動したいのですが、これを行う最も効率的な方法は何ですか?

5
SQL Serverのインプレースアップグレードは、以前と同じように不適切にアドバイスされていますか?
私はSQL Server 6.5以降、SQL Serverのオンとオフを操作してきました。私の頭に残っている古いアドバイスは、インプレースアップグレードを行うことではありませんでした。 現在、2008 R2 DEVおよびTESTシステムをSQL Server 2012にアップグレードしていますが、同じハードウェアを使用する必要があります。Reporting Servicesの構成を復元する必要がないという考えは非常に魅力的であり、実際には時間的に賢明です。関係する分析サービスや異常なもの、非標準のものはありません。データベースエンジンとレポートサービスのみがインストールされます。 インプレースアップグレードで深刻な問題を経験した人はいますか?または、インプレースアップグレードに関する自分の立場を再評価する必要がありますか?

1
ダウンタイムなしでのスキーマ変更とライブデータベースへのデータ移行のベストプラクティス
ダウンタイムなしでライブデータベースのスキーマをどのように変更しますか? たとえば、すべてが特定のユーザーに関連付けられている、メールアドレスなどのさまざまなユーザーデータを含むテーブルを持つPostgreSQLデータベースがあるとします。電子メールアドレスを新しい専用テーブルに移動する場合は、スキーマを変更してから、電子メールデータを新しいテーブルに移行する必要があります。元のテーブルへの書き込みを停止せずにこれを行うにはどうすればよいですか?確かに、古いテーブルから新しいテーブルにデータが上書きされる間、新しいデータは引き続き古いテーブルに書き込まれ、失われますよね? この問題はかなり頻繁に発生すると思いますが、それを処理するための標準的なソリューションが見つかりません。 この記事ではこの問題を扱いますが、手順3を本当に理解していませんでした。彼は両方のテーブルに書き込み、古いデータを最初のテーブルから新しいテーブルに移行するように言っています。古いデータのみを移行していることをどのように確認しますか? (HerokuでPostgreSQLを使用しています。)

4
SQL Server 2012からSQL Server 2005にデータベースを移動する方法
データベースをSQL Server 2012(32ビット)からSQL Server 2005(64ビット)に移動する必要がある場合のオプションは何ですか? 私はできないことを知っています: SQL Server 2005でデータベースのバックアップを復元する 取り外して取り付ける 自分ができるということがわかっている: データのインポートウィザードを使用し、1つのデータベースで試してみましたが、データを移動するだけでした。さらに、ID列を維持するための一時テーブルの作成、すべてのFK、インデックスなどの再作成に多くの作業を行う必要があったため、面倒でした もっと簡単なオプションはありますか?

5
古いデータのアーカイブ
データベースが大きくなりすぎているため、現在いくつかのパフォーマンスの問題に直面しています。過去10年間のデータが保存されており、2年以上前のデータを新しいデータと同じテーブルに保存する必要がある理由はわかりません。 現在、私はデータベースの管理にあまり深い経験がないので、古いデータをアーカイブする最良の方法を探しています。 情報 データベースには合計で約310'000'000レコードがあります。 データベースには、ハードディスクに250 GBが必要です。 サーバーのバージョンは、互換性レベルがSQL Server 2005(90)のSQL Server 2008ですが、SQL Server 2012へのアップグレードを近日中に計画しています 私は2つの可能性について考えました: 新しいデータベース 実動サーバー上のデータベースと同様のデータベースを作成し、すべての古いデータを新しいデータベースに挿入します。 欠点:リンクサーバーは環境で許可されていないため、必要に応じて古いデータを結合することは困難です。 履歴スキーマ 本番データベースと同じテーブルで新しいスキーマfe [hist]を作成します。新しいスキーマのこれらの新しいテーブルにすべての古いデータを挿入します。 利点:将来的に古いデータが必要になる場合、簡単に参加できます 解決策の1つを他よりも優先しますか? どうして? より良い可能性はありますか? このタスクを簡単に実行できる既存のツールはありますか? 他に考えはありますか? 前もって感謝します 編集 追加の質問: 新しく作成されたアーカイブテーブルもプライマリ/外部キーを必要としますか? または、キー/制約のない列だけが必要ですか?

1
SQL Server 2000データベースを2008 R2にアップグレードし、新しい機能を有効にします
最近、SQL Server 2000データベースを2008 R2にアップグレードしました。 私がしたことは: 古いマシンでSQL Server 2000(エクスプレス)サービスをシャットダウンします。 データファイル(mydatabase.mdfおよびmydatabase.ldf)を新しいマシンに移動し、 SQL Server Management Studio 2008を実行します。 ローカルデータベースエンジンに接続し、 データファイルをデータベースに添付します。 データベースの互換性レベルをSQL 2008(100)に変更します。 質問:移行を完了するには、他に何をすればよいですか? したい: チェックサムや完全復旧モデルなどの新機能を使用し、 このデータベースをSQL 2008 R2で作成されたとおりに作成します。 このデータベースを完全に互換性があり、正確にし、新しいSQL 2008 R2データベースエンジンに最適なものにします。 つまり、古いSQL 2000データベースを新しい2008 R2データベースに正しく完全に変換する方法を知り、すべてが正しく行われていることを落ち着いて、すべての新機能に満足しているだけです。 この質問をしているのは、インターネット上で非常に多くの異なることを言って混乱しているサイトを見つけたためです。今は何も分からないので、経験豊富な人の意見と明確で段階的な指示を聞きたいです。私は非常に小さな会社で働いています。私は独力で仕事をします。 サー、私はあなたの答えに本当に感銘を受けました、私はそれほど期待していませんでした。 いくつかのコメント: データベースは現在稼働中です。私が言ったように、それは私が最初の記事でdesribedような方法をdeattachは、取り付け使用してアップグレードされたとMSDNに記載されているように:http://msdn.microsoft.com/en-us/library/ms189625.aspx それは迅速に行わなければなりませんでした、だから私はそのようにせざるを得なかった。それがいかに不適切であったかを忘れて、現在の状況に注目しましょう。 ここではユーザー/権限は問題ではありません-少数であり、許可は簡単です。 データベースを使用するアプリケーションは2012年までSQL 2000と互換性があるため、これも問題ではありません。 データベースファイル(MDF)は大きくなく、約1GBのみです。 その他の質問: バックアップ/復元方法を使用することをお勧めしますが、上記のようにしたので、問題が発生する可能性はありますか?すべてが問題なく機能しました。 チェックサムと完全復旧モデルについて:SQL 2000では利用できなかったので、すぐに使用したいと思います。データベースプロパティでこれらのオプションを有効にすることだけが必要だとおっしゃいましたか?どこかで読みましたが、それだけでは十分ではなく、インデックスなどを再構築する必要があります。私は本当に知りません、ただ尋ねます。 このデータベースをSQL 2012に移行するために事前に準備しています-最初はSQL 2000から2008 R2になりましたが、2008 R2から2012になりますSQL 2012)。だから私はあなたのガイドに従うべきだと理解しています:2008 R2でそれをバックアップし、2012年に復元してから、残りのヒントをしますか? …

4
データ移行を計画するためのワークフローは何ですか?
ソフトウェア開発作業の最後に何度も連れてきて、「大丈夫、この新しいコードはすべて揃っているので、テーブルを変更し、データを移行する必要があります」と言われました。 一度限りの、ヒップからのシュート、最高の推測のシナリオのようです。これはDBAとしての私の最も弱いスキルセットだと感じています。 データ移行へのアプローチ、管理、テストのためのいくつかのパターンに入りたいと思います。 いくつかのベストプラクティスや、この分野の改善に役立つ教材を入手できる場所を教えてください。

2
ネットワーク上でダウンタイムの少ない巨大なSQL Serverデータベースを移行する最良の方法
問題定義 データベースサーバーを他のデータセンターに転送する必要があります。Microsoft SQL Server 2012 Enterprise(64ビット)で実行され、約2TBと1TBの2つのデータベースが含まれています。 ダウンタイムがほとんどないか、まったくないことが理想的です。 仕事量 これらのデータベースは.NET Webサイトに使用され、常に更新されています。 ただし、週末に利用できなくても問題ありません。現在使用中のDBは、新しいDBに切り替えるまで使用中の唯一のDBのままです。 この切り替えは、理想的には、DBが更新されていないことを確認しながら、新しいDBサーバーを指すようにDNSエントリを変更するだけで行われます。 また、1つのサーバーから別のサーバーへの切り替え(ダウンタイム)が低く抑えられている限り、この操作にかかる時間は実際には重要ではありません。 考慮されるアプローチ バックアップと復元 これは過去に行われたことがありますが、内部ネットワークを介して行われたにもかかわらず、インターネットよりも効率的にダウンタイムが長くなりました ログ配布 私の知る限り、このアプローチは、マスター/スレーブを構成し、マスターDBの正確なコピーを読み取り専用のスレーブに転送することにより、ダウンタイムを最小限に抑えます。上記のように、スレーブへのアクセスは不要であり、データ破損なしでマスターDBのレプリカを保持する方法が必要です。 また、リソース使用率の面でも非常に効率的であるようで、マスターのパフォーマンスにはほとんど影響しません。 私はこのアプローチについて間違っているかもしれませんので、私を修正してください。 データベースミラーリング 私はそのアプローチをあまり認識していませんが、有効なオプションのようです。リアルタイムで同期する必要はなく、マスターのパフォーマンスは非常に重要であるため、このアプローチを選択する場合は非同期が最適です。 別のオプション? このサーバーはベアメタルハードウェア上で直接実行されるため、残念ながら低レベルのソリューションはオプションではありません。たぶんこれを達成するためのより良い方法がありますか? 制約 説明したように、これらのデータベースは維持するのが難しいほど大きなものですが、それは別の問題です。 SQL Serverのバージョンは同じです(Microsoft SQL Server 2012 Enterprise 64ビット)。 2つのデータセンター間のネットワーク経由で転送する必要があるため、おそらくインターネット経由で転送する必要があります。最初の同期のために、あるサイトから別のサイトにディスクを送信することは、残念ながらオプションではありません。転送に何らかのセキュリティを持たせることが理想的ですが、この状況を最大限に活用します。 これにより、このタスクに対する私たちのニーズの非常に良い概要が得られるはずです。

7
SQL ServerをMySQLに移行する必要がある
Windowsサーバー上のSQL Server 2008にデータベースがあり、Ubuntuサーバー上のMySQLデータベースにすべてのデータを移動したい。MySQL ODBCドライバーでSQL Serverのインポートおよびエクスポートウィザードを使用してみましたが、両方のデータベースに正しくアクセスしましたが、型変換の仕様を含むxmlファイルは存在せず、仕様を作成するには正しく制限されていました。型変換ファイルを作成する方法、またはこのデータを転送するためのより良いツールを入手する場所のいずれかを知っていますか?


3
detach / copy / attachを使用するか、backup-restore-replayを使用してデータを移行する必要がありますか?
データベースファイルの新しいSAN(古いSANから)への移行に着手しようとしていますが、これを実装するためのオプションがいくつかあります。(1)サーバー上の新しいデータベースに完全バックアップを復元する作業レベルを検討することをお勧めしました。ただし、(2)私の当初の計画は、データベースをデタッチしてから再アタッチすることにより、古いSANから新しいSANにファイルをコピーすることでした。 私の腸は、よりフェイルセーフだと思うので、切り離して、コピーして、アタッチしたいことを教えてくれますが、それは私の単純なことかもしれません。データベースの名前を変更する過程で、トランザクションを見逃したり、何らかの形で「何かを壊したり」したくありません。 私の質問は、BACKUP-RESTORE-Replayオプションに対する懐疑論に正当化されるかどうか、およびそのオプションのその他のメリットまたはリスクは何ですか?

4
ソースデータベースがUTF8でエンコードされている場合、復元時にUTF8の無効なバイトシーケンスコピーエラーを解決する方法
PostgreSQL 8.2.xデータベースを別のサーバーに移行するタスクが与えられました。これを行うには、pgAdmin 1.12.2(ちなみにUbuntu 11.04)を使用し、カスタム/圧縮形式(.backup)とUTF8エンコードを使用したバックアップと復元を使用しています。 元のデータベースは、次のようにUTF8です。 -- Database: favela -- DROP DATABASE favela; CREATE DATABASE favela WITH OWNER = favela ENCODING = 'UTF8' TABLESPACE = favela CONNECTION LIMIT = -1; 移行先サーバーで、このようなデータベースを作成しています。しかし、復元オプションを使用して.backupファイルからデータベースを復元すると、次のエラーのいくつかが表示されます。 pg_restore: restoring data for table "arena" pg_restore: [archiver (db)] Error while PROCESSING TOC: pg_restore: [archiver (db)] Error from TOC entry …

7
別のSQL2008データベースへのテーブルの移動(インデックス、トリガーなどを含む)
1つのSQL2008データベースから別のSQL2008データベースへ、大量(100行以上)の大きなテーブル(数百万行)を移動する必要があります。 もともとインポート/エクスポートウィザードを使用していましたが、すべての宛先テーブルにプライマリキーと外部キー、インデックス、制約、トリガーなどがありませんでした(ID列もプレーンINTに変換されましたが、ウィザード。) これを行う正しい方法は何ですか? これがほんの2、3のテーブルである場合、ソースに戻り、テーブル定義(すべてのインデックスなどを含む)をスクリプトで出力してから、スクリプトのインデックス作成部分を宛先で実行します。しかし、テーブルが非常に多いため、これは実用的ではないようです。 データがそれほど多くない場合は、「スクリプトの作成...」ウィザードを使用して、データを含むソースをスクリプト化できますが、72mの行スクリプトはあまり良い考えではありません。

2
ユーザー/パスワード/特権のバックアップ/復元
あるサーバーから別のサーバーに移動し、MySQLサーバーからすべてのデータベース+ユーザー/特権/パスワードをバックアップしたい。を使用してデータベースをバックアップすることがわかりましmysqldumpたが、すべてのユーザーと指定された特権をバックアップする方法がわかりません。これを達成する方法はありますか、またはこれを新しいサーバーに新しく設定する必要がありますか?

1
大きなblobテーブルをmysqlからpostgresqlに移行する方法は?
現在、MySQLデータベースをPostgreSQLに移行しています。私が持っている1つのテーブル-実際には私のアプリで最も重要なテーブルを除いて、ほとんどすべてがうまくいきました(まあ、正しいmysqldumpパラメータなどのためにたくさんのグーグルをした後)。 テーブル構造は非常に単純です。 mysql> show create table samples; .. skipped ... CREATE TABLE `samples` ( `File_ID` int(11) NOT NULL, `File` longblob, PRIMARY KEY (`File_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=binary ただし、非常に大きい(> 20 Gb)。 mysqldumpの--hex-blobパラメーターを使用しようとしましたが、結果のダンプファイルをコマンドファイルとして使用しようとすると、この形式のデータはPostgreSQLで受け入れられません。私が試した別のオプションは、-tabオプションを使用してダンプを取得し、COPYコマンドでPostgreSQLに挿入することです-しかし、-hex-blobは--tabで動作せず、PostgreSQLはまだダンプファイルを受け入れません無効な文字です。 この問題に関してアドバイスをいただければうれしいです-カスタム移行ツールを書くことは結局悪い考えではないと思い始めていますが...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.