SQL Serverの動きが変わる、サービス起動アカウントに実行権限を付与する方法:SQL Serverトラブルシューティング(6)
本連載は、「Microsoft SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は「サービスへの権限付与と変更方法」について解説します。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で発生するトラブルについて、「なぜ起こったか」の理由を理解し、正しく対処するためのノウハウを紹介していきます。今回は、「“サービス起動アカウントに実行権限を付与する”と、何が変わるのか」について解説します。
SQL Serverは起動時にどのような動きをしているのか
- 起動から、利用可能になるまでの流れをログから理解する
- SQL Serverの動きが変わる、サービス起動アカウントに実行権限を付与する方法
- SQL Serverが起動後に行っている、重要な処理「復旧処理」について
- アプリケーションが、どのプロトコルで接続しているのかを確認する
【2】「メモリ内のページロック」「ボリュームの保守タスクを実行」の機能に、実行権限を適用する
一般的なサービスの管理は前回解説した「Windowsの管理ツール」で行います。SQL Serverには、それとは別に「SQL Server構成マネージャー」という管理ツールも用意されています。
SQL Server構成マネージャーからは、インスタンスの起動に関する情報を確認できます。例えば、「サービスの起動アカウント」の詳細は以下の通りです(図1)。
「ログオン」のタブから、SQL Serverを起動するアカウントを指定できます。ドメイン環境ではドメインで管理しているWindowsユーザーを指定することも可能です。
このアカウントに、どの権限を持たせるかによって、「SQL Serverの動き」が変わります。
今回は一例として、「メモリ内のページロック(Lock Pages in memory)」と「ボリュームの保守タスクを実行(Perform volume maintenance tasks)」の実行権限を適用してみましょう。
権限の割り当ては、「グループポリシー」または「ローカルセキュリティポリシー」から行います。ローカルセキュリティポリシーを設定する「ローカル グループポリシー エディター」は、「コントロールパネル」→「管理ツール」から、あるいは「ファイル名を指定して実行(Winキー+R)」→gpedit.mscで起動できます(図2)。
「ボリュームの保守タスク」「メモリ内のページロック」の項目にユーザーまたはグループを指定することで、実行権限を付与できます。設定におけるメリットとデメリットは以下の通りです。
ポリシー名 | 内容 | メリット | デメリット |
---|---|---|---|
メモリ内のページロック (Lock Pages in memory) |
SQL Serverのプロセスが確保する物理メモリを、OS側のページング要求があっても解放しない | ページングに関わるパフォーマンスの劣化を防ぐことができる | SQL Serverの確保するメモリの上限値を適切に設定する必要がある。メモリを確保したままになるので、他のプロセスへ影響が出る可能性がある |
ボリュームの保守タスクを実行 (Perform volume maintenance tasks) |
SQL Serverの既定動作である、ファイル作成/拡張時の「ゼロ埋め(空欄を「0」で埋める)」を行わない | ファイル拡張などの処理の高速化が期待できる | 万が一データファイルが漏えいしてしまった場合、ゼロ埋めしていないデータファイルに過去の情報が残ってしまう |
念のため、実行権限はWindowsのユーザーに対して付与されるので、反映にはSQL Serverの再起動が必要になります。いったんSQL Serverのサービスを停止することになりますので、本番環境では注意しましょう。再起動は、前述したSQL Server構成マネージャーから、「再起動」を選ぶと実施できます。
筆者紹介
内ヶ島 暢之(うちがしま のぶゆき)
ユニアデックス株式会社所属。Microsoft MVP Data Platform(2011〜 )。OracleやSQL Serverなど商用データベースの重大障害や大型案件の設計構築、プリセールス、社内外の教育、新技術評価を行っていた。2016年4月よりIoTビジネス開発の担当となり、新しい仕事に奮闘中。ストレッチをして柔らかい身体を手に入れるのが当面の目標。
椎名 武史(しいな たけし)
ユニアデックス株式会社所属。入社以来 SQL Serverの評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。SQL Serverのトラブル対応で社長賞の表彰を受けた経験も持つ。休日は学生時代の仲間と市民駅伝に参加し、銭湯で汗を流してから飲み会へと流れる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQLの基礎 「SELECT」文を覚えよう
- SQLとはどういう言語か
「SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部) - そもそも、リレーショナルデータベースとは何か?
データベースを基礎から勉強し理解を深めていくことは簡単なことではありません。本連載では、データベースに対するハードルを少しでも低くするために、初心者の方に必要なデータベースの基本から、障害対策やチューニングといった実践に即した内容までを幅広く解説していきます。今回は、データベースの役割と、それを管理するソフトウェアであるDBMSの基本機能について解説します。【更新】 - 「SQL Server 2016」に搭載される新たなセキュリティ対策を追う
パブリックプレビューが公開されているマイクロソフトのRDB次期版「SQL Server 2016」。特徴の1つとするセキュリティ対策機能のポイントと目指すところをキーパーソンに聞いた。