ベストアンサー SQLServerのDBデータのディレクトリを移動したい 2008/09/09 23:15 SQLServerのDBデータ(ldf,mdf)のディレクトリを移動したいのですが、 可能でしょうか? 不可能であれば、移行する方法はあるのでしょうか? 新規作成してコピーなど。 みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー khazad-lefty ベストアンサー率44% (296/668) 2008/09/10 09:19 回答No.1 エンタープライズマネージャが使えるなら 1.対象のデータベースを右クリックで、デタッチ 2.ファイルを移動 3.データベースフォルダ(上記1の1階層上)を右クリック、アタッチ でいけるんじゃないかと。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピューターデータベースSQL Server 関連するQ&A SQLServer2000から7.0への移行 SQLServer2000で構築したデータベース(mdfファイルとldfファイル)をSQLServer7.0にアタッチ機能(クエリアナライザで「sp_attach_db」を実行して)で移行させようとしましたが、「ldfファイルのヘッダーが有効でありません。PageAuditプロパティが不正です。」とのエラーメッセージが出て、実行できませんででした(ちなみにPageAuditの意味もわかっていません)。 ご質問なのですが、そもそも2000で構築したデータベースは、7.0のアタッチ機能で7.0への移行は無理なのでしょうか。それとも、当たり前かもしれませんが、2000のldfファイルの構造そのものが違い、7.0で認識させるのは、不可能なのでしょうか。 お忙しいところすいませんが、よろしくお願いします。 教えて下さい。 データ圧縮 SQLServer2000にデータ量の大きなテーブルがあり、 そのデータ量を大幅に減らして、 圧縮をかけてもldfやmdfファイルは小さくなりませんでした。 圧縮前にページを先頭に移動や 個別に圧縮などをしてもファイルサイズは変わりませんでした。 圧縮をかける前になにかしないとデータ領域は小さくならないのでしょうか? ldf,mdfという拡張子のデータ SQLServerのProgramfileの中に ldf,mdfという拡張子のデータがあります。 データ量が多くなってきているので、 これを削除したいのですが、 可能でしょうか? ちなみにこれはどのようなデータなのでしょうか? ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム SQLServerのデータをPostgreSQLに移行 SQLServer上にあるデータをPostgreSQLに移行するのによい方法はありますか?データの移行のみでテーブル構造は既にPostgreSQL上で作成(SQLServerのテーブル構造とほぼ同じ)しているので移行しません。 現在CSVで入出力することを考えていますが、これよりもっと簡単にできる方法や、ソフトがあれば教えてください。 SQLserver2005⇒2012へ移行 現在SQLServer2005 の WorkGroup を使用しています。 現在のPCでは処理が遅い為、新たにPCを新調し、更にSQLServer2012 Standardも購入する予定です ここで質問なのですが、 SQL2005で作成したテーブルのファイル「○○.mdf」と「○○.ldf」は SQL2012でも読み込むことは出来るのでしょうか? もっと単純に言うと SQL2005で使ってたHDを抜いてSQL2012をインストールした新PCに繋げて アタッチすればそのままSQL2012で使うことはできるのでしょうか? AccessとSqlServerのテーブルリンク Access2007とSqlServer2008を使用しています。 Accessで作成したテーブルを「データベースツール」-「データの移動」でSqlServerに移行してリンクする際、 (1)SqlServerに新規にデータベースを作成すると、リンクテーブルマネージャから見てもリンク先DBが正しく表示されますが、 (2)その後、その既存DBに同じAccess内の別のテーブルを、「データベースツール」-「データの移動」してリンクしたものは、リンクテーブルマネージャから見てもリンク先DBが ()となっており表示されていません。 ツールとしてSqlServer Management Studioを使っていますが、そこからでも(1)のテーブルは表示されていますが、(2)のテーブルは表示されません。 でもリンクはできているようなのです。 また、SqlServer Management Studioを使って、SqlServer内に新規テーブルを作成し、 それをAccessからリンクしようとしても、テーブルリンク一覧内に表示されない状態です。 (「外部データ」-「ODBCデータベース」…)にて SqlServerのファイルデータソースを表示しています) (2)のテーブルはSqlServer Management Studioから見ることができないため、更新・削除もできず困っています。 DB、テーブル、リンク方法等、何か問題があるのでしょうか? よろしくお願いします。 SQLServer7.0のLDF圧縮 お世話になってます。 あるサーバー(サーバーA)上のSQLServer7.0で作成したバックアップファイルを 復元先のサーバー(サーバーB)に復元したところ、MDFファイルが3GBに対し、 LDFファイルが100GBありました。 LDFファイルのサイズを圧縮しようと、SQLServer7.0のメニューで、 1. フルバックアップ 2. トランザクションログの切り捨て 3. 圧縮 ※以下「1.」、「2.」、「3.」を何度か繰り返し。 を行ってみましたが、300MB程度減っただけで、それ以上は小さくなりませんでした。 SHRINKDATABASE や TRUNCATE も試してみましたが、サイズ、変わりませんでした。 他に試すことはありますでしょうか? sp_attach_db実行のバッチファイル作成 同じデータベースをコピーするというルーチンワークを処理するために,Query Ananyserで実行するsp_attach_dbをバッチファイルで処理したいと考えています。 copyコマンドでマスターとなる物理データベースをコピーした後に,osqlコマンドを使用して出来るかと考えたのですが,osql -E を実行するところで止まってしまいます。 現在作成しているバッチファイルには下記のように書いています。 copy D:\Test_xx.mdf D:\Test_00.mdf copy D:\Test_xx.ldf D:\Test_00.ldf osql -E sp_attach_db 'Test_00', 'D:\Test_00.mdf', 'D:\Test_00.ldf' go 何とか自動でデータベースがattachされるようにしたいのですが,どなたか御指南下さい。何卒宜しくお願い申し上げます。 ASP.NETでApp_Dataの中の*.mdf、*.ldfを自動で定期的にバックアップするには? 現在ASP.NET2.0とSQLserver2005にてWEBページを作成・勉強しております。 そこで、ASP.NETのテキスト通りに作成したところ、App_Dataという フォルダに*.mdfと*.ldfというデータベースデータが作成されました。 このデータを深夜3時に自動でバックアップしたいのですが どのようにしたらよろしいでしょうか? また、自動ではなく、手動でコピー&ペーストしようとしても「他の人、 またはプログラムによって使用されています」とでてコピーできません。 ということはデータベースをいったん停止(デタッチ?)してから、 コピー&ペーストして、コピーが終わったらデータベース再開する必要がある気がします。 どのように実装するのが良いのでしょうか。宜しくお願いいたします。 SQLServer 2008へ移行 現在、SQLServer2000を使って社内システムを構築しています。 サーバーのハード保守切れに伴い、 SQLServer2008へ移行しようとしています。 現在の環境は、 OS Windows2000Server DB SQLSERVER2000 アプリ Windows2000Server VB 6.0で作成 (Ctrix社のMetaFrame) となっています。 DBの部分のみ、変更しようとしています。 ハード 64bit Windows2008Server ソフト 64bit SQLServer2008R2 移行に関して、 (1)2000で使っていたDBファイルをアタッチ、デタッチで丸ごと移行できるのか? (2)アプリの接続部分に変更しなくてはならないのか? (アプリのコンピュータ名は、同じにします。) 詳しい方、ご教授願います。 SQLServerのDBをクリアにする方法 SQLServer2005で作成したDBに対して、幾つかテーブルを作成しています。これらのテーブルは残したまま、その他をすべてDBを新規作成した時の状態にクリアすることはできるでしょうか?テーブルが存在するために必要な情報は留保します。 ディレクトリのファイル作成を監視する? ディレクトリに、データファイルを保存するプログラムを作成しました(perl)そのディレクトリに出力されたファイルを直後にDB登録したいのですが、どのような方法があるのか?考え中です。イメージですが ディレクトリを監視して、ファイル作成されたらDB登録する。 というようなことが、出来るでしょうか? OSはRedhat DBはpostgresなのですが、いい方法ありましたら、よろしくお願い致します。 そのディレクトリは他のプログラムでも参照してるため、消したり移動出来ない事と、ファイル作成された直後に登録したのです。。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム LDFとMDFの管理 誤って物理的にLDF削除してしまった場合に、残っているMDFでなんとか再アタッチしてLDF作成したいのですが。 通常は、LDFが認識せず、アタッチ不可。 LDFファイルとMDFファイルの関連付けは、どのDBで管理されていますか?masterの中と思いますが。。。 この関連付けさえ、修正すればなんとか復旧可能になるものでしょうか? SQLSrv2008R2 データサイズの測り方 複雑な勘定系システムで使用されるSQLServer2008R2のデータベースを構築をすることになりました。現在HDDの選定をしている段階です。DBの必要ディスクサイズが分からず苦戦しております。 勘定系システムが複雑なもので、仕様を把握している人員がおらず、1伝票データを投入した際のデータサイズを測定するのに、関連するテーブルを全て洗い出し、全カラムごとのサイズをもとに計算ということができません。 ある伝票データを登録したさいのデータサイズを測るために、1万件のデータを投入した際のデータサイズを測り、それをもとにざっくりとした必要サイズを計算しようと考えました。 しかし、データ投入後DBのサイズは変更されません。 DBの自動拡張設定はMDFもLDFも1MBごとに自動拡張としています。 試しに2MBのテキストファイルを投入しましたが、それでもDBのサイズは変わりません。 確認の仕方は、ManagementStudioのDBメニューであるレポートからディスク使用量を表示して確認、およびエクスプローラからMDF、LDFファイルのサイズを目視確認です。 サイズが変わらないのは自動拡張の設定に誤りがあるからでしょうか? お分かりになる方がいらっしゃいましたらご教示いただきたく。 SQLServer の DB を、VB2005 で作成したアプリから作りたい こんにちは。 APサーバにVB2005 DBサーバに SQLServer 2005 という環境で動作する自作アプリケーションがあります。 このアプリを新規の環境にセットアップする際には、 1. DBサーバにSQLServer をインストール 2. SQLServer Management Studio で、データベース作成 3. 同じくテーブル作成。 4. APサーバにアプリケーションをインストール 5. 動作確認 という流れになりますが、セットアップの為に 技術者が必要になってしまいます。 そこでエンドユーザが簡単にセットアップできるように 2.と3. を、セットアップ用プログラムから 自動で走らせたく思っています。 APサーバ上で動くプログラムで、 DBサーバ上のSQLServer内に「hogehoge」というデータベースを 作成するにはどのように記述すれば良いのでしょうか。 宜しくお願い致します。 SQLServer2000からSQLServer2005へのデータ移行 SQLServer2000からSQLServer2005へのデータ移行方法 Microsoft SQL Server ManagementStadio Expressで SQLServer2000のバックアップファイルから、 ローカルの開発環境(SQL Server2005 Express)でデータベースを復元しようと試みましたところ、 復元が正常に出来ませんでした。 復元はエラーが発生せず完了しデータベースは作成されているのですが、 データベースを右クリックで削除やプロパティを見ることもできず、 どのようなテーブルが存在するのか中身の参照も追加も何もできない状態です。 http://qanda.rakuten.ne.jp/qa4183273.html 上記URLなどでSQL Server2000のバックアップから2005で復元しているような発言がされているので 可能だと思うのですが、何か特別な処理が必要なのでしょうか? ご存じのかた、教えていただけますようお願いいたします。 2つのMDFファイルをattachさせたい。 別々のテーブルが入った二つのMDFファイル(A.mdf,B.mdf)があります。 いまsp_attach_dbを使ってサーバーにアタッチしたいのですが「ファイルを別のデータベースに関連付けることはできません。」と出来ませんでした。 sp_attach_dbのヘルプには「ファイル名は最大 16 個まで指定できます。」と書いてあるので出来ると思ったのですが・・・。初心者なのでもともとの考え方がずれているのでしょうか・・・。 SQLは以下の通りです。 --------------------------------- sp_attach_db @dbname = 'Test', @filename1 = 'C:\aaa\Data\A.mdf', @filename2 = 'C:\aaa\Data\A.ldf', @filename3 = 'C:\aaa\Data\B.mdf', @filename4 = 'C:\aaa\Data\B.ldf' --------------------------------- もし、これが出来ない時はBファイルのテーブルを Aファイルに移動したいのですがどのようにすれば できますでしょうか。 まったく初心者で途方にくれています。ご教授よろしくお願いします。 ARCserve データベースの移動 C:(システム)ドライブの空容量が少なくなってきたので、 ARCserveの(バックアップを管理するための)データベースを移動したいのですが、 以下の方法ではうまく動作しませんでした。 【試した方法】 ARCserveの標準データベース(VLDB)を 別サーバ上にある(ARCserveがインストールされているサーバーにはSQLserverは入っていないので)SQLserverへ移行した。 ・マニュアルに従い、ARCserveインストール先にあるSQLsetup.exeを実行し、SQLserverにDBを移行。 ・SQLserver上にSQLserver認証ユーザーを新たに追加して、DBへのアクセス権限を持たす。 ・サーバー管理マネージャーの「MS SQL アカウント設定」に追加したユーザーを登録。 しかし、DBへのログインができず、 以前DBを書き込んでいた場所に、何かしらアクセスしている状況です。 ARCserveは、Cドライブから移動できればどこでもかまいません。 何かしらの手立てでデータベースの移動をされた方がいらっしゃいましたら、手順を教えてください。 よろしくお願いします。 accessからsqlserverへのデータ移行について・・・ access2007からSQLSERVER2008へのデータ移行を考えています。 そこでお聞きしたいのが・・・ テーブルの設計/フィールド名/データ型などが以降先では若干変わり、テーブルデータすべてが必要になるわけでもありません・・・ こんな状態ですが、一番良い方法はどんな移行方法でしょうか・・・ おせーてくらはい・・・。 SQLServer 2008のインスタンス間DBコピーの方法を探してい SQLServer 2008のインスタンス間DBコピーの方法を探しています。 インスタンス1とインスタンス2に同じテーブル構造(名称も同じ)のDBを用意しています。 インスタンス1のDB(以下、DB1)をインスタンス2のDB(以下、DB2)に コピーする方法を模索しています。 SQLServerのバージョンは2008で、Standardです。 できればDB1を止めることなく、DB2にコピーできるよう考えています。 ご存じの情報がありましたら、教えていただければと思います。 よろしくお願いします。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター データベース SQL ServerOraclePostgreSQLMySQLNoSQLその他(データベース) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など