SQL Server のことなら SQL Quality SQL Server パフォーマンス チューニング、コンサルティング、アドバイス、相談、定期診断、トレーニング

第56回:「SQL Server 2016 への移行とアップグレードの実践」完成&公開!

2017年2月21日

春到来!
あちこちで梅の花が美しいですね。先日行った筑波山では、福寿草もきれいに咲いていました。 また、野原では、私の好きなオオイヌノフグリが目立つようになってきました。雑草ですが、群れて咲くところが空色の絨毯のようでとてもきれいです。

福寿草

春の訪れとともに、SQL Server 2016 実践シリーズ No.1SQL Server 2016 への移行とアップグレードの実践」(全 383 ページ)が完成&公開されました!

SQL Server 2016 への移行とアップグレード

下記のマイクロソフトさんのページから、どなたでもダウンロードできます。
http://www.microsoft.com/ja-jp/server-cloud/local/documents/default.aspx?pdid=SQL&svid=all_SV&dtid=all_DT&kw=%E3%82%
A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89

タイトルの通り、旧バージョンの SQL Server から SQL Server 2016 への移行やアップグレードする手順や注意すべき点などについて書いておりますので、旧バージョン(SQL Server 2005 以降)の SQL Server を利用なさっている方で、既に SQL Server 2016 への移行またはアップグレードを予定している方はもちろん、検討中の方、興味のある方にも必見の内容となっておりますので、ぜひご覧ください。

目次は次のとおりです。

SQL Server 2016 実践シリーズ No.1 「SQL Server 2016 への移行とアップグレードの実践」の目次

STEP 1. SQL Server 2016 への 移行とアップグレードの概要
1.1 SQL Server 2016 へ移行/アップグレードするメリット 9
- 性能向上
- SQL Server のインメモリ技術
- セキュリティの強化
- SQL Server 2005 と Windows Server 2003/2003 R2 のサポート終了
- SQL Server 2005 から SQL Server 2016 へのデータベースの移行も可能
- SQL Server 2005 からの移行メリット
- SQL Server 2008 以降の DWH/BI 機能
1.2 SQL Server 2016 による早期導入事例(性能向上など) 18
- bwin 社では 120万バッチ リクエスト数/秒を達成
- StackOverflow 社では列ストアの採用、AG のローリング アップグレード
- Jack Henry & Associates 社では 130万予測/秒を達成(R によるローン予測)
- Heartland Bank では SAS を SQL Server 2016+R に置換
- FIS 社では、NCCI を付与するだけで分析クエリの性能が 4、10、20倍に向上
- Moneris Solutions ではアプリを変更することなく 10~20%の性能向上を実現
- PROS では 100倍の性能向上(R を採用)
- Derivco ではアップグレードしただけで同時プレーヤー数が 25%も向上
- Meijer では Analysis Services と Power BI でリアルタイムに近いデータ分析
- その他の事例
- SQL Server 2016 の参考情報
- SQL Server 2016 は TPC-H ベンチマークの 10TB でワールド レコード
1.3 SQL Server 2016 へのアップグレードと移行の概要 31
- アップグレード パス
- 移行可能なデータベース
- SQL Server 2016 をインストール可能な OS
1.4 アップグレードと移行の主なケース 36
- ケース1 同一マシンでのアップグレード(インプレース アップグレード)
- ケース2 新規サーバー(別のマシン)へのアップグレード
- ケース3 新規サーバー(別マシン)への移行(マイグレーション)
- ケース4 同一マシンでの移行(別インスタンスをサイド バイ サイドで実行)
1.5 ケース1「同一マシンでのアップグレード」の手順概要 40
1.6 ケース2「新規サーバーへのアップグレード」の手順概要 41
1.7 ケース3「新規サーバーへの移行」(マイグレーション)の手順概要 43
1.8 第2章以降の内容について 45

STEP 2. Data Migration Assistant による事前チェック
2.1 Data Migration Assistantの概要 47
2.2 Data Migration Assistant のダウンロード/インストール 48
- Data Migration Assistantのインストール
2.3 Data Migration Assistantの利用手順 51

