IISにASP.NETアプリケーションのインポートメニューを追加する

【環境】

  • Windows Server 2008 R2 SP1
  • IIS 7.5

【内容】

ASP.NETアプリケーションをIISに配置する際にIISの「アプリケーションのインポート」を使えば余計なファイルをコピーせずに配置できるのですが、既定ではこのメニューはついていなかったんですね。

「アプリケーションのインポート」その他展開メニューを追加するには「Web配置ツール」をインストールする必要があります。Web配置ツールは以下のリンク先からダウンロードできます。また、Web PI からもインストールすることもできます。


Reporting Services をインストール後、サーバー名を変更したときの対処法

Reporting Services をインストールした時にいくつかの設定はインストール時のサーバー名を使用しているため、後でサーバー名を変更するとReporting Services が正常に動作しなくなります。

ここではサーバー名を変更した後に Reporting Services の設定を変更すべき個所を説明します。

【環境】

  • SQL Server 2008 R2

■参照データベースのサーバー名

Reporting Services インストール時は参照データベースのサーバー名がインストール時のサーバー名になっているのでそれを変更後サーバー名、または localhost に変更します。

  1. スタートメニューから「Microsoft SQL Server 2008 R2」⇒「構成ツール」⇒「Reporting Services 構成マネージャー」を選択
  2. 左のメニューから「データベース」を選択
  3. 右のビューから「データベースの変更」をクリック
  4. 「既存のレポート サーバー データベースを選択する」にチェック
  5. 「サーバー名」を新しいサーバー名にするか「localhost」に変更。正常に接続できるかテストする。
  6. レポート サーバー データベースの選択で「ReportServer」を選択
  7. 後はそのままウィザードをすすめる (構成に数分かかる場合があります)

 

他にはユーザーがデータソースなどでサーバー名を直接指定している場合はそれらをすべて変更する必要があります。


[SSAS] 名称などのディメンションの並び順を別の属性(列)の値をもとに並び替えるようにする

ディメンションを作成した直後は自分自身の属性の表示名称をもとに並び替えられるようになっているため、名前に関連する属性は文字コード順で並び替えられてしまいます。また、数値であっても文字列として並び替えられるので「1,10,11,12,2,3…」のようになってしまいます。

並び替えの変更で一番簡単なのはKeyColumnを変更し、Orderby をKeyにすることです。手順は以下のようになります。

少し手順が多いので箇条書きで書きます。

■キーによる並び替え設定手順

  1. 並び順を変更するディメンション(.dim)を開く
  2. 設定変更対象の属性を選択、プロパティを開く
  3. KeyColumns プロパティからキー列を開き、他の列の値で並び替えしたい列を右のリストに移動させる。複数の列選択可、上の項目ほど優先度が高い
  4. NameColumn を開き、表示名称を選択する
  5. OrderBy を「Key」に変更

以上の方法で別の列の値をもとに並び替えられるので確認してみてください。

上記の方法は簡単なのですが欠点が一つあり、キー項目を変えてしまっているため、キーを使用している箇所に影響が出る場合があります。たとえば、Reporting Services のレポートではフィルターをキーで管理しているため、レポートのフィルターで特定の値をフィルターで設定した後に、KeyColumns で設定した値が変更されてしまうと、レポートにフィルター設定が無効になってしまう場合があります。特に設定したキーが自動付番であったりすると確実に影響します。

 

そこで別な並び替えの設定としては「属性キー」を使用した並び替えを行う方法があります。こちらは対象属性のキーを変更しないため上記のように見た目の値が変更されていないにも関わらず内部のキーが変わってしまうという事態を防ぐことができます。ただし、データの持ち方はシステムそれぞれですので、どちらを採用するかは開発者の判断に任せます。

属性キーを使用した並び替えの設定は以下のようになります。

■属性キーによる並び替え設定手順

  1. 並び順を変更するディメンション(.dim)を開く
  2. 「属性リレーションシップ」のタブを選択
  3. 並び替えを変更する属性を右クリックして「新しい属性リレーションシップ」を選択
  4. 属性リレーションシップの作成ダイアログで「関連属性」の名前から並び替えの基準にしたい列(属性)を選択、OKボタンをクリック
  5. 「ディメンション構造」タブをクリック
  6. 並び替え変更対象の属性を選択し、プロパティを表示
  7. OrderBy を「AttributeKey」に変更
  8. OrderByAttribute から先ほど並び替え対象に選択した属性を選択

一応属性の少ないシンプルなディメンションであれば上記の手順で並び替えは可能なのですが、階層化されていたり、多くの属性が存在する場合は手順が複雑になるかもしれません。

 

【参考】


VBScript から ADO を使ったデータベース接続に必要な接続文字列

メモです。.NET で ADO.NET を使った時と接続文字列が違うので注意が必要ですね。

 

Windows 認証

Driver={SQL Server}; server=<サーバー名>; database=<データベース名>;

 

SQL Server 認証

Driver={SQL Server}; server=<サーバー名>; database=<データベース名>; uid=<ユーザー名>; pwd=<パスワード>;

 

Windows 認証と SQL Server 認証の違いはユーザー名とパスワードの指定があるかないかの違いだけで他は同じです。


SQL Server データベースの自動バックアップ

今まで SQL Server のデータベースのバックアップは SSIS や Windows タスクを使用したバックアップ SQL でやってたのですが、SQL Server Management Studio を使えば簡単にバックアップスケジュールを組めたんですね。

せっかくなのでその手順を簡単に書いておきます。

【環境】

  • SQL Server 2008 R2
  • Windows Server 2008 R2

【手順】

  1. SQL Server Management Studio を起動
  2. 対象データベースエンジンを開き、「管理」フォルダを展開
  3. 「メンテナンス プラン」を右クリックし、「新しい メンテナンス プラン」を選択
  4. 新しいメンテナンス プランで任意の名前を指定
  5. デザイン画面が表示されるので、ツールボックスから「データベースのバックアップ タスク」をデザイナー画面にドラッグ&ドロップ
  6. 配置したデータベースのバックアップ タスクをダブルクリック
  7. ダイアログが開くので、バックアップするデータベースの選択、バックアップファイルの出力先、追加、上書きなどを指定して OK をクリック。
  8. ビューの上にあるサブプランからカレンダーアイコンをクリック。
  9. ジョブ スケジュールのプロパティが開くので、バックアップを行うタイミングを任意に設定して OK をクリック

後は指定した時間に自動的にデータベースがバックアップされます。

ちなみにこのメンテナンスは内部では SQL Server エージェントのジョブを作成しており単にそれを実行しているので、ジョブを見てみると作成したバックアップ タスクが追加されていることがわかります。