More Related Content
PDF
PDF
PDF
Sql server 2016 always on 可用性グループ new features PPTX
ここからはじめる SQL Server の状態取得 PDF
待ち事象から考える、Sql server の改善ポイント PPTX
PDF
SQL Server運用実践 - 3年間80台の運用経験から20の教訓 PPTX
Sql server のバックアップとリストアの基礎 What's hot
PDF
[D11] SQL Server エンジニアに知ってもらいたい!! SQL Server チューニングアプローチ by masayuki ozawa PDF
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ PDF
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa PDF
45分で理解する SQL Serverでできることできないこと PDF
20180706_VxRailCC_ワークショップ編_NW PPTX
第15回JSSUG「Azure SQL Database 超入門」 PDF
Always on 可用性グループ 構築時のポイント PDF
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史 PDF
PostgreSQL Unconference #29 Unicode IVS PDF
C34 Always On 可用性グループ 構築時のポイント by 小澤真之 PPTX
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション PDF
SQL Server中級者のための実践で使えるかもしれないTips集 PPTX
Sql server これだけはやっておこう 最終版 PDF
PDF
SQL Server パフォーマンス問題対処 Deep Dive PDF
[Postgre sql9.4新機能]レプリケーション・スロットの活用 PDF
Sql serverインデックスの断片化と再構築の必要性について PPTX
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) PDF
Redo log improvements MYSQL 8.0 Viewers also liked
PDF
PDF
[C33] 24時間365日「本当に」止まらないデータベースシステムの導入 ~AlwaysOn+Qシステムで完全無停止運用~ by Nobuyuki Sa... PPTX
PPTX
Sql server 2016 ctp 3.0 新機能 PPTX
PDF
Sql server 2012 の新機能を使ってみよう。db 管理者向け機能の紹介 PDF
SQL Server 現状診断サービス ご紹介資料 PDF
[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ... PDF
A25 sql server data page structure deep dive PPTX
PPT
Trabalhando com o Moodle e a Comunidade PDF
SQL Server 簡易診断サービス ご紹介資料 PDF
Global Knowledge Training Courses & Promotion 2015-Sep Similar to Sql server 運用 101
PDF
SQL Server/SQL Database の新機能のお話し PDF
C11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa PDF
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた PDF
C13 SQL Server2012知られざるTips集 by 平山理 PDF
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス PDF
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理 PDF
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル PDF
Sql database 基本構成と直近で追加されていた機能の紹介 PDF
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使... PDF
[C14] ソーシャル ゲーム基盤を支える SQL Server by Takashi Inaba PDF
PPTX
Sql server2014復習とsqlserver2016の紹介 PPT
SQL Azure Management and Security PDF
Dat004 開発者に捧ぐ「sql server_2016_ PDF
PDF
Sql server data store data access internals PDF
Share pointを支えるsql server2014最新情報 tokyo_公開用 PPTX
オンプレでもクラウドでも データベースサーバの運用 PPTX
PDF
DBP-009_クラウドで実現するスケーラブルなデータ ウェアハウス Azure SQL Data Warehouse 解説 More from Masayuki Ozawa
PDF
オンプレのDbaがazureのデータベースを使ってみた PDF
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け! PDF
Sql database managed instance overview and internals PDF
PDF
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう PDF
Oracle と sql server 比べてみよう (sql server) PDF
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。 PDF
Data consistency 入門 data partitioning ガイダンス PDF
PDF
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介 PDF
Power apps formula cheat sheet PDF
Windows エンジニア向け sql server on linux のためのスキルアップデート PDF
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する PDF
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips PDF
PDF
K8s install (single cluster) Sql server 運用 101
- 1.
- 2.
自己紹介
2015/10/24NAWA Tech ~気付けば3年目ですよ ~2
バイトに行くために歩いていたら、黒塗りの高級車に乗った、通りすがりの
「えろす師匠 (@ichi_sien a.k.a. えろす財閥総帥快楽亭えろす師匠ひさし胡麻油ビスコのりたま)」
に、
「おまえ、SQL Server触ったことあるんだろ。NAWA Tech で、SQL Server の
運用について、喋れや(゚Д゚)ゴルァ!! 」
と声をかけられたので、これからの生活を守るために、SQL Server とか
よくわからないけど、僕には泣きながら首を縦に振るしかありませんでした。
「HDMI 経由で配信するから、VGA 接続のお前の持ってきた PC は使えない
ぞ(゚Д゚)ゴルァ!! 」
って名古屋で言われたので、先程まで Azure 上にデモ環境作ってました。
- 3.
ちゃんとした自己紹介
2015/10/24NAWA Tech ~気付けば3年目ですよ ~3
関東で SQL Server を中心に Microsoft 製品を取り扱う案件に従事してい
ます。
IT Professional (IT Pro) 系のインフラ案件)が中心
以前は SIer に勤めていましたが、数年前からフリーランスになりました。
SQL Server コミュニティ:SQLTO
Microsoft Azure コミュニティ : JAZUG
ブログ:SE の雑記
http://blog.engineer-memo.com
Twitter
@Masayuki_Ozawa
- 4.
101 (ワンオーワン)
2015/10/24NAWA Tech~ 気付けば3年目ですよ ~4
カリスマトレーナー K 氏曰く
ちなみに、101というのは、USのテクニカルカンファレ
ンスでよく見かける言葉で、基礎とか、「○○のいろ
は」などの意味があります。
http://goo.gl/pq7GKw から抜粋
SQL Server の「構築」「設定」「運用」で、
意識しておきたいポイントをざっくりとご紹介
- 5.
- 6.
- 7.
インスタンスの構成
2015/10/24NAWA Tech ~気付けば3年目ですよ ~7
既定のインスタンス
一つのみ作成可能
コンピューター名で接続
デフォルトは TCP 1433 で接続
名前付きインスタンス
複数作成可能
コンピューター名インスタンス名で接続
デフォルトは動的ポート (サービスの起動ごとに変更される) で接続
特定のポート番号で起動したい場合はポートを固定化する
既定のインスタンス/名前付きインスタンスを、インストール後に変更
することはできない
- 8.
インスタンスの構成による接続の違い
2015/10/24NAWA Tech ~気付けば3年目ですよ ~8
コンピューター名で接続
TCP 1433 で接続
コンピューター名インスタンス名で接続
SQL Sever Browser
①UDP 1434 で接続
②UDP1434 から受け取ったポートで接続
https://technet.microsoft.com/ja-jp/library/ms190204(v=sql.105).aspx
- 9.
- 10.
- 11.
照合順序
2015/10/24NAWA Tech ~気付けば3年目ですよ ~11
照合順序
並び替え / 比較方法に関しての規則 (重みづけの設定)
非 Unicode 文字列のコードページ (Japanese : CP932 / Latin1 : CP1252)
https://technet.microsoft.com/ja-jp/library/ms186356(v=sql.105).aspx
https://msdn.microsoft.com/ja-jp/library/ms143726(v=sql.120).aspx
サーバー照合順序はインストール時にのみ設定可能
データベース名/ログイン名/一時テーブル/変数/カーソル等に影響
https://technet.microsoft.com/ja-jp/library/ms188686(v=sql.105).aspx
https://msdn.microsoft.com/ja-jp/library/ff929080(v=sql.120).aspx
製品によっては照合順序が限定されることもある
インストール後に設定を変更したい場合は、システムデータベースを再構築
https://msdn.microsoft.com/ja-jp/library/dd207003(v=sql.120).aspx
再構築をすると、ログイン/SQL Server エージェントジョブ/データベースのエントリ
情報等が初期化される
- 12.
- 13.
- 14.
インストール ディレクトリ
2015/10/24NAWA Tech~ 気付けば3年目ですよ ~14
インスタンス ルート ディレクトリ
SQL Server を動作させるためのプログラム群を格納
インストール後の変更はできない
Windows Server 2008 R2 では、ベアメタルバックアップ取得時に自動的に選択される
サービスのイメージパスのドライブが自動的に含まれるため
データ ルート ディレクトリ
ERRORLOG / デフォルトトレース等を格納
一部のファイルは移動することが可能だが、すべてを移動することは困難なため、ログを保存するドライブに指定がある場合
は、インストール時に指定
システム データベース ディレクトリはデータルートディレクトリを元に設定され変更できない
「インスタンスIDMSSQL ディレクトリ」は固定のため、変更することは出来ない
以下は変更することの難易度は高くない
システム データベース ディレクトリに格納されたシステムデータベース / tempdb
https://msdn.microsoft.com/ja-jp/library/ms345408(v=sql.120).aspx
ユーザー データベース ディレクトリ
ユーザー データベース ログ ディレクトリ
バックアップ ディレクトリ
- 15.
- 16.
構成ファイル
2015/10/24NAWA Tech ~気付けば3年目ですよ ~16
SQL Server インストール時に選択したインストールパラメーターが、
構成ファイルとしてエクスポートされる。
他者がインストールした環境の、インストールパラメーターの確認
SQL Server のインストールを構成ファイルから実施することも可能
構成ファイルを使用した GUI / コマンドラインインストールが可能
複数の環境に同一パラメーターでインストールする場合に利用
https://msdn.microsoft.com/ja-jp/library/dd239405(v=sql.120).aspx
https://msdn.microsoft.com/ja-jp/library/ms144259(v=SQL.10).aspx
- 17.
ディスクレイアウト
2015/10/24NAWA Tech ~気付けば3年目ですよ ~17
ファイルに対してのアクセスパターン
データファイル : シーケンシャル / ランダム / Read : Write
ログファイル : シーケンシャル / Read : Write
tempdb : シーケンシャル / ランダム / Read : Write
システムデータベース (master / model /msdb) : 発生する I/O は低い
ドライブ文字
DBCC CHECKDB はドライブ文字毎に処理の内部リストを作成する
https://support.microsoft.com/ja-jp/kb/2634571
トレースフラグ 2549 を有効にすることで、各データベースファイルが一意のドライブ
にあるとみるように変更することができる
追加したディスクをフォルダーにマウントして使用する場合などに利用できる
- 18.
- 19.
- 20.
SQL Server のサービスアカウント
2015/10/24NAWATech ~ 気付けば3年目ですよ ~20
ボリュームの保守タスクを実行
データファイルの拡張が発生した際に、「0 初期化」を行わずに瞬時初期化を実施
データファイルの拡張を瞬時に完了することができる
リストア時にデータファイルの領域確保をする時にも有効
ログファイルは瞬時初期化が有効にならないため初期サイズ/拡張サイズを適切に設定
https://technet.microsoft.com/ja-jp/library/ms175935.aspx
メモリ内のページのロック
SQL Server が確保したバッファプールのメモリをページアウトの対象外にする
SQL Server を実行しているサーバー内でメモリを使用する他のアプリが実行されている場合
に、バッファプールを安定して確保することができる
「max server memory」の設定をしないと、確保可能なメモリを SQL Server がすべて
確保するため、「max server memory」と必ず併用
https://msdn.microsoft.com/ja-jp/library/ms190730(v=sql.120).aspx
- 21.
- 22.
- 23.
SQL Server の設定
2015/10/24NAWATech ~ 気付けば3年目ですよ ~23
max server memory
SQL Server のバッファプールで確保するメモリの上限
デフォルトは 2TB に設定されている
max server memory の設定をしても、SQL Server のサービス起動時に上限までメモリ
を確保するわけではない
サービス起動時に上限までメモリを確保させたい場合は追加オプションの設定が必要
https://msdn.microsoft.com/ja-jp/library/ms178067(v=sql.120).aspx
max degree of parallelism
並列処理を実行する際に使用する CPU コア数の制限
デフォルトは 0 で、最大 64 コアを使用して並列処理を実行する
1 を設定することで、並列クエリの実行を禁止することができるが、1 を設定するのは控えた
ほうがよい (1 コアで発生させられる I/O の限界を考慮)
一般的には、CPU コア数の 1/2 ~1/4 / NUMA ノード内の CPU コア数を上限とする
https://msdn.microsoft.com/ja-jp/library/ms189094(v=sql.120).aspx
- 24.
tempdb の分割
2015/10/24NAWA Tech~ 気付けば3年目ですよ ~24
データファイルを CPU コア数に応じて分割
分割数の例
データファイルのサイズと自動拡張サイズは全ファイル均等にする
データファイルは空きサイズに応じて使用頻度が変わるため、サイズに偏りが
あると特定のファイルにアクセスが集中する
自動拡張されてもサービスの再起動後は初期サイズに戻る
ログファイルは、シーケンシャルに使用されるため分割による性能面での効果
はない
規模 CPU コア データファイル
小規模 4~8 4 データファイル
中規模 8~16 8~16 データファイル
大規模 16~32 16~32 データファイル
超大規模 32~256 32 データファイル
- 25.
- 26.
- 27.
トレースフラグ
2015/10/24NAWA Tech ~気付けば3年目ですよ ~27
-- Session Level
DBCC TRACEON (3226)
DBCC TRACEOFF (3226)
-- Global Level
DBCC TRACEON (3226,-1)
DBCC TRACEOFF (3226,-1)
-- Status
DBCC TRACESTATUS
- 28.
トレースフラグ
2015/10/24NAWA Tech ~気付けば3年目ですよ ~28
SQL Server の動作を変更するためのオプション
T1117
データファイルの自動拡張が発生した場合に、すべてのデータファイルを同時に拡張する
データファイルサイズの均等性を保つことができる
拡張サイズが大きい場合は瞬時初期化との併用必須
SQL Server 2016 CTP 2.4 では tempdb の同時拡張が実装されているような動作をしている
T1118
単一エクステントではなく、混合エクステントの割り当てで固定できる
アロケーションページ (GAM/SGAM/PFS) の競合 (PAGELATCH) の減少につながる
データベースファイル単位に一定間隔でアロケーションページが存在する
PFS : 8,088 ページ単位 (64MB 分) / GAM:SGAM : 511,000 ページ単位 (4GB 分)
T3226
バックアップのログ出力を抑制する
エラーについてはログに出力される
セッションレベルのトレースフラグでも設定可能
短い間隔でログを取得する場合、バックアップ取得のログ情報が増えすぎるのを抑える
https://msdn.microsoft.com/ja-jp/library/ms188396(v=sql.120).aspx
- 29.
- 30.
ログのメンテナンス
2015/10/24NAWA Tech ~気付けば3年目ですよ ~30
ERRORLOG
デフォルトは SQL Server のサービスが再起動され他タイミングで、6 世代
SQL Server が連続稼働していると一つの ERRORLOG に書き込まれ続けるため、
情報を確認するのに手間がかかる
sp_cycle_errorlog : エラーログのローテーション
世代数は 6 ~ 99 まで変更可能
SQL Server エージェントの実行ログ
SQL Server エージェントジョブを実行することで各種ログが蓄積される
メンテナンス プランのクリーンアップ用のタスクを利用
メンテナンス クリーンアップタスク : メンテナンス プランのログの削除
履歴 クリーンアップタスク : SQL Server エージェントジョブの実行履歴の削除
- 31.
- 32.
- 33.
- 34.
データメンテナンス
2015/10/24NAWA Tech ~気付けば3年目ですよ ~34
定期的なデータベースの断片化解消
ページ密度 / データの連続性を効率的に処理ができる状態にする
再構成 (REORGANIZE)
オンラインで実行可能
既存の領域を使用して、データの並び替えを実施
再構築 (REBUILD)
Enterprise Edition の場合のみオンラインで実行可能
新規の領域を使用して、並び替え済みのデータを作成
一般的なディスクアクセス指標
ディスクタイプ 速度の指標
磁気ディスク ミリセカンド
SSD マイクロセカンド
CPU / メモリ ナノセカンド
- 35.
バックアップ
2015/10/24NAWA Tech ~気付けば3年目ですよ ~35
完全/一括復旧モデルでも、初回の完全バックアップを取得するまではログは自動で切り捨て
られる
検証時には早い段階で初回の完全バックアップを取得しておく
バックアップチェーン (バックアップの連続性) を意識する
臨時でバックアップを取得する場合は、COPY_ONLY を設定する
BACKUP DATABASE master TO DISK=N'NUL' WITH COPY_ONLY
破損しているデータベースのバックアップも破損している状態
リストアしても破損している状態は変わらない
破損していない状態のバックアップが重要
破損ページはアクセスされるまで検出されない
select * from msdb..suspect_pages
DBCC CHECKDB WITH PHYSICAL_ONLY
BACKUP DATABASE master TO DISK =N'NUL' WITH CHECKSUM
SQL Server 2012 : トレースフラグ 3023
SQL Server 2014 : backup checksum default オプション
https://support.microsoft.com/en-us/kb/2656988
- 36.
一般的なバックアップタクト
2015/10/24NAWA Tech ~気付けば3年目ですよ ~36
完全
バックアップ 1
ログ
バックアップ 2
差分
バックアップ 2
完全バックアップ 1
からの差分
差分
バックアップ 1
ログ
バックアップ 1
ログバックアップ 1
からの増分
完全
バックアップ 1
差分
バックアップ 1
差分
バックアップ 2
COPY_ONLY
完全バックアップ
完全バックアップ 1
からの差分
完全バックアップ 1
からの差分
臨時の完全
バックアップ
- 37.
VSS によるバックアップ時の注意
2015/10/24NAWA Tech~ 気付けば3年目ですよ ~37
SQL Server は「SQL Server VSS Writer」(Microsoft SQL Server VSS Writer)により、
VSS と連携される
Windows Server 2008 R2 では、「ベアメタル回復用」のバックアップで、「インスタ
ンス ルート ディレクトリ」のドライブが自動的に選択される
データベースを配置している場合は注意
VSS 完全バックアップ / VSS コピー バックアップ は SQL Server のバックアッ
プと連動している
VSS 完全 バックアップ
BACKUP DATABASE [master] TO VIRTUAL_DEVICE='{D8387608-3C42-45BA-97E2-7D6B12BF51C0}4'
WITH SNAPSHOT,BUFFERCOUNT=1,BLOCKSIZE=1024
VSS コピー バックアップ
BACKUP DATABASE [master] TO VIRTUAL_DEVICE='{0C3305B1-F63D-4443-812E-7E6B3E76F9C2}4'
WITH SNAPSHOT,BUFFERCOUNT=1,BLOCKSIZE=1024,COPY_ONLY
- 38.
- 39.
- 40.
開発者への情報提供
2015/10/24NAWA Tech ~気付けば3年目ですよ ~40
動的管理ビューの情報提供
負荷の高いクエリの情報
CPU / ディスクI/O / 実行時間の高いクエリ
インデックスの使用状況
データ件数の多いインデックスへのフルスキャン
ロックの発生状況
インデックス単位のロック発生状況
blocked process threshold を使用したブロッキング情報
拡張イベントの情報提供
スロークエリーログ
実行に特定の秒数以上かかったものをロギングして開発者に提供
- 41.
- 42.
モニタリング
2015/10/24NAWA Tech ~気付けば3年目ですよ ~42
パフォーマンスモニターを使用した各種情報の取得
ログの収集とベースラインとの比較で利用する
SQL Server Perfmon Counters of Interest を参考に考えると、取得項目の洗い出しをすること
ができる。
SQL Server 2008 R2 がベースになっているが、SQL Server 2016 でも基本的な考えは同じ
http://helsinki.sqlpass.org/LinkClick.aspx?fileticket=7Cp3Hv8n0EY%3D&tabid=5011
Performance Analysis of Logs (PAL) Tool / SQL Nexus Tool / データコレクション
パフォーマンスモニターのオプション
https://technet.microsoft.com/en-us/magazine/ff723776.aspx
コマンド 内容
perfmon /report システム診断情報の収集
perfmon /sys /comp パフォーマンスモニターの比較
perfmon /rel 信頼性モニター
HKEY_LOCAL_MACHINESOFTWAREMicrosoftReliability AnalysisWMI : WMIEnable = 1
MicrosoftWindowsRACRacTask の有効化
https://support.microsoft.com/ja-jp/kb/983386
perfmon /res リソースモニター
- 43.
- 44.
SSMS を使用した情報の取得
2015/10/24NAWA Tech~ 気付けば3年目ですよ ~44
SSMS 標準レポート
SSMS カスタムレポート
Microsoft® SQL Server® 2012 Performance Dashboard Reports
http://www.microsoft.com/en-us/download/details.aspx?id=29063
SSMSCustomReport
https://github.com/MasayukiOzawa/SSMSCustomReport
sp_Blitz® – Free SQL Server Health Check Script
http://www.brentozar.com/blitz/
How StackOverflow Scales SQL Server
https://www.youtube.com/watch?v=4y9kjrVejOI
- 45.
Editor's Notes
- #24
max server memory
TF834 を設定することでサービス起動時にメモリを確保する動作に変更することができるが、連続した領域を確保する必要があるため、メモリが断片化していると起動できないことがある