• ベストアンサー

SQLServerの容量管理について

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

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

デフォルトでは自動拡張になっています。テーブルを格納するデータファイルも自動拡張になっています。 データファイルの最大サイズを制限することや、データファイルサイズの監視は出来ます http://social.msdn.microsoft.com/Forums/ja/sqlserverja/thread/e48d0178-960a-4c03-ae3f-540ba7dc5dab 個別のテーブルについては、「sp_spaceused」と「sp_send_dbmail」を使って監視可能ですが、「sp_send_dbmail」はExpressEditionではサポートされないので、その場合は工夫が必要です。 「sp_spaceused」 http://msdn.microsoft.com/ja-jp/library/ms188776.aspx 「sp_send_dbmail」 http://msdn.microsoft.com/ja-jp/library/ms190307.aspx

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQLServerのデータ管理について

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

  • SQLServer7.0の一時テーブルについて

    いまどき、SQLServer7.0でAP開発している者です。 AP内で一時テーブル(#テーブル名、##テーブル名)を使おうと思っていますが、気になることがあります。 一時テーブルは、セッションが切れた時点で、自動的に、SQLServer側が作成した一時テーブルをDROPしてくれるとMSDN等に書かれてあります。 しかし、なんらかの障害がDBサーバとクライアント間で発生して、DROPされずに残ってしまうことはありますでしょうか?明示的にDROP文を発行した方が安全なのでしょうか。

  • クォータ管理が有効にならない(?)

    こんばんは クォータ管理について質問です。 例えば300GBのHDDに対して、上限を50GBと設定した場合に、「コンピュータ」の画面での容量もXP時代は上限の表示になったと記憶しているのですが、今Vistaで操作してみたところ元のHDD容量が表示されてしまいます。 何か操作が間違っているのでしょうか? 1.ドライブを右クリック>プロパティ>クォータ>「クォータ管理を有効にする」にチェック 2.超過したユーザーのディスク割り当てを拒否するにチェックし、上限容量を設定 3.クォータエントリを開き、現在ログインしているユーザーをエントリ、上限容量を設定

  • SQLServer ストアド レスポンス

    SQLServer ストアド レスポンス いつもお世話になります。 約100万件のテーブルから20行程度抽出するストアドがあります。 問合せ画面で使用していますが、通常は問題なくサクサク動くのですが、突然遅くなる時があります。 インデックスは付いてます。 そんな時、クエリアナライザで、直接ストアドを起動した後、再度画面から問い合わせると通常のスピードに戻ります。 ストアド直接起動時も最初は遅く、2回目以降は通常スピードです。 偶然なのかどうか調査中ですが、どなたかこんな経験&対処された方おりましたら、ご教授頂けないでしょうか。 SQLServer2000+VB.NETで開発してます。

  • サーバビューで性能監視(しきい値など)はできるのでしょうか?

    WindowsServer2003×2台でクラスタ構成を組んでいます。 運用として、CPUやメモリディスク容量などのしきい値を設定して そのしきい値を超えたらイベントログにメッセージを書き込む といったことを実現したいと思っています。 サーバビュー(あるいは類似したもの)でそういったことは実現可能でしょうか? 実現可能かどうか。できれば設定の仕方なども教えていただければ助かります。 よろしくお願いします。

  • SQLServerのテーブル定義書(?)を作るツールはないでしょうか?

    おはようございます。 プログラムからSQLServerのデータを使う必要があるのですが、 テーブル定義書(あるテーブルのフィールド名や型、サイズなど)を調べる必要がでてきました。 今まではEnterprizeManagerやAccessをViewerにするなどして中身を確認していたのですが、 テーブル数が60くらいありまして、それを一つずつ確認する手間をなんとか省けないかと考えています。 Internetで検索をかけると、 「SQLServer仕様書 根こそぎ情報収集」 http://www.vector.co.jp/soft/win95/business/se322755.html?g が一番近いようにも思うのですが、 こちらはWindows認証に対応していないようで、 そのままでは当方で使えません。 どなたか以下の条件に見合うツールをご存知の方はいないでしょうか? 1.SQLServerへの接続はWindows認証を使っている 2.テーブルの名称、フィールド名、型、サイズ、主キー設定、NULLの許可を一覧として出力できる 3.フリーソフトである(^_^;) 環境は Windows2003Server+SQLServer2000です。 よろしくお願いします。

  • ODBCでSQLServerテーブルが参照できない

    自宅のパソコンでSQLServerをインストールし、 それにデータベース・テーブルなどを作成し、VisuualStudioでC#/ASP.NETのアプリを開発しています。 今回、データベースのマスタをメンテナンスするツールをAccessで作成したいので ODBC接続の設定を行い、 Access側からリンクテーブルでSQLServerのテーブルを参照したいのですが SQLServverで作成したテーブルが一覧に一切表示できず、何かシステムテーブルのようなものだけが表示されます。 会社では上記のことが問題なく行えました。 会社で違うのは、SQLServerは別のサーバーマシン内にある点です。 自宅の場合、データベースサーバーも同じパソコンのため上手くいかないのでしょうか。 自宅でも効率よく作業したいので同じように環境構築したいのです。 何か、原因等わかる方がおられましたら ご教授願います。

  • SQLServer2008 がTCPポート1433を使えない

    OS:Windows Server 2008 でSQLServer2008をインストールし、当初は通常通り起動していたのですが、 1週間後、再度起動するとsqlserverのサービスが起動できなくなってしまいました。 ポートTCP1433が使えませんと表示され、 netstatでTCP1433を使用している(リスニング)PIDを調べて、タスクマネージャで確認すると、 wininit.exe というプロセスが使用しています。 一般にTCP1433はSQLServer用ですので、上記のプロセスが利用しているのは異常と思うのですが、この状況についてご存じの方、教えてください。

  • SQLServer2008R2 自動拡張について

    SQLServer2008R2で、DBとログに自動拡張の設定をした場合の パフォーマンス劣化について、質問いたします。 自動拡張すると、元の領域と拡張した領域がディスクの別々の場所に作成され、 ファイルが断片化した状態になると思うのですが、 これはデフラグを行うことで解消する、と考えてよいでしょうか。 また、データの追加・削除を繰り返すと、DBの中に 無駄な領域が増えると思いますが、これはSHRINKFILEを実行することで 解消しますか? 下記のような認識で、合っているでしょうか。 (1)データの追加・削除を繰り返し、DB領域が不足すると 自動拡張が行われる。 (2)自動拡張されたDBは、ファイルが断片化している。 また、DBをしばらく使うと、DB領域内でデータがまばらに入った状態になり、 パフォーマンスが劣化する。 (3)SHRINKFILEを実行することで、まばらになったデータを DB内の1箇所に集めて、無駄な領域を開放する。 (4)さらに、DBの物理ファイルがディスク上で断片化しているのを、 デフラグで解消する。 初心者のため、用語の使い方がおかしいかもしれず、申し訳ありませんが、 よろしくお願いいたします。

  • SQLServer6.5から2000へのアップグレードの詳しい方法

    SQLServer6.5から2000へのアップグレードを予定しています。 インターネットやマイクロソフトのナレッジなどで調べており、参考ページにある資料を見て読んではいるのですが、いまいち方法が良く分かりません。 例えば、tempdbの容量設定方法やDBCCの実行方法などが分かっておりません。 (SQLServer6.5の実機そのものは遠隔にあり、アップグレード時にならないと触れないため、アップグレードの時まで実画面を見る事すらできない状態です。) 何か、詳しくやり方が書いてあるページ(ウィザードとかの絵が記載されていればなおうれしいです)とか書籍とかはありませんでしょうか? また、実際にアップグレードを経験された方がいらっしゃいましたら説明いただけませんでしょうか。