SQL Server 2005 Express Editionを消し去って、SQL Server 2008 Express Editionをインストールしました。2005時代のファイルはデタッチしていたので、2008で再びアタッチしようと思うと苦難の道のりが…。

  • まぁいいやでProgram Files配下にData格納フォルダを作ってしまったので、2005時代のmdfファイルを移動するために「管理者として実行」が必要だった。
  • 2008はどうやら自分が認めたところ以外のDataフォルダはガン無視する(?)ようで、よそのフォルダにあるmdfファイルをアタッチすることが難しい。おそらくACLをうまく設定すればいけるかもしれないが…。
  • 移動したmdfファイルに対して適切なACLを設定しないとアタッチに失敗する。なおかつ、Management Studioを「管理者として実行」しないとだめだった。これはおそらくDataフォルダをProgram Files配下に作ったことも影響しているだろう。必要な権限はSQL Serverの動作アカウントをどれにしたかでも多少変化するが結構大変かも。

msdnにもあるだろうけれど、時間があればまとめよう。