STEP 3. ケース1:同一マシンでの SQL Server 2016 へのアップグレード
3.1 ケース1「同一マシンでのアップグレード」 58
- アップグレード手順の概要
3.2 SQL Server 2016 のアップグレード要件 61 
- SQL Server 2016 へのアップグレード パス
- SQL Server 2016 をインストール/アップグレードするための OS 要件
- SQL Server 2016 をインストールするためのソフトウェア要件
- Management Studio と SSDT はダウンロード提供に変更
3.3 SQL Server 2016 へのアップグレード要件のまとめ 66
3.4 SQL Server 2016 へのアップグレード インストールの手順 67
- アップグレードするインスタンスの選択
- フルテキスト インデックスの再構築
- アップグレード前の最終チェック
- アップグレードの実行
- SQL Server 構成マネージャーでサービスの確認
- SQL Server のビルド番号の確認
- 旧バージョンの管理ツールは削除されない 81
3.5 SQL Server 2016 へのアップグレード後の作業 82
3.6 SQL Server 2016 の修正プログラムのインストール 83
- SQL Server 2016 CU4 のダウンロード/インストール
- CU4 がインストールされたことの確認 ~13.0.2193.0~
- SQL Server 2016 SP1 のをインストールする場合
- SP1+CU1 のインストール
- 最新の修正プログラムに関する情報 ~Release Services ブログ~ 89
3.7 最新版の Management Studio のダウンロードとインストール 90
- Management Studio のインストール 91
3.8 オンライン ブック(Books Online)の参照方法 94
3.9 コマンドライン ツール(sqlcmd、bcp)のパスについて 95
3.10 SQL Server Data Tools(SSDT)のインストール(旧 BIDS) 97
SSDT の最新版のダウンロードとインストール
SSDT のインストールに失敗する場合
- SSDT の起動 ~SQL Server Data Tools 2016~
3.11 統計の更新 102
3.12 データベースの互換性レベルを 130 へ上げる(オプション)
- SQL Server 2016 で利用できるデータベースの互換性レベル
- データベースの互換性レベルを 130 へ上げる
- 互換性レベルの違い
- Data Migration Assistant で事前に互換性レベルの違いを簡単に確認可能
- クエリ ストアで互換性レベルの違いを確認
- 互換性レベル 80(SQL Server 2000 レベル)を利用していた場合
3.13 クエリストアで互換性レベルの違いによる実行プランの比較 111
- 互換性レベルの違いを評価する手順
- クエリ ストアの有効化
- データベース単位での動作変更(データベース スコープ構成)
3.14 SQL Server 2016 で提供が中止された機能 118
- SQL Server 2016 で提供が中止された機能(Discontinued)
- SQL Server 2014 以前のバージョンで提供が中止された機能
- 推奨されない機能(将来のバージョンで提供されなくなる機能)
- 重大な変更(Breaking Changes)
- SQL Server 2014 以前のバージョンでの重大な変更
- SQL Server 2014 以前のバージョンでの動作の変更
3.15 ケース1「同一マシンでのアップグレード」のまとめ 128
- アップグレード手順
3.16 アップグレード前に実行しておくべき作業(バックアップ) 131
- サービス マスター キーのバックアップ
- 全データベースのオフライン バックアップを取得しておく
3.17 アップグレードにかかる時間の見積もり 136
- OS に Windows Server 2008/2008 R2 を利用している場合
- OS に Windows Server 2012/2012 R2 を利用している場合
3.18 レプリケーション、ログ配布、DBM などのアップグレード 140
- レプリケーションのアップグレードの場合
3.19 ログ配布のアップグレード 142
3.20 DBM のアップグレード(ローリング アップグレード) 145
3.21 AlwaysOn 可用性グループのローリング アップグレード 148
- ローリング アップグレードの手順
3.22 WSFC の SQL Server インスタンスのアップグレード 152
3.23 Integration Services のアップグレード 153
- dtexec を利用している場合
- SSIS パッケージのアップグレード ~パッケージのアップグレード ウィザード~
- その他の Integration Services のアップグレードに関する情報
3.24 SQL Server 2008 からの新機能のアップグレード 158
- パフォーマンス データ コレクションの修正
3.25 Reporting Services のアップグレード 165
- Reporting Services のアップグレードに関するその他の情報
3.26 Analysis Services のアップグレード 169
- Analysis Services のアップグレードに関するその他の情報
3.27 その他の機能のアップグレード 173

