SQL Server 2005 と sql 2000 の間のデータ変換方法
SQL SERVER 2000の2005は、パフォーマンスとセキュリティが強化され、多くの企業で2005が採用され、また2000と2005を同時に使用しているユーザーもいるようです。
今日は、その実装について見ていきましょう。
私の実装環境の紹介です。
方法1:分離して追加する この方法は、SQL Server 2000からSQL Server 2005にデータを変換するのに適していますが、その逆はできません。
例えば、今SQL SERVER 2000からSQL SERVER 2005にDUFEIデータベースを分割して追加する方法でインポートしてみましょう。
ステップ1:2000のマシンで、実行します。
USE master;GO
EXEC sp_detach_db @dbname = N'dufei';GO
ステップ2:切り離されたMDFとLDFファイルを2005マシンにコピーします。
ステップ3:2005マシンで次のコマンドを実行するだけです:コピーしたファイルをデータベースに添付します。
USE master;Go
EXEC sp_attach_db @dbname = N'dufei',
@filename1 = N'c:\dufei_data.mdf',
@filename2 = N'c:\dufei_log.ldf'; GO
この時点で、インポートが成功したことになります。
方法2:バックアップと復元を使用する。
例 2000年のDB1データベースをバックアップし、リストア方式で2005年にインポートしたところです。
ステップ1:SQL 2000で、実行します。
バックアップデータベースDB1をdisk='c:╱DB1.BAK' にバックアップします。
ステップ2:バックアップファイルをSQL 2005マシンにコピーします。で、できたDB1.BAKをもう一台のマシンにコピーします。
ステップ3:SQL 2005マシンで、実行します。
リストア データベース db1 from disk='c:\db1.bak'
パスの関係でデフォルトでは動作しません。つまり、RESTOREのデフォルトの構文を使用すると、動作しないことになります。
そこで、パスを変更する必要があります。
RESTORE DATABASE db1 FROM DISK = 'C:\db1.bak' WITH FILE = 1, MOVE N'db1_Data' TO N'c:\Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb1.MDF', MOVE N'db1_Log' TO N'c:⽋⽥Program FilesMicrosoft SQL ServerMSSQL.1MSSQLdb1_1.LDF'
すると、リストアが成功しました
ただし、この方法で2005から2000にデータをインポートしている場合は、エラーが報告されます。
バックアップまたはリストア操作に指定できるデバイスの数が多すぎます。指定できるデバイスは64個だけです。
サーバーです。メッセージ 3013、レベル 16、ステータス 1、行 1
RESTORE DATABASE 操作が異常終了しました。
そのため、以下の2つの方法を使用しない限り、どちらの方法でもSQL SERVER 2005からSQL SERVER 2000へのデータインポートはできません。
方法3:インポート・エクスポート。
例 データベースDUFEIを2005からSQL 2000にエクスポートする場合
ステップ1.
成功!
SQL 2000 から SQL 2005 へのインポートでは、この逆も可能です。例えば、PUBS を 2005 にインポートする場合
方法4:スクリプトを使用する。個人的にはこの方法はお勧めしません。なぜなら、このプロセスではまだデータのインポート/エクスポートを使ってデータを変換する必要があるからです。つまり、お互いのデータベースにレコードをインポートする際にもスクリプトを使うことはできず、まだ他の方法を使わなければならないのです!このような場合、スクリプトを使うことができます。データベース内にトリガーやストアドプロシージャなど、より多くのオブジェクトがある場合は、スクリプトとデータのインポート/エクスポートを組み合わせて使用することを検討できます。
これはあくまで個人的な感覚なので、正しいかどうかは分かりませんが、ご批判いただければと思います
この記事は、杜逢のブログから転載しました。
関連
-
SQL Serverは、SET FMTONLY ONでテーブルのメタデータを取得する
-
Management StudioでWebブラウザを使用したSQL Server
-
SQL2005インストール時のバージョン変更チェックでSKUPGRADE=1が発生する問題の解決法
-
SQLserverにおけるdeclare変数の使用法
-
Sqlserver 2005のログファイルが大きすぎる削減する方法
-
SQL ServerでTRUNCATEトランザクションをロールバックする方法
-
SQL Server のテーブルに CSV ファイルをインポートする方法
-
SQL Server 2005のデータベースでtempdbの場所を変更する方法
-
SQL Server 2005 の SQL 文の時限実行方法について
-
SQL Server モバイルシステムデータベース
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL Server 2005のすべてのテーブルで、特定のカラムを検索する方法
-
sql server null を設定するためのいくつかの提案
-
SQL server 2005で自動番号フィールドを設定する方法
-
WIN7でSQL Server 2005 Express Edition(Lite)のインストールと設定
-
SQL server 2005 をインストールすると、32 ビット ASP.NET は既に登録されているので、64 ビットのソリューションを登録する必要があるとの警告が表示される。
-
SQL2005ExpressでACCESSのデータベースをインポートする2つの方法
-
JDBCからSql Server 2005の概要
-
win2003 ServerでSQL Server 2005のリモート接続を設定する方法
-
sql2005 ローカルコンピュータの SQL SERVER サービスが起動し、その後停止する 解決方法
-
SQL2005のプロバイダです。名前付きパイププロバイダエラー。40 SQL Server への接続を開くことができません