http://social.technet.microsoft.com/wiki/contents/articles/16088.azure-sql-iaastempdb-ja-jp.aspx
Azure仮想マシンでは、Dドライブが物理マシンのローカルストレージに割り当てられていてBLOBからやってくるドライブよりも高速ということになっている。SQL Server においては tempdb が暗黙的に多く利用されており、tempdb をD:ドライブに割り当てると効率的。
ただし、「一時ドライブ」との名称の通り、再起動時に消えることがある。具体的にはマシンのサイズを変更するとほとんどの場合空になる。
tempdb ファイルは自動的に再作成されるのだが、作成先のフォルダまでは自動作成してくれない。またD:\直下に置くという選択肢もあるが、この場合は SQL Server のサービスに管理者に近い高い権限を付与しなければならず、できれば避けたい。
今回はバッチファイルを作成し、タスクスケジューラを利用してOS起動時に実行するようにして対応した。(PowerShell に慣れねば…)
C:\mkdirtempdb.cmd の内容
mkdir D:\MSSQL\MSSQL10_50.MSSQLSERVER\MSSQL\Data
icacls D:\ /restore C:\icaclstempdb.txt
sc start mssqlserver
C:\icaclstempdb.txt の内容
MSSQL
D:(A;;FA;;;BA)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;SY)(A;OICIIOID;GA;;;CO)(A;OICIID;0x1200a9;;;BU)(A;CIID;LC;;;BU)(A;CIID;DC;;;BU)
MSSQL\MSSQL10_50.MSSQLSERVER
D:(A;;FA;;;BA)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;SY)(A;OICIIOID;GA;;;CO)(A;OICIID;0x1200a9;;;BU)(A;CIID;LC;;;BU)(A;CIID;DC;;;BU)
MSSQL\MSSQL10_50.MSSQLSERVER\MSSQL
D:(A;;FA;;;BA)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;SY)(A;OICIIOID;GA;;;CO)(A;OICIID;0x1200a9;;;BU)(A;CIID;LC;;;BU)(A;CIID;DC;;;BU)
MSSQL\MSSQL10_50.MSSQLSERVER\MSSQL\Data
D:(A;;FA;;;BA)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;SY)(A;OICIIOID;GA;;;CO)(A;OICIID;0x1200a9;;;BU)(A;CIID;LC;;;BU)(A;CIID;DC;;;BU)
# Windows 8 の WordPressアプリから投稿してみた