STEP 4. ケース2 新規サーバー へのアップグレード
4.1 ケース2「新規サーバー(別マシン)へのアップグレード」 175
- アップグレード手順の概要
4.2 現在のマスター環境を新規サーバーへ複製(HWリプレース) 178
- 1. 現在のマスターの SQL Server サービスを停止
- 2. 現在のマスターでオフライン バックアップを取得する
- 3. 現在のマスターを停止して、ネットワークから切り離す
- 4. Active Directory ドメインから旧マスターを削除する
- 5. 新規サーバーへ OS をインストールして、マシン名を同じにする(最も重要)
- 6. 新規サーバーを Active Directory ドメインへ参加させる
- 7. 新規サーバーへ旧マスターと同じ SQL Server をインストールする
- 8. 旧マスターへインストール済みの修正プログラムをインストールする
- 9. 新規サーバーの SQL Server を停止する
- 10. 新規サーバーのシステム データベースを丸ごとオフライン バックアップする
- 11. 旧マスター上で取得したオフライン バックアップを新規サーバーへ復元する
- 12. 新規サーバーの SQL Server を起動する
- 追加の作業(レジストリ、OS の設定)
- Windows のローカル ユーザーを利用している場合の注意点
4.3 レジストリに格納されている情報の再設定 197
- SQL Server サービス関連の設定
- SQL Server Agnet サービス関連の設定
4.4 新規サーバーの OS の設定を再設定する
4.5 データベースの所有者が Windows のローカル ユーザーの場合 203
- データベースの所有者を設定する
4.6 ジョブの所有者が Windows のローカル ユーザーの場合 205
- ジョブの所有者を設定すれば解決
4.7 ログイン アカウントが Windows のローカル ユーザーの場合 208
- Windows のローカル ユーザーに関する設定を再作成/再設定する便利な方法
- データベース ロールのスクリプト化
4.8 管理者アカウントが Windows ローカル ユーザーの場合 215
4.9 ケース2 の残りの作業(ケース1 と同じ) 217
4.10 ケース2「新規サーバーへのアップグレード」のまとめ 218
4.11 アップグレード時間(ダウンタイム)の見積もり 221
- バックアップ時間の見積もり
- ファイルのコピーにかかる時間の見積もり
- tempdb をコピーしないという選択も有り
- オンライン バックアップ時間の見積もり(ユーザー データベースの場合)
4.12 Reporting Services の新規サーバーへのアップグレード 229
- 旧マスターで暗号化キーをバックアップする
- ReportServer、ReportServerTempDB データベースのバックアップ
- Reporting Services インストール時の構成の有無
- 新規サーバーでのオフライン バックアップからの復元
- 暗号化キーの復元
- スケールアウト配置の設定を変更
- 電子メールの設定
- 追加手順のまとめ
- Windows のローカル ユーザーを利用している場合の注意点
- サブスクリプションの所有者が Windows のローカル ユーザーの場合
4.13 Analysis Services の新規サーバーへのアップグレード
- 旧マスターでデータベースのオンライン バックアップ
- 新規サーバーでのオンライン バックアップからの復元
- Analysis Services の構成オプション
- 手順のまとめ
- Windows のローカル ユーザーを利用している場合の注意点

STEP 5. ケース3 新規サーバー への移行
5.1 ケース3「新規サーバー(別マシン)への移行」 246
- 移行手順の概要
5.2 新規サーバーへの SQL Server 2016 のインストール要件 249
- インストール要件
- .NET Framework 3.5 SP1のインストール(データベース メール利用の場合)
5.3 SQL Server 2016 のインストール手順 251
- インストールする機能の選択
- サービス アカウントの設定
- 照合順序の設定(以前の SQL Server と同じ Japanese_CI_AS が既定値)
- 認証モードの設定
- データ ディレクトリ(DATA フォルダー)の設定
5.4 SQL Server 2016 の修正プログラムのインストール 268
- SQL Server 2016 CU4 のダウンロード/インストール 268
5.5 最新版の Management Studio のダウンロード/インストール 269
5.6 データベースの移行 ~バックアップと復元機能を利用~ 270
- 移行可能なデータベース
- データベースの移行の概要
- 1. 移行元の SQL Server でデータベースの完全バックアップを取得する
- 2. 移行元で取得した完全バックアップを移行先サーバーへコピー
- 3. 移行先サーバー(SQL Server 2016)でバックアップを復元する
- 復元後のデータベースの状態
- 復元後に行った方が良い作業
- 復元後に動作しないもの
5.7 統計の更新 282
5.8 フルテキスト インデックスの再構築 (フルテキスト検索利用の場合) 283
- フルテキスト インデックスの再構築 ~カタログの再構築~
- インデックス作成の開始
5.9 互換性レベルを 130 へ上げる(オプション) 286
- SQL Server 2016 で利用できるデータベースの互換性レベル
5.10 データベースの所有者を確認/空の場合は設定する 288
- データベースの所有者が「空」の場合の影響
- データベースの所有者を設定する
- データベース ダイアグラムの表示
5.11 SQL CLR オブジェクトの移行 291
- TRUSTWORTHY を有効化する
- データベースの所有者の設定(空の場合はエラーになる)
- サービス アカウントにアクセス権限があることを確認
5.12 バックアップ/復元で移行できるもの/できないもの 293
- バックアップ/復元では移行できないオブジェクト 293
- システム データベースに含まれるものは? 294
5.13 ログイン アカウントの移行(DB ユーザー、オブジェクト権限) 295
- Active Directory ユーザー(ドメイン ユーザー)の場合
- Windows のローカル ユーザーの場合
- SQL Server 認証用のログイン アカウントの場合
- データベース ロールのスクリプト化
5.14 サーバー ロール設定の移行 311
- サーバー ロール設定のスクリプト生成
5.15 tempdb の設定の移行 315
- SQL Server 2016 のインストール時に tempdb の設定を変更
- tempdb の設定を変更する場合
5.16 リンク サーバー設定の移行 317
- リンク サーバー設定のスクリプト生成
5.17 バックアップ デバイスの移行 319
- バックアップ デバイス設定のスクリプト生成
5.18 ユーザー定義エラーの移行 320
- ユーザー定義エラーのスクリプト化
5.19 構成オプション(sp_configure)の移行 322
- 既定値から変更のあった構成オプションのみを表示
- 構成オプションのスクリプト化
- SQL Server 2016 でサポートされなくなった構成オプション
5.20 TDE(透過的なデータ暗号化)の移行 328
- サーバー証明書の移行(バックアップとリストア)
5.21 msdb データベースに含まれる情報の移行 331
5.22 データベース メール設定の移行 332
- データベース メール設定のスクリプト化
- データベース メールの利用には .NET Framework 3.5 SP1が必要
5.23 SQL Server エージェントのプロパティ設定の移行 336
5.24 オペレーターの移行 338
- オペレーターのスクリプト化
5.25 ジョブの移行 340
- ジョブのスクリプト化
5.26 警告の移行 344
- 警告のスクリプト化
- 警告の応答で「ジョブの実行」を設定している場合の追加作業
- 警告でオペレーターへの通知を設定している場合の追加作業
5.27 メンテナンス プラン(保守計画)の移行 349
5.28 Integration Services の SSIS パッケージの移行 351
- SSIS パッケージのアップグレード
5.29 再作成が必要なもの 354
5.30 レジストリに格納されている情報の再設定 355
5.31 OS の設定を再設定する 356
- NTFS アクセス許可の再設定
- ユーザーの権利(瞬時初期化など)の再設定
5.32 ケース3「新規サーバーへの移行」のまとめ 357
5.33 移行にかかる時間(ダウンタイム)の見積もり 360
- データベースの移行にかかる時間の見積もり
5.34 Reporting Services の新規サーバーへの移行 363
- 1. ReportServer、ReportServerTempDB データベースのバックアップ
- 2. 移行元で暗号化キーをバックアップする
- 3. 移行先で Reporting Services をインストール。「インストールのみ」を選択
- 4. 移行先で、データベースを復元する 366
- 5. 移行先で、暗号化キーを復元する 370
- 6. 移行先で、Reporting Services を構成する 371
- 7. 電子メールの設定 372
- Windows のローカル ユーザーを利用している場合の注意点 374
- サブスクリプションの所有者が Windows のローカル ユーザーの場合 375
- Reporting Services の移行に関するその他の情報 377
5.35 Analysis Services の新規サーバーへの移行
- 移行元でデータベースのオンライン バックアップ
- 移行先でオンライン バックアップから復元
- Analysis Services の構成オプション
- Windows のローカル ユーザーを利用している場合の注意点
- Analysis Services の移行に関するその他の情報
- おわりに

また、先に SQL Server 2016 への新機能について把握しておきたいという方は、SQL Server 2016 自習書シリーズ No.1 の「SQL Server 2016 の新機能の概要」をご覧ください。

こちらは、下記の SQL Server 2016 のページの下部にある 「SQL Server 2016 製品版自習書をダウンロードする」セクションからダウンロードすることができます。
http://www.microsoft.com/ja-jp/cloud-platform/products-SQL-Server-2016-Evaluate.aspx

■ おわりに
先月ぐらいまでは、こもって作業をしていることが多かったので、今月からは意識して歩くようにしています。花が咲いていると歩くのも楽しくなってきます。そこに鳥が加わると、すごく眼の保養になりますね。

新宿御苑のカンザクラ

事例1

MPNロゴ


