• ベストアンサー

SQLServerのデータ管理について

SQLServer7.0を使用しております。 あるテーブルで、3ヶ月以上前のレコードに関しては 自動的に削除したいと考えております。 そこでPGを作成し、バッチファイルとして処理をさせ 上記のような管理が出来ればと考えました。 しかし、そんなPGをわざわざ作らなくても SQLServer自体でなんとかならないのかなと。。。 そこで質問なのですが、SQLServer自体で このような管理が出来る機能、設定はないのでしょうか? 何かご存知の方がいらっしゃいましたらご教授願います。

  • Y_Y
  • お礼率96% (137/142)

質問者が選んだベストアンサー

  • ベストアンサー
  • Hk2001
  • ベストアンサー率48% (24/49)
回答No.1

SQL エージェントのジョブを使えばよいかと思います。 >3ヶ月以上前のレコードに関しては >自動的に削除したいと考えております。 そこまでしなくても 月に一度か週に一度自動指定ジョブが実行されるようにすれば パフォーマンス面でも問題ないかと思います。

Y_Y
質問者

お礼

SQLエージェントというものを使用したことが無いので調べてみました。 規定の構文を使用してジョブを作成し、実行させればいいわけですね。 早速取り組んでみます。 ご回答ありがとうございました。

関連するQ&A

  • SQLServer2000からSQLServer2005へのデータ移行

    SQLServer2000からSQLServer2005へのデータ移行方法 Microsoft SQL Server ManagementStadio Expressで SQLServer2000のバックアップファイルから、 ローカルの開発環境(SQL Server2005 Express)でデータベースを復元しようと試みましたところ、 復元が正常に出来ませんでした。 復元はエラーが発生せず完了しデータベースは作成されているのですが、 データベースを右クリックで削除やプロパティを見ることもできず、 どのようなテーブルが存在するのか中身の参照も追加も何もできない状態です。 http://qanda.rakuten.ne.jp/qa4183273.html 上記URLなどでSQL Server2000のバックアップから2005で復元しているような発言がされているので 可能だと思うのですが、何か特別な処理が必要なのでしょうか? ご存じのかた、教えていただけますようお願いいたします。

  • SQLServer サイレントインストール

    SQLServer Expressを自動インストールするバッチファイルを作成しました。 処理の流れは (1)インストール (2)MDFのアタッチ となっています。 ところが(2)が失敗します。 sqlcmd を使ってアタッチをしているのですが、 「操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 となります。 ところが再度(2)の処理だけを実行すると成功します。 つまりインストールは成功しており、sqlcmdは使えるはずなのです。 処理が連続しているのが問題化と考え、コマンドを別ウインドウを立ち上げたり しましたが無理でした。コマンドでスリープも出来ないようです。 解決法をご教授願います。 環境 WindowsServer2008Standerd SQLserverExpressR2SP1 with Tools

  • SQLServerの容量管理について

      SQLServer2005の一般的な容量管理について教えて下さい。 ・テーブルは通常は自動拡張されるものなのでしょうか? ・テーブル容量の上限値を設定しておいて、たとえばしきい値として80%超えとなったら  イベントログのほうに警告を出すなど可能でしょうか?

  • SQL Serverの機能で

    お世話になります。 SQL Serverのテーブルに導入時刻を記入した"Time_Stamp"項目を設けてあります。 この"Time_Stamp"項目が システム時刻より10日以前の ものの場合、自動的にそのレコードが削除される機能を 実現したいのですが、どんな方法があるのでしょうか? バッチファイルを作成し、タスクとして実行させる方法 以外、SQLServerの機能でなにか方法がありますか? どなたか知恵を貸してください。

  • SQLServer2005のテーブル作成について

    こんにちわ。 いまSQLServer2005Expressをダウンロードして, データベースを作成し,そこにテーブルを作成しようとしています。 そこで「SQLServer Managemant Studio Express」を使用すれば, 一応テーブルを作成することができるのですが, テーブル定義のスクリプトを作成して, OracleのSQL*Plusのようなコマンド機能から実行したいのですが, SQLServerではそれはどの機能にあたるのでしょうか? 教えてください。よろしくお願いします。

  • PHPとSQLServerにて

    おはようございます。 質問させてください。 今PHPでSQLServerのデータを抽出してWEBで表示するアプリを作成しています。 SQLServerに格納されている本番テーブル(honban_tbl)はかなりのレコードが 格納されていて、テストテーブル(test_tbl)には本番テーブルの 約50分の1の大きさにしてあります。 参照先をtest_tblにすると問題なくデータを表示するのですが、 honban_tblにするとかならずエラーになります。 -------エラー内容---------- MS SQL: Query failed in d:\test\・・・ -------------------------- この原因は (1)honban_tblが大きすぎる (2)honban_tbl内のデータに壊れているものがある (3)スクリプトに問題がある (4)処理時間に問題がある 上記の理由がかんがえられるのですが、 それ以外にもなにかご存知の方いらっしゃいましたら、 宜しくお願いいたします。m(_ _)m

    • 締切済み
    • PHP
  • SQLServerでビューを使用したデータ更新

    SQLServer2012でのビューを使用したデータ変更(追加・変更・削除)は どこまで可能でしょうか? 1.ビューのデータ変更を行う場合複数テーブルのデータを   変更することは可能でしょうか? 2.上記の変更の際の条件や制限事項はありますでしょうか? 3.上記を回避する方法などありましたらご教授ください。 未熟者で的を得ていない質問となっているかと思いますが、 ご教授いただければ幸甚です。

  • バッチより実行されるSQLについて

    あるバッチファイルからSQL文を実行します。 SQLの内容を簡単に申し上げますと テーブルAにレコードが1件存在したときは、 テーブルBを削除する。 テーブルAにレコードが2件存在したときは、 何もしない。 バッチファイルには、後続の処理もあるのですが 割愛します。 ここで質問なのですが、レコードが2件存在した とき、バッチの後続処理を実行させずに、そこで 処理終了とさせたいのですが、方法はあります でしょうか? SQL内でバッチのエラーレベルのようなものを 渡せたら、解決できそうなのですが、方法が わかりません。 説明があいまいでわかりにくいかもしれませんが 何か方法がありましたら、教えてください。

  • SQLServerもしくはActiveDirectoryでレコードアクセスの記録をとりたい

    Winsow2003Serverで2台でドメインとサブドメイン1つのActiveDirectoryを構成しています。サブドメインにはすべてXPでクライアントが約20台、ドメインを構成しているサーバの中には、SQLServer2005をいれています。クライアント上のAP(VBで作成)からドメインサーバのSQLデータを追加、更新、削除しています。 個人情報保護法の関係で、どのクライアントがいつどのレコードにアクセスしたか、を記録するようにある機関から指導をうけました。 SQLServerのテーブルレイアウトをいじったり、APを修正する以前に、SQLServer、もしくはActiveDirectoryの機能で、上記のような事ができないでしょうか。 ご存知の方、よろしくお願いします。

  • SQLserver2005⇒2012へ移行

    現在SQLServer2005 の WorkGroup を使用しています。 現在のPCでは処理が遅い為、新たにPCを新調し、更にSQLServer2012 Standardも購入する予定です ここで質問なのですが、 SQL2005で作成したテーブルのファイル「○○.mdf」と「○○.ldf」は SQL2012でも読み込むことは出来るのでしょうか? もっと単純に言うと SQL2005で使ってたHDを抜いてSQL2012をインストールした新PCに繋げて アタッチすればそのままSQL2012で使うことはできるのでしょうか?