致命的なエラー(0x80070643)から始まる異世界生活(SSMS)
SQL serverをローカルPCにインストール
ちょっと色々なご縁がありまして、データサイエンティスト研修やってます。
その中で、教材が何故かSQL Serverというレアな状態になっております。
得意なSynapse Analyticsじゃないのが謎です。
実は学習用として考えると、一カ月500円強(4.90 USDなので、現在の相場ですと750円になりますね…)で使える、AzureSQLが最強なのですが…(AzureはMySQLよりSQLサーバーのほうが安いんです)
いかんせん教材が、SSMSを前提にしているので、クエリエディタベースのAzureSQLを使ったところで…となって仕方がないので少し時間を使ってSQLサーバーをインストールしました。
SSMSをインストール
ここでSQL Server Management Studio (SSMS) って何のこと?となっている方も多いかと思いますので、正式な解説を…
ざっくり言うと、SQLコマンド実行できるIDEだと思っていただければ(コマンド入力したり色々できる画面位なイメージで)
実はそれ以外にも機能が盛りだくさんなので、Windows ユーザーの方は慣れておいても損はないかもしれません
実は実は…クロスプラットフォーム対応していないので、MACユーザーさんや、Linuxユーザーさんが置いてけぼりになる欠点はありますね…
そんな時は、Azure Data Studioをご利用下さい
SSMS は Windows (AMD または Intel) 上でのみ動作します。 Windows 以外のプラットフォーム上で実行されるツールが必要な場合は、Azure Data Studio をご覧ください。 Azure Data Studio は、macOS、Linux、さらに Windows 上で実行されるクロスプラットフォーム ツールです。 詳しくは、Azure Data Studio に関する記事をご覧ください。
MS公式ドキュメントより
いや、そっち頑張るなら、SSMSをLinux、MAC対応させてくだ…w
何故か発生する落とし穴2連発!
さて、DBのインストールは、結構色々やっている関係で、スムーズに(少し時間はかかりましたが)完了しまして(あまり大きな落とし穴がある印象はありませんでした)
ここで、SSMSをインストール!と何も考えずに公式ドキュメントの一番上に出てくる下の画像のSSMSのダウンロードに飛ぶ訳です
※ここが最初お落とし穴w
SQLサーバーをインストールした直後の画面から出てくるSSMSをインストールする、というボタンからも同じ英語ファイルを落としちゃいますので、ご注意ください
『SQL Server Management Studio (SSMS) 18.12.1 の無料ダウンロード』が、まさかの最初の落とし穴なのです…
ここからダウンロードできるファイルを使うと…SSMSのUIが英語のままになってしまいます。
言語切り替え自体は、OSと同じ物を選択できる(はず)なのですが、テストした範囲では、英語→日本語の切り替えができませんでした
通常、この手のソフトは、『日本語化』をインストール後に実行できるので、Google先生に(BINGさんごめんなさい)質問して、
えっと…さっきの公式ドキュメントの少し下にいらっしゃる『日本語版』のインストーラーを入れなきゃダメというのを把握
ファイル名が [SSMS-Setup-JPN] ではない場合、日本語版ではありません。ダウンロードからやり直してください。
SQL Server Management Studio 18 の日本語化 から引用
仕方がないので、この記事を信じて、SSMS-Setup-JPNをダウンロードして、そのまま(英語側のSSMSは消さずに)インストール!
しばらく他の作業をして、様子を見たら…エラーが出ていて再起動とか言ってる!
仕方がないから再起動して、再実行
・・・
・・・
・・・
・・・
また同じエラーが出る…
さすがに、英語版のSSMSが残ってるからいけないのかな?と思って、アンインストールして再実行
・
・・
・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・
なんと!
エラーが止まらない
しかも出てくるメッセージが、なんだか残酷
SSMS エラーメッセージより引用
- "MSI パッケージをインストールできませんでした"
- "Microsoft ODBC Driver 17 for SQL Server: 前回行ったインストールでは、変更を反映するために再起動する必要がありました。"
- エラーログはhogehogeにあります!(的な事が書いてあったはずです)
- ‥‥
- "インストール中に致命的なエラーが発生しました (0x80070643)"
ところが、このエラーメッセージ、エラーログを見ろ!が先に書いてあって、見てもなんだか分からないという代物
検索結果トップの解決方法が落とし穴
SSMS 0x80070643 というバッドフレーズをGoogle先生に質問して、(BING先生ごめんなさい!2回目9見つけた情報がこちら(何故か先日はこちらのブログが本家よりも上に出てきていたんですよね)
調べてみるとVisual Studioなどをインストールしていなかった場合によく出るエラーらしいのです。
いやいやいやいや、、、、なんでVSをインストールしないとダメなんですか?
と、軽めに頭がこんがらがった次第でした。さて、ここでキーワードとなる、"Microsoft ODBC Driver 17 for SQL Server"も追加してGoogle先生にご質問
最後の最後で分かった事なのですが、、、、
これらの手順に従い、"Microsoft ODBC Driver 17 for SQL Server" をアンインストールしてから SSMS のインストールを始めると、一般的に、以前に上記のようなエラー メッセージで失敗した場合にセットアップが正常に実行されるのが一般的です。
Microsoft公式ドキュメントより
という事で、"Microsoft ODBC Driver 17 for SQL Server" をアンインストールしてから SSMS のインストール!
無事にインストール出来ました
公式ドキュメント読みましょう
基本、Microsoftさんの公式ドキュメント、読めば読むほど迷子になるので、どうにかして欲しいのですが、
ちゃんと公式ドキュメントのエラー対応方法を読むのが正解でしたという教訓でした(時たま読んでも解決しないこととかはありますがw)
エラーメッセージは検索可能にして欲しい
最後に、、、、この手のエラーメッセージは、検索時に手打ちしなくても良いよいに、全文をコピーできるようにしておいて欲しいですよね
という愚痴でした
はい、公式ドキュメントは、ちゃんと最後まで読みましょう!(読むと違うリンクに飛ばされて迷子になるんですけどねwww)