SQLQualityは執筆とセミナーを通じて技術の啓蒙やエンジニアの育成支援も行っています
最新刊
SQL Server 2016 の教科書
SQL Server 2016 の教科書(ソシム)

弊社オリジナル制作の
SQL Server 2016 自習書も
マイクロソフトのサイトで公開中!
ダウンロードはこちら
セミナー風景
セミナー風景

ロングセラー
ASP.NET でいってみよう  SQL Server 2000 でいってみよう
ASP.NET でいってみよう
第7刷 16,500 部発行
SQL Server 2000 でいってみよう
第12刷 28,500 部発行
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要
SQL Server 2014 CTP2 インメモリ OLTP 機能の概要(Amazon Kindle 書籍)

弊社執筆の
SQL Server 2014 自習書
マイクロソフトのサイトで公開中
目次はこちら

弊社執筆の
SQL Server 2012 自習書
マイクロソフトのサイトで公開中
ダウンロードはこちら
松本美穂のコラム
(公開活動などのお知らせ)

第56回:「SQL Server 2016 への移行とアップグレードの実践」完成&公開!
第55回:書籍「SQL Server 2016の教科書 開発編」(ソシム)が発刊されました
第54回:「SQL Server 2016 プレビュー版 Reporting Services の新機能」自習書のお知らせ
第 53 回:SQL Server 2016 Reporting Services の新しくなったレポート マネージャーとモバイル レポート機能
第 52 回:SQL Server 2016 の自習書を作成しました!
第 51 回:PASS Summit と MVP Summit で進化を確信!
第 50 回:新しくなった Power BI(2.0)の自習書を作成しました!
第49 回:Excel 2016 の Power Query を使う
第 48 回:新しくなった Microsoft Power BI ! 無料版がある!!
第 47 回:「Microsoft Azure SQL Database 入門」 完成&公開!
第 46 回:Microsoft Power BI for Windows app からの Power BI サイト アクセス
第 45 回:Power Query で取得したデータを PowerPivot へ読み込む方法と PowerPivot for Excel 自習書のご紹介
第44回:「SQL Server 2014 への移行とアップグレードの実践」ドキュメントを作成しました
第43回:SQL Server 2014 インメモリ OLTP 機能の上級者向けドキュメントを作成しました
第42回:Power Query プレビュー版 と Power BI for Office 365 へのクエリ保存(共有クエリ)
第41回:「SQL Server 2014 CTP2 インメモリ OLTP 機能の概要」自習書のお知らせです
第40回: SQL Server 2012 自習書(HTML版)を掲載しました
第39回: Power BI for Office 365 プレビュー版は試されましたか?
第38回: SQL Server 2014 CTP2 の公開
第37回: SQL Server 2014 CTP1 の自習書をご覧ください
第36回: SQL Server 2014 CTP1 のクラスター化列ストア インデックスを試す
第35回: SQL Server 2014 CTP1 のインメモリ OLTP の基本操作を試す
第34回: GeoFlow for Excel 2013 のプレビュー版を試す
第33回: iPad と iPhone からの SQL Server 2012 Reporting Servicesのレポート閲覧
第32回: PASS Summit 2012 参加レポート
第31回: SQL Server 2012 Reporting Services 自習書のお知らせ
第30回: SQL Server 2012(RTM 版)の新機能 自習書をご覧ください
第29回: 書籍「SQL Server 2012の教科書 開発編」のお知らせ
第26回: SQL Server 2012 の Power View 機能のご紹介
第25回: SQL Server 2012 の Data Quality Services
第24回: SQL Server 2012 自習書のご案内と初セミナー報告
第23回: Denali CTP1 が公開されました
第22回 チューニングに王道あらず
第21回 Microsoft TechEd 2010 終了しました
第20回 Microsoft TechEd Japan 2010 今年も登壇します
第19回 SQL Server 2008 R2 RTM の 日本語版が公開されました
第18回 「SQL Azure 入門」自習書のご案内
第17回 SQL Server 2008 自習書の追加ドキュメントのお知らせ
第16回 SQL Server 2008 R2 自習書とプレビュー セミナーのお知らせ
第15回 SQL Server 2008 R2 Reporting Services と新刊のお知らせ
第14回 TechEd 2009 のご報告と SQL Server 2008 R2 について
第13回 SQL Server 2008 R2 の CTP 版が公開されました
第12回 MVP Summit 2009 in Seattle へ参加

技術コミュニティでも活動中

Microsoft MVP for SQL Server

松本美穂松本崇博

松本崇博 Blog(SQL Server Tips)
松本美穂ブログ(SQL Serverノート)