DevTableGen.exe の苦情!

どこに文句を言っていいかわからないので、記事にしてみた。


Windows Azure の 開発用に使用するストレージは、Development Storage っていうのがいて、こいつは裏で SQL SERVER を使ってる。
Storage には、Blob、Queue、Table の3種類があるんだけど、Table っていうのを使用するためにデータベースを作成する DevTableGen ってツールがある。
※Blob と Queue は http://msdn.microsoft.com/ja-jp/azure/dd627468.aspx を参考にしてたら勝手に使えるようになるみたい。


で、DevTableGen ってのを使ってみたんだけど、エラーがでる。

DevTableGen : error DG100 : Unable to generate database: 'このログインで要求されたデータベース "MASTER" を開けません。ログインに失敗しました。
ユーザー '<コンピュータ名>\<ユーザー名>' はログインできませんでした。'

エラーを見ると ログインはWindows認証で行ってる様なので、
Windows認証でログインしてもデータベースが作成出来る様に権限を変えて試してみたけどダメ!なんで〜?


調べてみたけど、DevTableGen の情報(日本語)があまりない。なので、暫くエラーメッセージと SQL SERVER を眺めてたら閃いた!
SQL SERVER の サーバー照合順序 を JAPANESE_BIN_2 にしているのが原因じゃないのかと。
エラーメッセージ で MASTER が大文字になっているけど、実際のデータベース名 は master だ。


照合順序によっては、大文字小文字の区別が無いから正常に動作する場合もあるけど BIN の場合は大文字小文字の区別をする。
ってことで、SQL SERVER 2005 EXPRESS を再インストールしてみた。(サーバーの照合順序を変更するのは大変なんだよ…)
で見事成功!


しかし、照合順序って普通どうするんだろうねぇ〜?
サーバーの照合順序は規定(Japanese_CI_AS)でデータベース毎に、変更するのかなぁ?