本連載は、「Microsoft SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、具体的な対処方法を紹介していきます。今回は異なるエディションを間違って入れてしまったなどの場合の原因と解決策を解説します。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で発生するトラブルについて、「なぜ起こったか」の理由とともに具体的な対処方法を紹介していきます。今回は、「インストール後に導入ミスが判明した」場合の原因と解決方法を解説します。
SQL Serverのインストールが済んだとしても、初期作業はまだ終わっていません。インストールしたSQL Serverが「設計通りに導入されているかを確認する」必要があります。
この段階でよくあるミスがこちらです。
トラブルの実例:使用するメディアを間違えてしまい、異なるエディション/ライセンスモデルをインストールしてしまった。
「Standard Edition」と「Enterprise Edition」のようなエディション単位での誤りの他に、「サーバ/CAL(Client Access Licence)モデル用のEnterprise Edition」と「コアベースライセンスモデル用のEnterprise Edition」などのライセンスモデルの誤認も、筆者がこれまで構築をサポートしてきた中でも混同してしまいがちなトラブルです。
参考として、Windows Server 2008 R2上にサーバ/CALモデル用とコアベースライセンスモデル用、それぞれのSQL Server 2012 CU4 Enterprise Editionをインストールしたときに生成されるログから、「バージョン情報の記述」を確認してみましょう(リスト3-1、リスト3-2)。
YYYY-MM-DD HH:MM:SS.00 Server Microsoft SQL Server 2012 - 11.0.2383.0 (X64) Oct 5 2012 19:35:54 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
YYYY-MM-DD HH:MM:SS.00 Server Microsoft SQL Server 2012 - 11.0.2383.0 (X64) Oct 5 2012 19:35:54 Copyright (c) Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
両者は、4行目の「Core-based Licensing」という文字列の有無で違いを確認できます。
では、なぜ混同してしまうのでしょう。
リスト3-1を再度ご覧ください。サーバ/CALモデル用のEnterprise Editionのログにはライセンスモデルを明確に示す記載がありません。単に「Enterprise Edition (64-bit)」とあるだけです。
そのために、コアベースライセンスモデル用のEnterprise Editionを使うユーザーは、間違いに気が付きにくいのです。
なお、ライセンスモデルの誤りは、ライセンス違反になるだけでなく、使用可能なコア数も異なるのでパフォーマンスに影響を及ぼす可能性があります。SQL Server 2012以降のエラーログの序盤を確認すると、使用しているコア数について記載があります(リスト3-3、リスト3-4)。
サーバー SQL Server detected 4 sockets with 10 cores per socket and 20 logical processors per socket, 80 total logical processors; using 40 logical processors based on SQL Server licensing. This is an informational message; no user action is required.
サーバー SQL Server detected 4 sockets with 10 cores per socket and 20 logical processors per socket, 80 total logical processors; using 80 logical processors based on SQL Server licensing. This is an informational message; no user action is required.
サーバ/CALモデルでは、SQL Serverのライセンスに基づいて、「80の論理プロセッサのうち、40の論理プロセッサを使います」とあるのに対し、コアベースライセンスモデルでは、「80の論理プロセッサのうち、80の論理プロセッサを使います」とあります。
もし、導入するエディションを間違ってしまった、あるいは変更したい場合には、「エディションのアップグレード」と呼ばれる機能で修正する方法があります(*6)。
しかし、この方法では、上位エディション(例えば、Enterprise Edition)から下位のエディション(例えば、Standard Edition)へのダウングレードはできません。よくある例は、「Enterprise Editionを導入したが、機能が過剰なことが分かったので、低価格なStandard Editionにしたい」といった場合です。
この場合は、残念ながらEnterprise EditionからStandard Editionへのダウングレードパスが存在しないので、実作業としては、Enterprise Editionをアンインストールしてから、あらためてStandard Editionをインストールすることになります(*7)。
インストール作業でのトラブルは、その後のスケジュールに支障が生じるので、焦ってしまいがちです。しかし、「ちょっとしたことだから」「時間がないから」といってエラーやミスを放置して運用を始めてしまうのは絶対に勧められません。しばらくしてから重大な問題となり、システム停止を伴うほどの障害になってしまった事例を過去に何度か見ています。
そんな状況に陥らないよう、インストール前の準備、実際の作業時間、障害が発生してしまった場合の対応時間、インストール後の動作確認まで、余裕を持ってインストール作業の準備と時間を取ることが肝要です。
ユニアデックス株式会社所属。Microsoft MVP Data Platform(2011〜 )。OracleやSQL Serverなど商用データベースの重大障害や大型案件の設計構築、プリセールス、社内外の教育、新技術評価を行っていた。2016年4月よりIoTビジネス開発の担当となり、新しい仕事に奮闘中。ストレッチをして柔らかい身体を手に入れるのが当面の目標。
ユニアデックス株式会社所属。入社以来 SQL Serverの評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。SQL Serverのトラブル対応で社長賞の表彰を受けた経験も持つ。休日は学生時代の仲間と市民駅伝に参加し、銭湯で汗を流してから飲み会へと流れる。
Copyright © ITmedia, Inc. All Rights Reserved.