[System Environment] | |||||||||||
SQL Server 2000/MSDEのバージョンをチェックする
|
|||||||||||
|
解説 |
SQL Server 2000やMSDE(SQL Server 2000 Desktop Engine)を狙うウイルスやワームが蔓延するにつれ、システム管理者にとっては、それらの対策も重要な仕事となっている。具体的な作業としては、システムにSQL Server 2000やMSDEがインストールされているかどうかを調べ、必要ならば最新のSQL Server 2000用のService Packをインストールし、その上でさらに修正プログラムなどもインストールする必要がある。特にMSDEは、バックアップ・ソフトウェアや業務系アプリケーションなどをインストールすると、知らないうちにシステムにインストールされていることがあるので、管理者が気付いていないことも多い。
だがSQL Server 2000やMSDEの操作や管理に慣れていないシステム管理者にとっては(データベース関係の開発者でもない限り)、システムにデータベース・システムがインストールされているかどうかや、そのバージョン番号をどうやって調べればよいのか分からないことも多い。本TIPSでは、その方法についてまとめる。
SQL Server 2000のエディションとService Pack
SQL Server 2000の製品には、さまざまなバリエーションがあり、ニーズや目的に応じて使い分けられている。主なものとしては次のものがある。エディションは異なっても、データベース・エンジンはすべて共通であり、データベース・ファイルには互換性がある。
SQL Server 2000のエディション | 用途 |
Enterprise Edition | 大規模エンタープライズ用途向け |
Standard Edition | 中小規模向け |
Workgroup Edition | 小規模向け |
Personal Edition | デスクトップ用途向け |
Developer Edition | 開発者向け |
Desktop Engine Edition(MSDE) | 製品組み込み用 |
Evaluation Edition | 評価版 |
SQL Server 2000の主なエディション | |
エディションにより、扱えるデータベースのサイズやスケーラビリティなどに差がある。詳細はSQL Serverの製品Webページを参照のこと。 |
SQL Server 2000/MSDEのバージョンとService Packレベル
SQL Server 2000/MSDEに対するService Packは、2005年9月現在ではSP1、SP2、SP3(SP3a)、SP4が出荷されている(これ以外に、英語版か日本語版、MSDEかそうでないかという違いがある)。SQL Serverに対するセキュリティ修正プログラムは、少なくともSP3もしくはSP4が適用されていることが前提となっている場合が多いので、システムの脆弱性を調査する場合は、SQLのSP適用レベルに注意する必要がある。
だがWindows OSに対するSPなどと違い、SQL Server 2000/MSDEでは、バージョン表記中にSP1とかSP2などという文字列は表示されない。その代わりSQL Serverでは、SPや修正プログラムを適用すると、バージョン番号文字列のうち、サブ番号部分が更新されるので、これを基準にしてどのService Packが適用されているかを判断する。判別は、基本的には稼働中のSQL Serverシステムに接続し、バージョン番号を返すコマンドを実行して調査する。だがサービスが稼働していない場合にはこの方法は使えないので、データベースのコアとなる「sqlservr.exe」ファイルのバージョン・プロパティを調査する。SPレベルとバージョン番号の関係は次のとおりである。
SQL Server 2000の製品/SPレベル | 製品バージョン | sqlservr.exeのファイル・バージョン |
RTM版(初期出荷版) | 8.00.194 | 2000.80.194.0 |
SQL Server 2000/MSDE SP1 | 8.00.384 | 2000.80.384.0 |
SQL Server 2000/MSDE SP2 | 8.00.534 | 2000.80.534.0 |
SQL Server 2000/MSDE SP3 | 8.00.760 | 2000.80.760.0 |
SQL Server 2000/MSDE SP3a | 8.00.760 | 2000.80.760.0 |
SQL Server 2000/MSDE SP4 | 8.00.2039 | 2000.80.2039.0 |
SQL Server 2000/MSDEのSPレベルとバージョン番号 | ||
SQL Server 2000/MSDEの製品バージョンとsqlservr.exeのファイル・バージョン。この2つは少し異なるので、194とか384、2039といった番号(ビルド番号)に注目してバージョンを判別する。SQL Server向けのセキュリティ・パッチを適用すると、これらとは異なる番号になっている場合がある。SQL Server 2000 Workgroup Editionは後で追加された製品であり、その初期出荷バージョンは8.00.818(SP3a適用済み相当)となっている。 |
基本的には、この番号を元に現在どのSPが適用されているかを判断すればよい。ただし修正プログラムを適用するとその中間のバージョン番号になることがあるので、必ずしもこのとおりでないことに注意する。
操作方法 |
select文の実行による製品バージョン番号の調査
実行中のSQL Serverの製品バージョン番号を判定するには、「select @@version」コマンドを発行してその結果を調査するのが簡単である。SQL文を実行するためには、SQL Server 2000に付属の「SQL クエリ アナライザ」ツールか、SQL Server 2000もしくはMSDEに付属のosqlツールを利用する。
以下はosqlツールの利用例である。「-E」オプションはWindows認証を使ってSQL Serverにログオンするための指定である。
C:\>osql -E …osqlをtrustedモードで起動 |
さらに詳しく製品情報を調べるには、次のSelect文を実行する。これを利用すると、製品バージョン番号のほか、製品レベル(RTMかSP1、SP2など)、エディション(Standard EditionやDeveloper Editionなど)を知ることができる。
select serverproperty('productversion'), serverproperty ('productlevel'), serverproperty ('edition') |
ファイル・バージョンによる判定
osqlやクエリ・アナライザによるバージョンの判定は、稼働中のSQL Serverに正しく接続できる場合には利用できるが、そうでない場合(例:サービスが起動していない、SQL Serverへのログオン・アカウントが不明、ネットワーク機能を無効にしてMSDEをインストールしている場合など)は、sqlservr.exeファイルのバージョンから判断するとよい。このファイルは、デフォルトではC:\Program Files\Microsoft SQL Server\MSSQL\Binnにインストールされているはずであるが、複数のインスタンス(後述)がある場合や、アプリケーションが独自に(MSDEを)インストールしている場合では、異なる場所に存在している可能性がある。システムを検索して、該当するファイルをすべて見つけ、そのプロパティを確認するとよいだろう。
ファイルのバージョンを調査する具体的な方法についてはWindows TIPS「バイナリ・ファイルのバージョンを調べる」を参照していただきたい。ファイルの[プロパティ]を表示させ、ファイル・バージョン(FileVersion属性)か製品バージョン(ProductVersion属性)を調査すればよい。
SQL Server 2000/MSDEのインスタンス
SQL Server 2000/MSDEでは、同時に複数の「インスタンス」をインストールすることができる。インスタンスとは、インストールされたSQL Server 2000/MSDEシステムの実体のことであり、1台のコンピュータに最大16インスタンスまでインストールできる。インスタンスごとに異なるフォルダにインストールするため、異なるエディションやSPバージョン、言語バージョンを混在させることができる。これにより、複数の(業務)アプリケーションが独自のSQL Server/MSDEをインストールしながらも、お互いに干渉することなく動作できるようになる。
だが管理者から見ると、複数インスタンスがインストールされている場合には注意が必要である。Service Packやセキュリティ・パッチを適用する場合は、そのすべてのインスタンスに対して適用しておかなければ、脆弱性が残ったままになるからだ。
システムに複数のインスタンスがインストールされているかどうかを確認するには、いくつか方法がある。一番簡単なのはSQL Serverのインストール・フォルダ(デフォルトではC:\Program Files\Microsoft SQL Server)を調べることだ。この中には、デフォルトでは「80」というフォルダと「MSSQL」というフォルダがある。前者は共通のツールなどが置かれているフォルダであるが、後者の「MSSQL〜」というフォルダは各インスタンスごとに1つずつ作成される。一番最初にインストールされるインスタンス(「既定のインスタンス」という)はMSSQLというフォルダ名になり、2つ目以降のインスタンスは、「MSSQL」+「$」+「インスタンス名」というフォルダ名になる。インスタンス名は、SQL Server/MSDEをインストールする場合に、ユーザーもしくはインストール・プログラムが指定する。
これ以外にも、[管理ツール]の[サービス]で名前を確認する方法もある。最初のインスタンスは「MSSQLSERVER」というサービス名であるが、2つ目以降は「MSSQL$INST1」「MSSQL$INST2」といったサービス名になっている。またレジストリHKEY_LOCAL_MACHINEのSOFTWARE\Microsoft\Microsoft SQL ServerキーにあるInstalledInstancesという値(REG_MULTI_SZ型)には、インストールされたインスタンス名の一覧が記録されている。
インスタンス名が分かれば、osqlツールなどを起動するときに、「-S コンピュータ名\インスタンス名」のように指定すれば、目的のインスタンスに接続できる。
C:\>osql -S 192.168.1.123\SQLINSTANCE02 -E …インスタンス名SQLINSTANCE02を指定して接続してみる |
こうやって各インスタンスに接続するか、フォルダを直接ブラウズして、ファイルのバージョンをチェックするとよい。
この記事と関連性の高い別の記事
- MSDEをセットアップする方法(TIPS)
- 各Windows OSで利用できるSQL Serverのバージョンを知る(TIPS)
- 一目で分かる、SQL Server 2005〜2014とService Packのサポート終了時期(TIPS)
- AccessをMSDEのフロントエンドとして利用する(TIPS)
- Windows 2000のインストールとService Packの適用を一度に行う方法(1)(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|