08/11/20 23:23:47
デバッグ中で、データの追加削除を繰り返してたので、ログが膨れ上がっています。
本番前にいったん、すべてクリアしたいと思うのですが、データベース作成直後の
クリーンな状態にするにはどうしたらいいのでしょうか?
833:NAME IS NULL
08/11/20 23:27:11
>>832
クリーンな状態ってログだけ?
だったら>>827を実行。
834:NAME IS NULL
08/11/21 10:17:27 wKzxvEHB
SQL SERVER 2005 で
C#のプログラムからトランザクションをかけてデータを更新したいと思っています。
その時、出来ればトリガが動くような構造にしたいのですが、
そのトリガは出来ればC#からトランザクションをかけてその中で動作してほしいのですがそういうことって出来ますか?
要はSQLを投げたときにトリガは動いてほしいけどロールバックした時にはそのトリガの動作は元に戻したいという都合のいい要件なのですが・・・・
835:NAME IS NULL
08/11/21 10:29:26
トリガは使わないほうがいいね
836:NAME IS NULL
08/11/21 10:45:31
>>835
ありがとうございます。
なるほど
トリガは使わずに手動でやった方がよさそうですか・・・・
それともうひとつ疑問というか、使い方がわからないので教えてほしいのですが
データの楽観的更新を行うのに今まで timestamp の列を使用していました。
このヘルプを読んでいると timestampはrowversionのシノニムであることが記述されているのですが
sql server2005のtimestamp列は行ごとに必ず一意になるものと考えていいのでしょうか?
(いわゆる 行単位でデータを持ちそれが自動でインクリメントされる)
実は今までtatimestamp列はテーブル内で一意になり 8byteの枠を超えた行数のテーブルは一意にならないのではないかと思っていたのですが・・・・
837:NAME IS NULL
08/11/21 10:52:35
いや信じるなよw
838:NAME IS NULL
08/11/21 10:57:11
>>837
え~と・・・つられた?w
まぁ、この動作が出来ないのならトリガはあきらめてPGからトランザクション内でチョイチョイとしようとは思うのですがいろいろPG内のチェック等が面倒くさくて出来ればトリガに任せたいのです
SQL投げる回数も増えますし
ストアド内から1トランザクション内でロールバックできるように処理できればそちらでもいいのですが・・・・
839:NAME IS NULL
08/11/21 22:43:21
>>831
ありがと。
840:NAME IS NULL
08/11/22 16:29:45
>>838
普通はトランザクションを開始しても、
トリガは動くし、当然、トリガの内容も含めてロールバックされると思うんだけど。
どんな手順で処理してる?
あと、timestamp の値は、timestamp 列のあるテーブルに Insert, Update される度にカウントされる、
データベースのカウンタ。データベース毎に一つで、列とかテーブル単位のカウンタじゃないよ。
841:NAME IS NULL
08/11/27 18:16:48
VB Express 2008を入れたところSQL2008EXがインストールされました。
これですとマネジメントスタジオが備わっていないので、
マネジメントスタジオがあるアドバンスを入れたところ
SqlServerConfigurationManagerに二つのサービスが出るようになってしまいました。
片方を削除したいのですが、どうすればよいでしょうか?
当然のことながら「サーバーへの接続」のサーバー名には"私のPC名¥express"と"私のPC名¥express0"の
二つがプルダウンに出てきてしまいます。
アドベンチャーワークスのサンプルを入れるときも上記サーバー名のどちらに入れるか聞かれます。
842:NAME IS NULL
08/11/27 18:51:50
自己解決しました。
普通にアプリケーションのインストールから削除操作を行えばできました。
片方を生かして削除ができました。
843:NAME IS NULL
08/11/28 18:31:03
解決しててよかった。