More Related Content Similar to Sql server 2012 の新機能を使ってみよう。db 管理者向け機能の紹介 Similar to Sql server 2012 の新機能を使ってみよう。db 管理者向け機能の紹介 (20) More from Masayuki Ozawa (12) Sql server 2012 の新機能を使ってみよう。db 管理者向け機能の紹介1. SQL Server 2012 の新機能を使ってみよう。
DB 管理者向け機能の紹介
小澤 真之 (@Masayuki_Ozawa)
http://engineermemo.wordpress.com
2. はじめに
本資料は Denali (SQL Server 2012) CTP3 をベース
に作成しています。
そのため、製品版では動作が変わる可能性があります。
あらかじめご了承ください。
SQL Server 2012 RC0 は 2011 年末に提供開始予定
SQL Server 2012 の RTM は 2012 年 1H に提供開始予定
CTP : Community Technology Preview
RC : Release Candidate (製品候補版)
2
3. 本日の Agenda
AlwaysOn
Contained (包含) Database
Columnstore インデックス
サーバーロールの作成
管理ツールの機能強化
3 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
4. Denali 新機能ハイライト
High Scalability & Security & Beyond Web & Business Enterprise
Availability Performance Managebility Breadth Intelligence Information
Relational
Management
PHP ドライバー Unified
AlwaysOn 15,000の ユーザー定義 SSDT "Juneau" SSIS サーバー
Semantic
パーティション サーバーロール
Model
Win32 アクセス JDBC 4.0
柔軟性のある Data Quality
Contained to ドライバー Project
フェールオーバー Columnstore サービス
インデックス Database Database Files "Crescent"
ポリシー
ローカル DB Master Data
Distributed FileTable サービスの機能
FileStream インメモリ BI
アプリケーション Replay UTF-16 拡張
中心の の速度向上
フェールオーバー Semantic Master Data
OpsMgr セルフサービス
Platform 結果セットの サービス
Full Text Management アラート
ページング Add-in for
読み取り可能な の速度向上 Pack for HA
Full Globe Excel
マルチセカンダリ ARM プロセッサ SSAS の
Spatial
空間データの サポート Sysprep Change Data
セカンダリを使用 サポート
速度向上 したバックアップ Capture
オンライン操作 PowerPivot の for Oracle
DAC の拡張 機能拡張
Windows
HA for
グループの SharePoint
StreamInsight ODBC for Linux
既定のスキーマ
共有サービスで
Server Core ハイブリッド レポーティング
サポート Active Directory アプリケーション
With SharePoint With
For SSRS SQL Azure
4
参照資料 : Denali Overview What’s New Feature Technical Overview
5. AlwaysOn
Contained (包含) Database
Columnstore インデックス
サーバーロールの作成
管理ツールの機能強化
5 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
6. AlwaysOn
Availability Groups
• データベースミラーリングよりさらに上の可用性を提供
• 複数のセカンダリを保持することが可能
• 透過的な接続によるフェールオーバー
“いつでも” “どこからでも”
Failover Clustering 使えるように
柔軟な高可用性環境を提供
• マルチサブネットでクラスターを構築可能
• ファイルサーバーを使用した共有ディスク不要のクラスター
•ただしファイルサーバーは Windows Server 2008 or R2 を使用する必要がある
• tempdb に関してはローカルディスクに配置可能
• 柔軟性のあるフェールオーバーポリシー
Server Core
• Server Core 上での SQL Server のサポート
6 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
8. 従来までの複製を保持した可用性環境
SQL Server 2008 R2 までのミラーリングの構成
プリンシパル ミラー
(更新可能) (待機サーバー)
ミラーリング
エンドポイント
ウィットネス
(監視サーバー)
プリンシパル : 1 台
ミラー : 1台
ウィットネス : 1 台
8 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
9. 従来までの複製を保持した可用性環境
SQL Server に対しての接続文字列を使用して
プリンシパルとミラーを識別
プリンシパル ミラー
プリンシパル ミラー
Server=プリンシパルサーバー名;
Failover Partner=ミラーサーバー名;
Initial Catalog=ミラーリングデータベース名
9 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
10. Availability Group を使用した可用性環境
WSFC : Windows Server Failover Clustering
制御用
クラスターリソース
プライマリ セカンダリ
(更新可能) (読み取り可能な
複数の待機サーバー)
ミラーリング
エンドポイント
プライマリ: 1 台
セカンダリ: 4 台
Active Directory 必須
10 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
11. Availability Group を使用した可用性環境
Availability Group
リスナーを経由してプライマリ / セカンダリに接続
接続文字列はリスナーに対しての接続情報
プライマリ セカンダリ プライマリ セカンダリ
リスナー リスナー
Server=リスナー名;
Initial Catalog=AlwaysOnデータベース名;
ApplicationIntent=ReadOnly;
11 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
12. • ミラーリングと Availability Group の接続の違い
• セカンダリサーバーの利用
12 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
14. 従来までの一般的なクラスターの構成
サブネット
255.255.255.0
192.168.0.1/24 192.168.0.2/24
SELECT @@SERVERNAME
で死活監視
共有ストレージ
System DB User DB tempdb
14 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
15. SQL Server 2012 で可能なクラスターの構成
サブネット サブネット
255.255.255.0 255.255.0.0
192.168.0.1 172.23.0.1
sp_server_diagnosticsで
インスタンスの死活監視
tempdb tempdb
ファイルサーバー
System DB User DB
※ローカルディスクを使用した tempdb については SQL Server 2008 R2 でも -T3615 を使用することで設定可能
15 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
16. 柔軟性のあるフェールオーバーポリシー
SQL Server 2008 R2 までのクラスター
• 定期的に [SELECT @@VERSION] を実行して、SQL Server の稼働状況を診断
SQL Server 2012 のクラスター
•[sp_server_diagnostics] を使用して、以下の 5 つの観点から稼働状況を診断
•system / resource / query_processing /io_subsystem / events
•FailureConditionLevel を変更することでフェールオーバーの条件を変更可能
•Failover Clustering では 0 ~ 5 の 6 段階で設定可能
•http://msdn.microsoft.com/en-us/library/ff878667(SQL.110).aspx
•Availability Groups では 1 ~ 5 の 5 段階で設定可能
•http://msdn.microsoft.com/en-us/library/ff878601(SQL.110).aspx
16 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
17. • 共有ディレクトリを使用した構成の確認
• ローカルディスクに配置した tempdb
• 柔軟なフェールオーバーポリシーの設定
17 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
19. Server Core に SQL Server をインストール
パッチ適用時のダウンタイムの低減
•Server Core は最小限の構成で動作する Windows Server のため、適用
対象となるパッチの数が少ない
•OS は Windows Server 2008 R2 SP1 の Server Core を使用
SQL Server のフル機能は使用できない
• クライアントツール (SSMS / BIDS), Reporting Services は使用
できない
• http://msdn.microsoft.com/ja-jp/library/hh231669(SQL.110).aspx
GUI の機能は使用できないので管理は基本的にリモートで実施
•サーバー上でSQLCMD コマンドラインツールで管理も可能
19 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
20. • Server Core にインストールした SQL Server に接続
20 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
21. AlwaysOn
Contained (包含) Database
Columnstore インデックス
サーバーロールの作成
管理ツールの機能強化
21 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
22. Contained (包含) Database
ログインの包含
• ユーザーデータベースにログイン情報を含んだユーザーを作成
照合順序の包含
• 一時テーブルの作成時に tempdb の照合順序ではなくユーザー
データベースの照合順序を使用
22 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
23. ログインの包含
今までのログイン方式 SQL Server
master User DB
ログイン ユーザー
認証 マッピング ユーザー
ログイン
クライアント
ユーザーがデータベース内で完結しているので、
データベースをまたいだクエリの実行が難しい
ログインの包含 SQL Server
master User DB
ログイン
認証 ユーザー
クライアント +
ユーザー
マッピング
23 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
24. バックアップ / リストアで見る
Contained データベースの動作
24 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
25. 照合順序の包含
Non Contained Database
tempdb User DB
Japanese_XJIS_100_CI_AS Japanese_BIN2
一時テーブル CREATE TABLE #tmp
INSERT INTO #tmp (Col1) VALUES (N'A‘)
SELECT * FROM #tmp WHERE Col1 = N‘a' 検索結果あり
Contained Database
tempdb User DB
Japanese_XJIS_100_CI_AS Japanese_BIN2
一時テーブル CREATE TABLE #tmp
INSERT INTO #tmp (Col1) VALUES (N'A‘)
SELECT * FROM #tmp WHERE Col1 = N‘a'
検索結果なし
25 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
26. 一時テーブル使用時の照合順序の違い
テーブル変数使用時の照合順序
26 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
27. AlwaysOn
Contained (包含) Database
Columnstore インデックス
サーバーロールの作成
管理ツールの機能強化
27 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
28. インデックスの種類
Rowstore インデックス
• 従来からのインデックス
• 行を基本としてデータを格納
Columnstore インデックス
• Project “Appolo” と呼ばれていたもの
• PowerPivot で使用されている VertiPack エンジンを採用
• 列を基本としてデータを格納
28 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
29. Columnstore インデックスの制限
一部のデータ型を含めることができない
•binary / varbinary / ntext / text / image / varchar(max) / nvarchar(max) / uniqueidentifier /
timestamp / sql_variant/ decimal (18 桁以上) numeric (18 桁以上) / datetimeoffset (2 桁以上) /
CLR 型 (hierarchyid / spatial types) / xml
設定可能な列数
•1023 列を含むインデックスが作成可能
•テーブルの最大列数は 1024 なのでほぼすべての列をインデックスに含むことができる
•クラスター化 / 非クラスター化インデックスの最大列数は 16
•900 バイト以上のデータをインデックスに含むことができる
•クラスター化 / 非クラスター化インデックスは、インデックス内に含める列のサイズの合計を 900
バイト以内にする必要がある
データの更新
•Columnstore インデックスを設定している場合、テーブルを直接更新することはできない
•パーティショニングと組み合わせてパーティションのスイッチをすることでデータの追加は可能
29 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
30. Rowstore インデックス
ID 姓 名 性別
1 井口 拓海 男
2 平岡 頼子 女
3 小畑 美樹 女
4 小宮 喜一郎 男
5 前川 涼子 女
B-Tree (Balanced Tree) 構造
ページ
ルートノード ID
中間ノード ID ID
ID 姓 名 性別 ID 姓 名 性別 ID 姓 名 性別 ID 姓 名 性別
リーフノード
30 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
31. Columnstore インデックス
ID 姓 名 性別
1 井口 拓海 男
2 平岡 頼子 女
3 小畑 美樹 女
4 小宮 喜一郎 男
5 前川 涼子 女
Columnstore インデックス
Segment Segment Segment Segment
ID 姓 名 性別 内部構成
1 井口 拓海 男
Rowgroup 2 平岡 頼子 女
3 小畑 美樹 女
4
5
小宮
前川
喜一郎
涼子
男
女
Dictionary
ID 姓 名 性別
Rowgroup
Segment
31 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
32. • Columnstore Index の制限を見てみる
• Rowstore インデックスと Columnstore インデックスの
読み取りページ数の違い
32 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
33. AlwaysOn
Contained (包含) Database
Columnstore インデックス
サーバーロールの作成
管理ツールの機能強化
33 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
34. サーバーロール
ログインの権限を定型化したもの
• 特定の権限の集まりをロールとして定義し、SQL Server のログイン
に一定の権限を付与することができる
• SQL Server ではあらかじめ固定サーバーロールとして、一定の役割
を持つロールが準備されている
• sysadmin : SQL Server の管理者、サーバーに対してすべての操作
ができる
サーバーロール
sysadmin
ログイン
34 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
35. ログインに対しての権限の設定
SQL Server 2008 R2 まで
• ユーザーが独自のサーバーロールを作成することはできなかった
• データベースロールは作成可能だったがサーバーロールは作成できなかった
• サーバーロールで設定できる一部の権限を付与したい場合は、ログインに直接
権限を付与する必要があった
• 複数のログインに同等の権限を付与したい場合、個別に権限付与をする必要
があった
SQL Server 2012
• ユーザーが独自のサーバーロールを作成することが可能になった
• ログインに対しての権限の管理性が向上している
35 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
37. AlwaysOn
Contained (包含) Database
Columnstore インデックス
サーバーロールの作成
管理ツールの機能強化
37 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
38. 管理ツールの機能強化
SQL Serer Management Studio
• リストア機能の強化
• 拡張イベントの作成
• コードスニペットが利用可能に
38 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
39. • SQL Server 2012 の SSMS のリストア画面
• 拡張イベントの作成
• コードスニペットの利用
39 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net
40. 最後に
SQL Server 2012 には他にもたくさんの機能が追加さ
れています。
CTP3 はどなたでもダウンロード可能ですので、みなさ
んもどんどん触ってみてください。
自習書がいつもながらのハイクオリティで提供されていますの
で、とても参考になります。
http://www.microsoft.com/japan/sqlserver/2008/r2/denali/
movie.mspx
SQL Server "Denali" CTP3 新機能ダイジェスト
SQL Server "Denali" 新機能ダイジェスト (BI 編)
SQL Server "Deanli" DWH (データ ウェアハウス) 関連の新機能
SQL Server AlwaysOn による可用性の向上
40 SQLTO 第 3 回勉強会 2011/10/29
http://www.sqlto.net