OSX で SQL Server vNext 動かしてみた

SQL Server vNext はOSXではDocker上で動作すると聞いて。
実際にインストールまでやったので簡単に手順をまとめておきます。

手順はあってる気がしますが、mssql とすると、接続エラー起こすので手順は途中です!

私の環境はこちらです。(老体にムチ…という感じの4年物のMacBook Airです)

about_this_mac

 

1.Docker をインストールします

https://docs.docker.com/docker-for-mac/からお好きな方をダウンロードします。

私はStable channelを使用しました。(もしかしたら、Sierraではこのバイナリうまく動作しないのかもしれないです。)

get_started_with_docker_for_mac_-_docker

 

ダウンロードしたdmg ファイルをダブルクリックすると、Applicationへコピーする画面が出るので、そのままドラッグ&ドロップします。

docker_and_%e6%96%b0%e8%a6%8f%e6%8a%95%e7%a8%bf%e3%82%92%e8%bf%bd%e5%8a%a0__exception_-_wordpress

初回起動時に、ダウンロードモジュールなので下記の警告が出ますがOpenします。

screenshot_2016_11_19_9_26

ウィザードに従います。

%e6%96%b0%e8%a6%8f%e6%8a%95%e7%a8%bf%e3%82%92%e8%bf%bd%e5%8a%a0__exception_-_wordpress_and_miho_-_-bash_-_120x48

%e6%96%b0%e8%a6%8f%e6%8a%95%e7%a8%bf%e3%82%92%e8%bf%bd%e5%8a%a0__exception_-_wordpress_and_miho_-_-bash_-_120x48

権限付与のウィンドウで管理権限のあるユーザーのID・パスワードを入力します。(画面取るの忘れちゃった。。。)

インストールが終わるとこのような画面が表示されます。

item-0_and_item-0_and_item-0_and_item-0_and_item-0_and_item-0

docker のインストール完了です。

miho_-_-bash_-_120x48

 

2.SQL Server vNext をインストールします

※基本はマニュアル通り写経するだけですが、ローカルのディレクトリとのマップをする場合はディレクトリをあらかじめ作成しておきましょう。(私の場合/Users/Miho/Library/DockerImagesってのを作りました。)

Mihos-MacBook-Air:~ Miho$ sudo docker pull microsoft/mssql-server-linux

Password:

Using default tag: latest

latest: Pulling from microsoft/mssql-server-linux

7dcf5a444392: Pull complete 

759aa75f3cee: Pull complete 

3fa871dc8a2b: Pull complete 

224c42ae46e7: Pull complete 

76c0e9bd5603: Pull complete 

f6f1f8309800: Pull complete 

2f187a07b883: Pull complete 

Digest: sha256:238006156e6bcc098105759fc0e16130cc053673cdec6b567f17b4c7e79ed75a

Status: Downloaded newer image for microsoft/mssql-server-linux:latest

Mihos-MacBook-Air:~ Miho$  docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Sql4ever!' -p 1433:1433 -d microsoft/mssql-server-linux

9dbb368c2261115ece6b3934c102a60b7a931cf8f91ab12c32ae1d0dfae6930b

 

3.sql-cli のインストール

OSXの場合、sqlcmd がサポートされていないためsql-cli を使用します。

私の環境では、npm も node もバージョンが古かったので下記のエラーに遭遇してしまいました。

Mihos-MacBook-Air:~ Miho$ npm install -g sql-cli

npm http GET https://registry.npmjs.org/sql-cli

npm http GET https://registry.npmjs.org/sql-cli

npm http GET https://registry.npmjs.org/sql-cli

npm ERR! Error: SSL Error: CERT_UNTRUSTED

npm ERR!     at ClientRequest.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/main.js:440:26)

npm ERR!     at ClientRequest.g (events.js:185:14)

npm ERR!     at ClientRequest.EventEmitter.emit (events.js:88:17)

npm ERR!     at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1455:7)

npm ERR!     at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23)

npm ERR!     at CleartextStream.socketOnData [as ondata] (http.js:1366:20)

npm ERR!     at CleartextStream.CryptoStream._push (tls.js:492:27)

npm ERR!     at SecurePair.cycle (tls.js:846:20)

npm ERR!     at EncryptedStream.CryptoStream.write (tls.js:227:13)

npm ERR!     at Socket.ondata (stream.js:38:26)

npm ERR! If you need help, you may report this log at:

npm ERR!     <http://github.com/isaacs/npm/issues>

npm ERR! or email it to:

npm ERR!     <npm-@googlegroups.com>

npm ERR! System Darwin 16.1.0

npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "sql-cli"

npm ERR! cwd /Users/Miho

npm ERR! node -v v0.8.7

npm ERR! npm -v 1.1.49

npm ERR!

npm ERR! Additional logging details can be found in:

npm ERR!     /Users/Miho/npm-debug.log

npm ERR! not ok code 0

いい機会だったので brew で nodebrew を入れ直し、node 及び npm を入れ直しました。入れ直す方法はかなり試行錯誤で汚かったので割愛させていただきます。

インストールがきちんと出来た場合は下記のようなログが出力されます。

Mihos-MacBook-Air:~ Miho$ npm install -g sql-cli

/Users/Miho/.nodebrew/node/v7.1.0/bin/mssql -> /Users/Miho/.nodebrew/node/v7.1.0/lib/node_modules/sql-cli/bin/mssql

/Users/Miho/.nodebrew/node/v7.1.0/lib

└─┬ sql-cli@0.4.9

  ├── chardet@0.1.0

  ├─┬ commander@2.9.0

  │ └── graceful-readlink@1.0.1

  ├── easy-table@1.0.0

  ├── iconv-lite@0.4.13

  ├─┬ mssql@3.3.0

  │ ├── generic-pool@2.5.0

  │ ├── promise@7.1.1

  │ └─┬ tedious@1.14.0

    ├─┬ babel-runtime@5.8.38

    │ └── core-js@1.2.7

    ├── big-number@0.3.1

    ├─┬ bl@1.1.2

    │ └── readable-stream@2.0.6

    ├─┬ readable-stream@2.2.2

    │ ├── buffer-shims@1.0.0

    │ ├── core-util-is@1.0.2

    │ ├── inherits@2.0.3

    │ ├── isarray@1.0.0

    │ ├── process-nextick-args@1.0.7

    │ └── string_decoder@0.10.31

    ├── semver@5.3.0

    └── sprintf@0.1.5

  ├── mstring@0.1.2

  ├─┬ q@2.0.3

  │ ├── asap@2.0.5

  │ ├── pop-iterate@1.0.1

  │ └── weak-map@1.0.5

  ├── sprintf-js@1.0.3

  ├── underscore@1.8.3

  ├─┬ underscore.string@3.3.4

  │ └── util-deprecate@1.0.2

  └── ya-csv@0.9.4

 

どうも、OSXのDockerの扱いがうまくいっていない私なので、どこまで動いてるか怪しい状態です。

もう少し試行錯誤してアップデートしていきたいと思います。

 

参考リンク

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-docker

https://www.npmjs.com/package/sql-cli

 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中