[運用] SQL Serverミニマム管理Q&A 第1回 SQL Serverのインストールをチェックする 1.インストールされているSQL Serverの確認 デジタルアドバンテージ 打越 浩幸2012/02/23 |
|
|
今回から始まるこの連載では、SQL Serverシステムの管理方法について、主にビギナー管理者向けのトピックについて取り上げる。バリバリのSQL Server管理者ではなく、どちらかというとSQL Serverについてはよく知らないし、データベースについてもそれほど造詣の深くないシステム管理者に向けて、SQL Serverシステムを管理するための情報を提供する。
現在ではさまざまなデータをSQL Serverをはじめとするデータベース・システム上に保存することが少なくない。ちょっとした社内の業務用アプリケーションであっても、最近ではデータベース・システムに情報を集約して活用している。この結果、SQL Serverの利用シーンや重要性はますます増加している。SQL Serverシステムが止まったり、パフォーマンスが大幅に低下したりすると、たとえ社内用途であっても、業務に甚大な影響を与えることになる。システム管理者にとっては、SQL Serverシステムの管理も重要な業務の1つである。
SQL Serverもコンピュータ・システムの一部である以上、ある程度のメンテナンスは必要である。常日頃、正常に動作しているか、パフォーマンスは問題ないか確認し、ディスクの空き容量が不足したり、エラー・ログがあふれたりしている場合は、原因を調査して対応したり、必要なら新しいシステムへの移行を考えるなどの対策が必要だ。
とはいえ、SQL Serverはそれ自体が非常に大規模で複雑なシステムである。その性能を最大限発揮させたり、クラスタを組んで信頼性を高めるようなシステムを構築したりしようとすると、SQL Serverやデータベース・システムに対する深い理解が必要となる。Windowsのファイル・サーバなどのように、GUIのツールを使って操作していれば、「それなりに」「なんとなく」うまく動作するというものでもない。SQL Serverを利用するアプリケーションがどのように動作しているかといったことも知っていなければならないし、時にはSQLのコマンド(SQL文)なども使ってシステムを調べるといった対応も必要になるだろう。本来ならばアプリケーションを作成/導入したSEやプログラマなどが対応すべきことでも、ハードウェアの管理者(日常の管理業務を担当する管理者)が対応しないといけないかもしれない。だがSQL Serverを一から全部マスターするには時間も費用もかかるし、特に専任のデータベース技術者でもなければそのような技術を習得するのは困難である。
そこで本連載ではSQL Serverシステムの管理業務について、ビギナー管理者向けに、その内部にはあまり立ち入ることなく、最低限の管理ができるようになることを目標として、Q&A形式で解説する。SQL Serverシステムの状態の把握や設定、稼働状況の確認、パッチなどの適用、バックアップやリストア、新システムへの移行など、システム管理者として最低限の操作ができるようになることを目標としたい。
|
|
SQL Serverがインストールされているシステムを管理するために最初に行うべきことは、そもそもシステムにSQL Serverがインストールされているかどうか、そして稼働しているかどうかを調べることである。SQL Serverがインストールされているかどうかすら分からないと、何も管理できない。例えば10年ほど前、SQL SlammerというSQL Serverに感染するウイルスが爆発的に発生したが(関連記事参照)、そもそもSQL Serverがインストールされているかどうかすら把握されていないシステムが大量に存在したため、被害が拡大した。このような事態を防ぐためにも、システムにSQL Serverがインストールされているか、パッチを当てるにしても、そもそも何が(どのバージョンが)インストールされているかを把握しておくのは重要である。ちなみに、SQL Server 2000やMSDE(SQL Server 2000 Desktop Engine)のサポート期限切れは2013年4月9日である。
|
SQL Serverがインストール済みかどうかを調べるにはいくつか方法がある。一般的なアプリケーションやWindowsコンポーネントの例などから連想すると、次のような手段が考えられる。
- SQL Server関連の管理メニューがスタート・メニューに登録されているかどうかを調べる
- コントロール・パネルの「プログラムの追加と削除」などで、インストールされているプログラムや機能/役割の一覧をチェックする
- エクスプローラやコマンド・プロンプトを開いて、インストールされている(と思われる)フォルダや実行ファイル(例:sql*.exe)などを探す
- (リモートから)管理ツールで接続してみる
だがSQL Serverの場合は、インストール方法や設定方法などによって、さまざまな異なった状態でインストールされていることがあるので、これらの方法ではインストールされているかどうかを確実に知ることはできない。例えば、SQL Serverをデフォルトとは異なる場所にインストールすることは可能なのでファイル検索では見逃す可能性があるし、SQL Serverのネットワーク機能が無効になっているとリモートから接続して確認することもできない。それに、そもそも管理ツールが同時にインストールされているという保証もない(管理ツールなしでSQL Serverをインストールすることも可能)。
そこでSQL Serverの場合は、これらの方法ではなく、次のような手段でインストールを確認するとよい。
- SQL Server関連のサービスを調べる
- レジストリを調べる →Q5「インストール済みのSQL Serverをレジストリで確認するには?」参照
- SQL Server構成マネージャを使う →Q6「インストール済みのSQL ServerをGUIツールで確認するには?」参照
ここでは、まずサービスの状態をチェックしてSQL Serverのインストールを調べてみよう。2.と3.についてはそれぞれの項目を参照していただきたい。サービスやレジストリを調べる方法は、SQL Serverのサービスに(管理ツールやアプリケーションなどで)接続することなく調査できる。
| ※SQL Serverのコンポーネント SQL Serverを構成するコンポーネントには、データベース・エンジンのほかに、管理ツールやレポート機能、分析ツールほか、さまざまなものがあるが、ここではデータベース・エンジンの本体(sqlservr.exe)に相当するサービスを調査するものとする。それ以外の関連サービスについては今後解説する。 |
SQL Serverのサービスを調査する
SQL Serverをインストールすると、データベース・エンジンの本体のほかに、いくつか関連するサービスが必ず登録・実行され、アプリケーションからのサービス呼び出しを待ち受ける状態になる。場合によっては、通常は停止していて、要求があったときにサービスが起動するように設定されていることもあるが、基本的にはサービスとして登録され、サービスが「実行」状態になっている。
|
SQL Serverサービスの稼働状態を調べるにはいくつか方法があるが、簡単なのがコマンド・プロンプト上で「net start」コマンドか、「sc.exe」コマンドを使って確認するとよい。scコマンドはWindows XP/Windows Server 2003以降で利用できる、サービスの状態を調査したり、その設定を変更するためのコマンドである(関連記事も参照)。scコマンドには複数のサブコマンドがあるが、システムに登録されているサービスの一覧を取得したり、その詳細を表示させたりするには「sc query」や「sc queryex」コマンドを実行すればよい。これらのコマンドを引数なしで実行すると現在実行中のサービスの一覧が表示される。SQLに関するサービスには、名前の一部に「SQL」という文字列が含まれているので、findコマンドと組み合わせて、これだけを検索する。net startコマンドでも同様に利用できるが、得られる情報が少ないので、scコマンドも覚えておくと便利である。
※例1。SQL Server 2008 R2をインストールした、Windows Server 2008 R2上で実行した結果 |
最初の例では大量に出力されるので、検索しづらい。そこで検索結果のうち、findコマンドで「SQL」という文字列を含むものだけを抽出している(「find /i」は大文字/小文字の違いを無視して比較するコマンド)。例1では結果が9行表示されているが(サービス名と表示名がペアになっているので、実際のサービスは5つ)、SQL Serverのデータベース・エンジンの本体は、「MSSQLSERVER」や「MSSQL$SQLEXPRESS」というサービスに相当する(「MSSQL$〜」から始まるサービス名)。「SQL Server Integration Services」や「SQL Full-text Filter Daemon Launcher」「SQL Server Agent」「SQL Server VSS Writer」などはSQL Serverエンジン以外の関連サービスなので、とりあえず気にしないでよい(これらのサービスについては今後解説予定)。
結局、上のシステムの例では、「SQL Server (MSSQLSERVER)」や「SQL Server (SQLEXPRESS)」という表示名のサービスが存在するので、このシステムにはSQL Serverがインストールされていることが分かる。括弧内は「インスタンス名」である(インスタンス名についてはQ3参照)。
もしインストールされていなければ、次のように何も表示されない。
C:\>net stop "mssql$sqlexpress" …サービスを停止してみる |
だが、表示されないからといって、SQL Server(のサービス)がインストールされていないとは限らない。単にサービスが停止しているだけかもしれないからだ。sc queryは、デフォルトでは実行中のサービスしか表示しない(net startコマンドも同様)。そこで停止中のサービスも含めてすべてのサービスを検索するには、「sc query」の代わりに、「sc query state= all」を実行する(「state=」と「all」の間を空白で区切ること)。
C:\>sc query state= all | find /i "sql" …停止中のサービスも表示させる |
| INDEX | ||
| [運用]SQL Serverミニマム管理Q&A | ||
| 第1回 SQL Serverのインストールをチェックする | ||
| 1.インストールされているSQL Serverの確認 | ||
| 2.SQL Serverのインスタンス | ||
| 3.SQL ServerをレジストリやGUIツールで確認する | ||
| 「 Windows 運用 」 |
TechTargetジャパン
- フォルダの名前が変更できない不具合を解消する (2012/5/25)
Windows 7のエクスプローラで画像ファイルやPDFが含まれるフォルダの名前が変更できなかったり、削除できなかったりする不具合の解消方法を解説する - 通信相手のMACアドレスを調べる近隣探索プロトコル (2012/5/24)
イーサネットで通信する場合、相手のMACアドレスが分からないとパケットを送信できない。ARPに代わるIPv6の近隣探索機能とは? - 第316話 ネット対応トイレ (2012/5/22)
毎日用をたすだけで、体温に体重、血圧、体脂肪率も計測して、尿検査、便検査も自動で実施、データはネット経由で医師に送られます - 私物のスマートフォンを業務に活用、「BYOD」って何? (2012/5/21)
私物のスマホやノートPCを組織的に業務に活用する「BYOD」が新たなトレンドとして注目されている。なぜいまBYODなのか? BYODのメリットとデメリットは?
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
