Date: Sat, 4 Mar 2006 20:14:12 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です。今晩は
(タイトルを変えました)
-----Original Message-----
From: Kohichiroh Ohta [mailto:who@example.co.jp]
Sent: Friday, March 03, 2006 5:42 PM
To: who@example.ne.jp
Subject: [ml-msde-beg:01783] Re: プライマリファイルグループがいっぱい
>> サーバールームが破壊された場合を考えて、バックアップテープを
>> 各役員が玉突きで管理しています。
>
>これは、面白い方法ですね。
>いろいろとアイデアを絞ってらっしゃるのですね。
災害等、何が起きるか見通せない時代ですから、中小企業はあまりコストを
掛けずに、いろいろやっています
しかしセキュリティリスクも増大することを説明しても、なかなかそのリスクに
対しては、お金を掛けないところが多いですね
>> 本来なら、データセンター等にサーバーを預けて、万全な体制を
>> 取ればいいのですが。。。。
>
>これは、実際にされたことはありますか?
>メンテナンス等はどうなるのでしょう?
>遠隔操作が出来るようになっているのでしょうか?
>費用もかかるのではと思いますが。
様々な業者が、多くのメニュープランを提供していますので、費用も
安いものから高いものまで、いろいろあります。
「ハウジング」で検索すると、いろいろな業者が見つかります。
一番のメリットは、サーバーを手元に置かないということです
物理的な盗難や、災害等から、サーバーが守られている安心感があります。
また、サーバー本体のセキュリティが向上します。
デメリットとしては、サーバーハードウェア等のメンテナンスがやりにくい。
データセンターに出向いて行なうか、センターの人に依頼する必要があります。
遠隔操作?までの大袈裟な設定はあまりしません。
もともとデータベースサーバーは、TCP/IPで接続できますから、データベース
サーバー本体のメンテナンスでは、Enterprise Managerなどが使えれば
問題ありません。
Windows認証を行なったり、ファイルサーバーも一緒に預けるよう場合は、
リモートデスクトップなど、遠隔操作が必要になります。
例えば
Windows Server 2003による無償ASP.NETホスティングサービス
http://europe.webmatrixhosting.net/japan/default.aspx
上記に加入すると、10MB程度のデータベースを作ってくれますが、そこへの
接続は、自分の手元から、TCP/IP接続で行ないます
このようなデータベースサーバーが借りられると考えれば、よいと思います。
もちろん、サーバーのハードウェア等は、自分で準備してデータセンターに
預けるか、センターの設備を借ります。
センターへの通信は、様々な手法で、暗号化を行ないます。
上記のような、共用サービスではありません。
#上記のサーバーに接続して、
# select name from master.dbo.sysdatabases
#を実行すると、共用しているデータベース名がわかります。
# また、
# select name from master.dbo.syslogins
#を実行すると、ログイン名がすべてわかります。
#password列は、セキュリティ権限が無いので、表示できません。
#ログイン名がわかるので、総当り攻撃は可能です。
#一般ログイン者は、tempdbをパンクさせることもできます。
# 上記サーバーの各種セキュリティの設定状態を、一般ログイン権限で
# 許可される範囲内で、いろいろ調べることをオススメします。
# 勉強になります。
#上記を使って遊ぶとわかりますが、SQL Server 2000 で
# 共用サービスを提供するのは難しいことだと思います
>> サーバーケースの中に増設DISKのスペースがあれば、DISKを
>> 入れておくのも良いかもしれません。
>
>これは耐火金庫用のバックアップとは別に
>保険として用意するディスクと考えてよろしいですか?
もちろん、別です。
保険として考えてもよいでしょう。
USB接続のハードディスクが壊れても、内蔵の方が生き残っている。
バックアップで一番怖いのは、バックアップしたメディアが壊れて役に
立たなくなっていることです。
テープではたまに起こりますが、ハードディスクでは大丈夫だとは思います
しかし、USB接続ですから、電源が入ったり切れたりしているので、
電源が切れた後に、すぐにDISKを動かしたりして、壊れるという危険が
あります。
RAID等のHDD交換でも、コネクタを外した直後に30秒数えるのは
DISKの円盤の回転が止まるまで待つようにするためです。
USB接続のハードディスクも同様に、電源が切れても、少々待つのが
よいと思います
>> いろいろな知恵を使って、データベースのバックアップ戦略を
>> 考えるのが、DBAの楽しみ?とも言えるかも知れませんね
>> 頑張って下さい
>
>SQL-Serverは本当にバックアップに力が入っていると思います。
>オンライン・バックアップなんて初めて実行したときは感動しましたし
>トランザクション・ログで壊れる直前まで戻せることを知った時は
>すごいなと思いました。
データベースサーバーとしては、当然と言えば当然な機能なのですが、
それをある程度の制限はありますが、無償で使えるということは驚きだと
思いました。
現在は、無償のデータベースサーバーがいろいろ登場しているので、
もう驚かないですが。。。。
素晴らしいのは、MSDE2000でも、トランザクションログ管理を有効化する
ことによって、データファイルが破壊されても、確実に復旧できることが
良いですね。
これが復旧モードが、「シンプルだけ(ログの切捨て)」しか提供されなかったら
あまりオススメできないですが、それでも、1トランザクション管理は行います。
Accessで、
delete from table where 〜
を実行中に電源断等の障害が発生したらほんとに困りますが、MSDE2000は
deleteする前の状態に戻されるので、良いですね
この辺の信頼性が、データベースサーバーとしての役割だと思います。
勘違いが起きるのは、
「データファイル(*.mdfや*.ndfファイル)の破壊」
から、データベースを壊れる直前まで復旧することが可能ということであり、
「トランザクションログファイル(*.ldf)の破壊」
から、データベースを復旧することはできません。
ですから、トランザクションログファイルは、何が起きても、壊れちゃ
いけないのです。
その性質から、トランザクションログファイルは、RAID-1など、ハードウェア
装置によって、ミラーリングされるようなところに作成しておくことが大事です。
それが守られれば、例えば、私はまだ使ったことが無いのですが
http://www.gigabyte.co.jp/nippon/i-ram/iram-m.html
ギガバイトのこのRAMの中に、MSDE2000のデータファイルを入れておく
という手法も考えられます
最大4GBのメモリが増設できるので、MSDEのデータベースサイズ(2GB)が
余裕で入ります
上記は残念ながら、32ビットPCIなので、バスの制約を受けるため、
Ultra320には、勝てないみたいです
PCI-Xや、PCI-Express対応が出ると面白そう。
信頼性等の問題はわかりませんので、使われるときは、十分に
耐久検査して下さい。
># データベースファイルのバックアップは普段osqlを使って
># 実行するようにアプリケーションに組み込んでいます。
アプリケーションからバックアップを実行することは、規則正しくバックアップが
行なわれる保証が無いので、手動バックアップよりは、自動バックアップジョブに
した方が良いです
もちろん、運用しているデータベースの、会社内での位置付けも考慮する
必要があります。
そのデータベースが動かないと業務が止まって非常に困るのか、ある程度の
ダウンは別に支障が出ないのかなど、データベースの運用状態によって
バックアップ戦略(バックアップ方法)を考えて下さい
バックアップ戦略を考えるときは、復旧作業に要求される時間などから、
逆算します。
ハードウェアが壊れて動かなくなったときに、1分以内に、復帰する必要が
あれば、それはバックアップ戦略と言うより、クラスタリングやクローンの
世界になってきます。
1時間以内に動かしたいのか、3時間なのか、半日なのか、1日なのか。。。
データベースが動かないときの、業務停止の許容時間から、バックアップ戦略や
サーバー予備機等の準備が決まります。
また、どこまで壊れることを想定するかも大事です。
例えば、
データベースのファイルの中身が壊れるのか?
NTFS等のファイルシステムが壊れて、結果的に、データベースが壊れるのか?
物理的にハードディスクが壊れるのか?
ハードディスクを接続しているRAIDカードが、物理的に壊れたのか?
サーバーのマザーボードが壊れたのか?
などなど、
どこまでの被害であれば、どのような事前対策をしておく必要があるのかを
設計し備えておく必要があります。
ハードディスクが壊れたときは、予備DISKに交換し復旧に1時間掛かるとか、
マザーボードが壊れたら、最大2日間は、業務が止まるとか、
それぞれの障害対応作業と、会社としての事前了解が必要です。
発生する障害ごとに、事前の準備作業と、復旧手順を、表にまとめておくと
慌てずに済みます
業務を2日間も止められないと言うのであれば、予備機を購入しておく
必要があります。
このような起こり得る障害とその影響などについて、システム管理者が、
事前に会社に正しく説明し、了解をもらっているかどうかだと思います。
ただ現実は、なかなか予算を取ってくれないので、DBA管理者としては、
厳しい毎日を送ることがありますが、その場合でも、バックアップだけは
こまめに実行したいのですが、サーバーに負荷が掛かって出来ないときは
誰が責任を取ってくれるのか???
------------------------------------
Epata-IT/日本技術ソフト開発
堀川 明 (Akira Horikawa)
03月04日(土曜日) 20時13分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|