先日、あまりかかわりのないシステムの環境構築のお手伝いとして、他のDBサーバよりマスタ関係を移行する手伝いをしました。
2つのDBサーバは、一部テーブル構成が異なる(移行先が若干古い)ため、構成の変更を行いました。
その後、リンクサーバを設定し、データを消してからSQLでデータをコピーするという方法をとりました。
で、リンクサーバ設定が完了し、マスタ系のテーブルをTruncateしようとすると、FKがあるので削除不可的なメッセージが表示されました。しかし、あまりかかわりのないシステムであった為、どのテーブルにFKが設定されているのかよくわかりませんでした。
設計書のありかを聞くのも面倒だったし、期待する資料は無い。といわれる可能性があったので、SQLServerにて確認する方法を調べてみると、
sp_help 'テーブル名'
で調べられることがわかりました。ということで先にFKを設定しているテーブルを削除し、事なきを得ました。
GDDとは「Gut's Driven Development」の略です。簡単にいうとガッツ駆動方式のシステム開発です。
えぇまぁ、私の開発スタイルです。このBlogでは、そんなシステム開発の作業で発見したことを記録していきます。
(Google Developer Daysとはなんの関係ありません。)
2010年7月21日水曜日
2010年7月20日火曜日
[SQL]一時的に制約を無効化する
データ移行などで、一時的に制約を無視したい場合があります。SQLサーバでは、「no check constraint SQLServer」で一時的に制約を無視することができます。制約およびトリガを無効にする
制約に沿わないデータが合ったとしても、制約を元に戻せます。そのため、データ登録後整合性のチェックをする必要がありそうです。
制約に沿わないデータが合ったとしても、制約を元に戻せます。そのため、データ登録後整合性のチェックをする必要がありそうです。
2010年7月16日金曜日
[Ecxel]0を表示しないようにする
Exceで値が0の場合、自動的に表示しない(見えないようにする)ようにするには、条件付書式設定を使えばいいのですが、その他の方法として、[オプション]→[表示]→ゼロ値(Z)のチェックをはずすことにより、全体的に0を表示しないようにできるようです。あぁしりませんでした。
2010年7月13日火曜日
[Excel]Excelの改行コードはLFのみ
Excelのセル内には改行を入れることができますが、その改行コードはLFのみのようです。
知りませんでした。マクロなどで変換や判定する場合は要注意ですね。
知りませんでした。マクロなどで変換や判定する場合は要注意ですね。
2010年7月11日日曜日
[他]SQLServerでテーブルに設定されているインデックスを確認する方法
sp_helpindexという関数を実行すると、テーブルに設定されているインデックスとその種類がわかります。
コードはこんな感じ。
コードはこんな感じ。
sp_helpindex 't_test01'
--こんな感じで表示される
/*
index_name index_description index_keysIX_T_TEST01
nonclustered located on PRIMARY TEXT1PK_T_TEST01
clustered, unique, primary key located on PRIMARY ID
*/
--こんな感じで表示される
/*
index_name index_description index_keysIX_T_TEST01
nonclustered located on PRIMARY TEXT1PK_T_TEST01
clustered, unique, primary key located on PRIMARY ID
*/
2010年7月7日水曜日
[SQL]SqlServerで8000byteを超えるフィールドを扱う
SqlServerで8000byteを超えるフィールドを扱うばあい、varchar(max)と定義すればよいそうです。
知りませんでした。。。
知りませんでした。。。
2010年7月6日火曜日
[他]Vista PremiumでもIISが動く?
先日修理に出していたマシンが、昨日かえって来ました。ということで、本日早速Visual Studio(Expressだけど...)をインストールしました。C#とSQLServerをインストールし、VWDをインストールしようとしてところ、「Web PI のダウンロード ページへ」なる見慣れないリンクが。。。
先に進んでいくと、「Microsoft Web Platform Installer」という機能で、さまざまなあアプリケーションを選択し、インストールすることができます。
その中に、IIS関連の項目があり、Vista Premiumのこのマシンでも選択することができたので、そのままチェックしてインストールすると、「インターネット インフォメーション サービス (IIS) マネージャ」がインストールされていました。
まだ試していませんが、IISが動作する感じがします。
もしかしらたレガシーASPも動作するかも。。。
先に進んでいくと、「Microsoft Web Platform Installer」という機能で、さまざまなあアプリケーションを選択し、インストールすることができます。
その中に、IIS関連の項目があり、Vista Premiumのこのマシンでも選択することができたので、そのままチェックしてインストールすると、「インターネット インフォメーション サービス (IIS) マネージャ」がインストールされていました。
まだ試していませんが、IISが動作する感じがします。
もしかしらたレガシーASPも動作するかも。。。
登録:
投稿 (Atom)