SQLServerアーカイブ: とあるプログラマーの平凡な日記

2008年2月21日

SQL Server 2000 で作成した DB を 2005 で復元した場合のユーザ

自分のためのメモシリーズ。
-------
SQL Server 2000 から SQL Server 2005 へ移行する際には、
DB のバックアップを行い、 それを 2005 にて復元するときがある。

その場合、 2000 側で作成したユーザもそのまま 2005 にて復元される。
なぜだかはわからないけれども、そのユーザはそのまま使えない。

ので、2005 側で一旦ユーザを削除し、再度登録する必要あり。

2008年1月24日

SQL Server2005で、ジョブを実行するとエラーになる

自分のためのメモシリーズ。
-----
SQL Server 2000 では、 「データ変換サービス」というものがあった。
そこでは、一連の処理をパッケージ化しておくことができたのだが。

SQL Server 2005  ではその機能はなくなった。
変わりに、
Microsoft SQL Server 2005 Integration Services (SSIS)
というものが用意され、それを使ってパッケージを作成。

作成したパッケージを、ジョブとして動かすため、
新規登録して実行させると、

DOMAIN\USERNAME ユーザーとして実行されます。 パッケージは実行できませんでした。 ステップは、失敗しました。

ユーザに実行権限がないからかと、あれこれ権限をつけてもまったく同じ。
1週間ずーっと悩んだ末に見つけたのが、以下の情報。

SQL Server エージェントのジョブ ステップから SSIS パッケージを呼び出すとき、 SSIS パッケージが実行されません。

そうですか、仕様ですか・・・。

そんなわけで、方法2を試し、実行アカウント名を「SQL Agent Service Account」であっさり動いた。

方法 2: ServerStorage に SSIS パッケージ ProtectionLevel プロパティを設定します。

SSIS パッケージ ProtectionLevel プロパティを ServerStorage に変更します。 この設定が SQL Server データベースにパッケージを格納し、 SQL Server データベース ロールを介してアクセス制御を許可します。

どんどんとセキュリティが、厳しくなっていくのがよくわかった年明けでした・・・。
しかしこれでひとつ問題が解決して安心。

2007年12月 6日

SQL Serverで、各TBLごとのサイズを知る方法

自分のためのメモシリーズ
-------------------------
SQL Server2000で各TBL毎のサイズ(容量)を知る方法。
 
1.Enterprise Manager を起動する。
 
2.調べたいDBを選択状態にする。

3.メニューの「表示」 → 「タスクパッド」を選択
20071206_sqlserver.jpg
 
 

そうすると、DBの詳細情報が表示されるので、
「テーブル情報」タブをみると各TBL毎のサイズ容量をみることができる