SQL Server
- SQL Serverトリガの中でDMLの種類判断
SQL Serverのトリガの中で、DMLの種類(INSERT/UPDATE/DELETE)を取る方法ってありますか? こんにちは。アべです。 下記のようなトリガを作成して、操作(INSERT/UPDATE/DELETE)の履歴を 残したいのですが、トリガを3本に分けるのもあれなので、 操作の種類(INSERT/UPDATE/DELETE)を履歴用のテーブルに入れたいのですが、 書き方がわかりません。 取得方法のやり方を教えてもらえないでしょか? CREATE TRIGGER [mst].[TriggerUserActionHistory] ON [mst].[User] AFTER INSERT, UPDATE, DELETE NOT FOR REPLICATION AS BEGIN SET NOCOUNT ON; --ACTION TYPE未設定 ↓今はINSERT固定しかできない。 insert into [history].[User] select 'INSERT',getdate(),* from inserted; END GO
- ベストアンサー
- SQL Server
- kiyo7447
- 回答数1
- プログラムと機能にある
・SQL Server セットアップ(SmartPhoto) ・SmartPhoto 上記の2つをアンインストールしたいと思うのですが、アンインストールしてしまうとどのような問題が生じるのでしょうか? また、友人から聞いた情報によるとデジカメなどを使う時に不便になるからやめた方がいいと言われました。 しかし、最近新しいデジカメを買ってしまったのですがホントに不便になるのでしょうか? 一応買ったデジカメ http://cweb.canon.jp/camera/ixyd/10s/index.html 優しい回答お待ちしています! よろしくお願いします。
- ベストアンサー
- SQL Server
- noname#148337
- 回答数1
- SQL Server 2008 R2 Total
SQL Server 2008 R2 に関してご質問がございます。 Windows Server 2008 R2、メモリ 8GB環境で SQL Server 2008 R2 Standard Edition を使用しています。データベースは 12GBが1つ、4GBが1つ、2GBが1つあります。 SQL Server が物理メモリを 8GB近く消費しているのですが、Total Server Memoryの値が搭載している物理メモリと同じ値(8.192GB)に達すると月に2,3度CPU負荷が100%に達しデータベースへ接続できない現象が発生しています。SQL Server ログにはこのようなメッセージが残っています。 ソース spid23s メッセージ Memory Manage(以下省略) ソース サーバー メッセージ Error: 17887, Severity: 10, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped. ソース ログオン メッセージ エラー: 17803、重大度: 20、状態: 13。 ソース ログオン メッセージ There was a memory allocation failure during connection establishment. Reduce nonessential memory load, or increase system memory. The connection has been closed. (以下省略) これをうけて、max server memory の設定変更を検討しております。 SQL Server のプロパティはこのようになっています。 min server memory 0 max server memory 2,147,483,647 max server memory の値を7168MBへ変更し、その後Total Server Memoryの値が7168MBへ達した場合、CPU負荷が100%になる可能性はありますでしょうか? よろしくお願いします。
- ベストアンサー
- SQL Server
- Quiroz
- 回答数1
- 遅くならない検索方法
初歩的な質問ですが、よろしくお願い致します。 あるテーブルで、更新フラグが0のものを検索して ループで処理を行うプログラムを作りました。 その際、更新フラグは1でUPDATEをします。 データは日々増えていきます。 また、既存のデータも変更があった場合には、 (別プログラムから)更新フラグが0戻されます。 このままだと検索スピードがだんだん遅くなると思われますが、 検索スピードが遅くならないような方法を教えて下さい。 よろしくお願い致します。
- ベストアンサー
- SQL Server
- aru_008
- 回答数3
- バッチプログラムでSQLSever2008を操作
教えてください。 (1) SQLSever2008内にあるデータベース1のテーブルAのデータを削除 (2) 同じインスタンス内にあるデータベース2のテーブルAのデータを、DB1のテーブルAにコピー (3) (2)の処理が失敗したらロールバック 上記のことを、バッチプログラムで行いたいと思っております。 単にコマンドプロンプトで入力するというのであれば(1)も(2)もできるのですが、 バッチプログラムで行うとなると、どうやっていいのか見当もつきません。 さらに(3)は、(2)でSQLを実行した戻り値も見なければならないと思います。 データベース1のテーブルAとデータベース2のテーブルAはまったく同じ構成です。 自分なりに色々調べてはいるのですがどうしてもわかりません。 もしどなたかご存知の方がいらっしゃったらぜひ教えてください。 どうぞよろしくお願いいたします。
- 締切済み
- SQL Server
- mickey012
- 回答数3
- SQL Server2005のパフォーマンス
SQL Server2005を使用しています。 CPUの負荷が高くなり、データベースにロック中になっている状態で、 リブートしました。 しばらく時間が経過すると、極端にパフォーマンスが下がる現象が起きてしまっています。 再度、リブートをすれば落ち着きます。 このような事象が発生している原因は何が考えられるのでしょうか? 他の文献等を探しましたが、検討がつきませんでした。 お手数をお掛けしますが、何かご存知の方、ご教授お願いします。
- 締切済み
- SQL Server
- 879VJOAEUEWIU
- 回答数2
- SQL ServerにExcelをリンクさせたい
AccessからSQL Server 2008 Expressへの移行を考えているの者です。 現在、Accessにいろいろな文字データ以外にExcelデータをリンクさせて使用しております。 (データ型はOLEオブジェクトのリンクを使っています) SQLServerでもAsseccのように他のアプリケーションやファイルをリンクさせることはできるのでしょうか? 可能であれば、どの様にすればよいのでしょうか? よろしくお願いします。
- 締切済み
- SQL Server
- air0023
- 回答数3
- SQLServer2005 メモリ不足エラー
SQLServer2005でメモリ不足エラーが発生しました。 WindowsServer2003 SP1 Xeon メモリ4GB SQLServer2005 WorkGroup SP2 クライアントからのアクセスは最大で80ほど という環境です。 SQLのログでは、 02/19/2011 10:10:24,spid51,不明,There is insufficient system memory to run this query. 02/19/2011 10:10:24,spid51,不明,エラー: 701、重大度: 17、状態: 123。 といったエラーが頻発しています。 クエリが集中し、メモリが不足したと考えています。 対応策などがあれば教えてください。 いろいろ調べて気になるところは自動終了がTrueであるところです。 よろしくお願いします。
- ベストアンサー
- SQL Server
- blackyuta
- 回答数3
- SQL Server 2008 R2の質問です。
PCにSQL Server 2008 R2が インストールできなくて困っています。 PCA会計Xの体験版をインストールする前に SQL Server 2008 R2のインストールが 始まり、途中でエラーになり インストールできません。 MSXML6がないことを確認したり NET Framework 3.5 SP1 、 Windows インストーラー 4.5、 Windows PowerShell 1.0はインストールしました。 OSはWindows XPと7です。 Vistaは普通にインストールできました。 よろしくお願いします。
- 締切済み
- SQL Server
- -kou--
- 回答数2
- SQLサーバへのデータセットについて
SQLサーバ2008へのデータ変換ツール(DTS)を使用してのデータセットを行っているのですが、 うまくいきません。ログインしてDTS起動を指定してるバッチファイルを起動したら正常に動作する のですが、そのバッチファイルを別サーバよりリモートコマンドにて起動するとエラーになります。 ↓ エラー内容 SSIS エラー コード DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。エラー コード 0x80004005 により、接続マネージャ "DestinationConnectionOLEDB" に対する AcquireConnection メソッドの呼び出しが失敗しました。 ↑ エラー内容 どなたかご存じの方、教えて頂けませんか? よろしくお願いします。
- 締切済み
- SQL Server
- terateraytyt
- 回答数1
- group byにより集計した結果での名称取得方法
次のようなテーブルがあったとして、一回のSQLで商品名称とその売上件数の一覧を作成することは可能なのでしょうか? 【売上テーブル】 ID 販売日 商品ID 0001 2011/01/01 1 0002 2011/01/01 2 0003 2011/01/03 1 0004 2011/01/10 1 0005 2011/01/12 2 ・・・ 【商品マスタ】 ID 商品名 1 りんご 2 みかん 3 いちご 【最終的に作成したい一覧】 商品名 件数 りんご 3 みかん 2 いちご 0 ※売上テーブルに存在しない商品についても、件数が0件として一覧に出力出来るようにしたいです。 select 商品ID from 売上テーブル group by 商品ID にて商品ID毎の件数を算出し、それとは別に select ID,商品名 from 商品マスタ として、商品IDと名称のリストを取得後、アプリにてこれらの情報を突き合わせれば実現できるのは分かるのですが、これらの処理を一回のSQLにまとめることは可能なのでしょうか? よろしくお願いします。
- ベストアンサー
- SQL Server
- suzuparrow
- 回答数3
- 開発で必要なSQL Serverのスキル/知識
Oracle暦8年です。 しかし未だかつてSQL Serverを使ったことがないのです。 開発で必要なスキル/知識の差分を知りたいです。 DML、DDLなどSQL的な差は気にする必要はないという認識ですが、 ・DBA関係(Oracleでいうデータディクショナリのようなものからの情報取得) ・バックアップの方法、リストアの方法、 などで困ると思っています。 1●開発で必要なスキル/知識の差分 2●何か良いサイトや、良い学習方法 を教えて頂けませんでしょうか?
- ベストアンサー
- SQL Server
- souken_200
- 回答数2
- ADO接続のトランザクション処理
SQL2005のDBに対して ADOのconnectionオブジェクトで接続しているのですが、 下記のようにトランザクションを開始し、SQLを実行し、 エラーが発生してロールバックを行っていない場合、 2個目のSQLがいつまでたってもロック状態でタイムアウトになりません。 このような場合、ADOconnectionのコマンドタイムアウトのデフォルト値30秒で タイムアウトとなり、ロールバックされないのでしょうか? 以下adoコネクションオブジェクトをConnobjと表記します Connobj.BeginTrans Connobj.Execute "Insert into AAA・・・・" ← このInsert文で失敗 Connobj.Execute "Update BBB SET ・・・・" ← このUpdateは成功 ※ロールバックもコミットも行わない (プログラムの不具合でロールバックができなかった場合や、 アプリで異常が発生してロールバックが行えない等) お手数をおかけしますが、何かご存知の方、ご教授願います。
- 締切済み
- SQL Server
- sin201102
- 回答数5
- SQL SERVER2005の不具合情報
SQL SERVER2005(9.00.3042.00)を使用していますが、 Excel VBAからのINSERT文やUPDATE文をたまに実行してくれないときがあります。 毎回だったらExcel VBA側のバグだと思うのですが、 たまにしか発生しないのでSQL SERVER側の不具合ではないかと疑っています。 SQL SERVER2005の不具合情報、パッチ情報が掲載されているサイト等がありましたら教えてください。 同様の経験がある方がいらっしゃいましたら情報を下さい。 よろしくお願いします。
- ベストアンサー
- SQL Server
- uchi38
- 回答数2
- SQL文のダブルクォーテーションを取りたい。
SQL2008を使用しております。 2つのDBを統合したいのですがユニークIDがかぶっているデータが あるのでIDを変更したいのですが フリーソフトでINSERT文をTab区切りで出力してIDを変更してINSERT文を 作成するといらない箇所に「"」ダブルクォーテーションが入ってしまします。 もちろんその状態ではクエリ実行できないので困っています。 順序はINSERT文をTab区切りで出力→出力されたTab区切りのcsvのIDを変更→テキストで保存(csvでも保存)→拡張子をsqlに変更するといらない箇所に「"」ダブルクォーテーションが入ってしまします。 変更保存の問題でしょうか? どうしたら「"」ダブルクォーテーションが入らない方法はありませんか? 以上、わかるかた教えてください。 よろしくお願いします。
- ベストアンサー
- SQL Server
- ironpriest
- 回答数1
- 検索結果の列数を動的に変更したい
お世話になります。以下のようにデータ検索するテクニックをご教授ください。 (1) 商品マスタ(商品コード、商品名)の状態 A,ラーメン B,カツ丼 C,カレー (2) 消費テーブル(氏名、商品コード)の状態 田中,A 田中,B 田中,C 林,B これらのデータを元に以下のようにデータを取得。 A.氏名を「田中」で条件指定 → 田中,ラーメン,カツ丼,カレー B.氏名を「林」で条件指定 → 林,カツ丼 ポイントは (1)消費テーブルには、氏名ごとに複数レコード存在するが、それらを1レコードにまとめる (2)条件に応じて、列数を動的に変える 表現が稚拙で恐縮ですが、よろしくお願いします。
- 締切済み
- SQL Server
- takumin2004
- 回答数2
- SQLでうまいことビューが作れない
SQLサーバー2005+マネジメントスタジオでビューを作っています。 以下のデータが存在するときに●のついたデータだけを抽出したいです。 明細IDはユニークとし、明細IDの中で一番日付が新しいものだけを取得したいです。 T-SQLでどのように書けばよいか教えてください。 <データ> 明細ID 日付 111 2010/10/01 111 2010/11/01 111 2010/12/01 ● 222 2010/11/01 ● 333 2010/09/01 333 2010/10/01 ● 444 2010/10/01 444 2010/11/01 444 2010/12/01 ● 555 2010/09/01 ● <出力> 明細ID 日付 111 2010/12/01 ● 222 2010/11/01 ● 333 2010/10/01 ● 444 2010/12/01 ● 555 2010/09/01 ●
- ベストアンサー
- SQL Server
- tony77
- 回答数2
- SQLServer2008パフォーマンスUP方法
データ出力プログラム(CSV)において、データ増加のため処理時間が長くなり、パフォーマンス改善を図らなければなりません。 そこで質問です。 以下の条件でパフォーマンス改善を図れる方法は御座いますでしょうか。 条件1:プログラムの変更は不可 (select分の改修などは不可ということです) 条件2:サーバスペックの見直しは不可 条件3:キー項目の見直しは不可 以前にオラクルでアナライズにより飛躍的に処理速度が向上した経験があります。 何かのコマンド、またはパラメータの値変更にて処理速度向上が図れる 手段をお教えください。 (SQLではアナライズは自動との認識は御座います。また、SQLServerのパラメータの類は 初期値のままです)
- ベストアンサー
- SQL Server
- bussan0819
- 回答数1
- SQL SERVER2008の質問です
SQL2008 EXPRESSで作成したバックアップをSQL2008 R2 EXPRESSにデータベースの復元で問題なかったのですが、SQL2008 R2で修正があったので修正したあと、2008R2でバックアップを取ってSQL2008に復元しようとしたらエラーになります。 データベースはバージョン10.50.1600を実行中のサーバーにバックアップされました。このバージョン(バージョン10.00.1600を実行)とは互換性がありません。 と言うメッセージが出ます。 両方をSQL2008R2にすれば問題ないのでしょうが、SQL 2008R2のバックアップをSQL2008に復元する方法をご存知の方は教えてください。 宜しくお願い致します。
- ベストアンサー
- SQL Server
- kirin4247
- 回答数3
- SQL Server 2005 Express
Windows7端末に、SQL Server 2005 Expressのインストールを行いました。 システム構成チェックにおいては、全て成功となっておりますが、セットアップの進行状況において、以下のメッセージが表示され、インストールができません。 SQL セットアップ サポート ファイル セットアップが完了しました SQL Nativve Client セットアップに失敗しました SQL VSS Writer セットアップに失敗しました SQL Server データベース サービス セットアップに失敗しました なお、同じ”SQLEXPR_JPN.EXE”を使用して、XP端末、Vista端末にもインストールを行っておりますが、どちらもインストールは成功しており、目的どおり使用できています。 ※SQLEXPR_JPN.EXEのファイルバージョンは、「9.0.4035.0」でございます。 Windows7端末に、SQL Server 2005 Expressをインストール経験のある方、是非ともご教授ください。
- ベストアンサー
- SQL Server
- HIKOICHI70
- 回答数1