SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

SQL Server 2017 への移行とアップグレードの実践(AD)

SQL Serverのアップグレードを助ける2つのツール

 SQL Serverをアップグレードするためには様々な懸念点があることを前回お伝えしました。今回は、そのような懸念点を解消してくれるツールを2つご紹介したいと思います。

1.Data Migration Assistant(DMA)

 DMAは、データベースの互換性を検証するツールです。

 アップグレードをしようとした時に最も気になる点は、SQL Serverをバージョンアップした時にどれぐらい影響があるかだと思います。アップグレード時に廃止される機能、非サポートの機能がシステムでどれぐらい使用されているを確認する為には多くの時間が必要です。

 このツールを使用することで、アップグレードにより互換性に影響がある箇所を洗い出してくれます。

DMAのインストール

 DMAのシステム要件やダウンロードサイトはこちらをご確認ください。

 移行元データベースの互換性を確認するツールなので、互換性を確認するだけであれば移行先の環境は必要ありません。また、対応OSはWindows Server 2012以上なので、SQL Server 2008で使用している可能性が高いWindows Server 2008では動かず、自PCや別サーバーにDMAをインストールして、リモートで接続する必要があります。ちなみに、移行対象としてAzure SQL Databaseにも対応しているので、Azureへの移行を検討している方にも使えそうです。

 DMAの使用

 実際にDMAを使用してみます。今回使用するバージョンは、3.4になります。DMAを起動すると、以下の画面が立ち上がります。「+」ボタンをクリックして、プロジェクト情報を指定します。

  •  Project Type:Assessment/Migrationを指定
  •  Migrationを選択すると、データを移行することが可能。評価の場合Assessmentを選択
  •  Project name:任意のプロジェクト名
  •  Source server type:SQL Serverのみ
  •  Target server type:SQL Server/Azure SQL Database/SQL Server on Azure Virtual Machines

 設定後、Createをクリックしてプロジェクトを作成します。

 次に、レポートに出力したい評価内容を選択します。

  •  Select target version:移行対象のSQL Serverのバージョンを指定
  •  Select report type
  •  Compatibility Issues:互換性に問題がある機能の提示
  •  New features’ recommendation:推奨機能の提示
  •  Check feature parity:SQL Server 2017 on Linuxを指定した場合の互換性を提示

 上記設定後、Nextをクリックします。

 最後に評価対象のデータベースを指定します。接続するサーバーのサーバー名と認証タイプを指定し、次の画面で評価したいデータベースを選択します。

 選択後、Start Assessmentをクリックすると、評価が開始されます。

レポート

 出力されたレポートが以下になります。

 アップグレードで影響がある箇所がCompatibility(互換性レベル)毎にレポートされています。上記だと、tpccというデータベースでUnqualified Join(s) detectedという仕様変更が発生する可能性があり、dbo.newordプロシージャとdbo.slevで使用していると指摘されています。ちなみにこの指摘は、テーブル結合の記載でINNER JOIN等を使用せずにWHERE句でa.col1 = b.col1のように記載していると稀に直積結合になる可能性がある為、INNER JOINの使用を推奨しています。

 このように、問題箇所とその機能を使用しているオブジェクトをレポートで確認できるので、アップグレードによる互換性の問題箇所を簡単に特定することができます。ただし、レポートの対象はシステムの全てではなくSQL Serverのデータベース内にあるオブジェクトであり、アプリケーション側のクエリは当然ながら対象外ですので、この点はご注意いただければと思います。

【参考資料】『SQL Server 2016 実践シリーズ No.1 SQL Server 2016 への移行とアップグレードの実践』の無料ダウンロードはこちらからどうぞ!

次のページ
2.Database Experimentation Assistant(DEA)

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
SQL Server 2017 への移行とアップグレードの実践連載記事一覧

もっと読む

この記事の著者

内山義夫(ウチヤマ ヨシオ)

株式会社インサイトテクノロジー
コンサルティング事業部 シニアコンサルタント 2005年にインサイトテクノロジー入社。 Oracleの設計やトラブルシューティングをメインに、SQL ServerやMySQLなどボーダレスに渡り歩く。 最近ではDBの移行コンサルティングがメインになりつつある。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/11142 2018/09/07 06:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング