SQL Server
- クエリアナライザのsp_helpコマンドについて
こんにちはtmgmです。 データベースの基本構造がわかるコマンドにsp_help [テーブル名]というのがあります。 私が知りたいのはsp_helpに条件を指定できるかと言う部分です。 例えばT_SAMPLEというテーブルがあるとします。 項目はkoumoku1,koumoku1_a,koumoku2,koumoku2_aという4つがあるとします。 このときsp_help T_SAMPLEを実行すると、koumoku1からkoumoku2_aまで全ての項目の型や長さが出ると思います。私がやりたいのは、例えば"アンダーバーが入っていない項目のみを抽出する”というようなことです。 この場合ですと、結果的にkoumoku1,koumoku2だけが抽出されれば成功といえます。 このようなやり方をご存知の方、どなたかいらっしゃいましたらご返答宜しく御願いします。
- 締切済み
- SQL Server
- tmgm
- 回答数1
- インデックスの再構築の意味って何ですか?
SQLServer2000 SP3a Widnows2000Server を使用しています。 今社内のプログラムを見ていて あるテーブルのインデックスの再構築を行う プログラムを発見したのですが、 インデックスの再構築って何なのでしょうか? 全てのテーブルについて再構築するのではなく データベースの中の100ぐらいのテーブルの 中の3つぐらいだけインデックスの再構築を していました。 どんないいことがあるのでしょうか? メリット・デメリット? どなたか何か些細なことでも分かる方 教えて下さい。宜しくお願いします。
- ベストアンサー
- SQL Server
- SEAMOON
- 回答数3
- ストアドプロシージャによる動的SQLについて
いつもお世話になっています。 SQLServer・ストアドプロシージャの、WHERE句を動的にしたいのですがうまくできません。 やりたいことは、履歴テーブルの受付、回答が済んでいる件数を取得したいのです。 回答時間は0時から5時までを一まとめ、20時から23時を一まとめ、その他は一時間毎に抽出したいのです。 CASE文で書いたのですが、エラーが起こってしまいます。 どのように書いたらよいのかご教授下さい。 受付時間が8時代の件数を取得する時、 このように書きました。 DECLARE @from_date datetime DECLARE @to_date_last datetime DECLARE @answer_count int SET @from_date = '2004/04/06' SET @to_date_last = '2004/06/05' SET @answer_time = 9 SELECT Count(R.受付時間) FROM 履歴 AS R WHERE LEFT(CONVERT ( varchar(20) ,R.受付時間, 8),2) = '08' AND R.受付時間 between @from_date and @to_date_last CASE WHEN @answertime = 5 THEN AND LEFT(CONVERT ( varchar(20) ,R.回答時間, 8),2) <= '0' + LEFT( Convert(varchar(20),@answer_time),1) WHEN @answertime > 5 AND @answertime < 10 THEN AND LEFT(CONVERT ( varchar(20) ,R.回答時間, 8),2) = '0' + LEFT( Convert(varchar(20),@answer_time),1) WHEN @answertime > 10 AND @answertime < 20 THEN AND LEFT(CONVERT ( varchar(20) ,R.回答時間, 8),2) = Convert(varchar(20),@answer_time) WHEN @answertime = 20 THEN AND LEFT(CONVERT ( varchar(20) ,R.回答時間, 8),2) >= Convert(varchar(20),@answer_time) END
- 締切済み
- SQL Server
- makitty
- 回答数1
- SQL Server 使えない?
今、Visual Basic .NETでデータベースを使ったプログラミングを勉強しようとしています。SQL Serverを使ってるんですが、接続のテストでは問題ないのに実際の接続ができません。VB .NET Standardを使っているとダメなんでしょうか?
- ベストアンサー
- SQL Server
- kaneyan7
- 回答数1
- テーブルの中身を違うテーブルへコピー
お世話になります。 SQLについて質問があるのですが・・・。 Aというテーブルがあり、何件かデータが入っています。 そのAテーブルにフィールドを2つ新たに追加したいのです。 ALTER TABLEは使わずに、 以下の様な操作をしたいと考えております。 1:Aテーブルを違う名前に変更。 もしくはテーブルを丸々コピー。 2:テーブルBを作成。 (テーブルAのフィールドに2つフィールド追加した内容) 3:テーブルBにテーブルAの内容を丸々コピー。 その際、新規に追加した2つのフィールドには、初期値として、何かの文字or数字を入れる。 4:Aテーブルを削除 と、いう感じです。 作成はINSERT、削除はDROPを使えばいいのかなーって 思っているのですが、 テーブル名の変更や、テーブルの内容のコピーが ちょっと分かりません。 上記について、ご教授の程、よろしくお願いします。 なお、DBにはSQL Serverを使用しています。
- ベストアンサー
- SQL Server
- burger_street
- 回答数1
- SQLServerでの副問合せについて
いつもお世話になります。 当方SQLServerをあまり使った事がなくSQLの組み方で少々てこずっております。そこでちょっとお知恵をお借りしたく質問致しました。 処理内容としましては、ある条件でテーブル内のデータを削除するって事なんですが、オラクルで記述するなら DELETE FROM AAAA WHERE (あああ,いいい) IN (SELECT あああ,いいい FROM BBBB GROUP BY あああ,いいい) となるのですが、この構文をSQLServerで記述すると構文エラーとなってしまいます。 まあこの構文が実際には使えて私の記述がおかしいだけのかもしれないのですが、もし使えないのであればどのように記述すればよいのでしょうか? 申し訳ありませんが、宜しくお願いします。 ちなみにSQLServerは2000を使用しております。
- ベストアンサー
- SQL Server
- bobble
- 回答数1
- SQLで漢字の見分け方ってありませんか?
現在、SQLServer2000(sp3),Windows2000(sp4)の環境下で開発しています。 SQLで、 澤⇔沢 嶋⇔島 斉⇔斎 は同じとみなすような関数か、良い方法はないでしょうか? よろしくお願いします。
- 締切済み
- SQL Server
- bou7
- 回答数1
- SQL文で
T-SQLを使用しています。 下記のような場合どのようにSQL文を組めばよいのでしょうか?Group byを使用すると思うのですが・・・ テーブル名:SampleTbl フィールド1:ID(プライマリ) フィールド2:Name(varchar(4)) 【名前】 フィールド3:UpTime(varchar(16))【更新時刻】 ※UpTimeの概要 yyyyMMddhhmmssss 2004/06/01 12:00:0000 中身 1,鈴木,2004060112000000 2,鈴木,2004060112050000 3,鈴木,2004060112100000 4,鈴木,2004060112200000 5,山田,2004060112000000 抽出条件: 同一の名前で更新日が5分以内の範囲で更新されているデータのみ抽出する 抽出結果 1,鈴木,2004060112000000 2,鈴木,2004060112050000 3,鈴木,2004060112100000 上記の抽出結果を取得するにはどのようにすればよいか、ご教授お願い致します。
- 締切済み
- SQL Server
- soushi_ni
- 回答数2
- 【御質問】SQL Serverでのログ取得について
知人から現在運用しているSQL Serverにおいて ユーザ単位での操作レベルのログ取得を モニタリングの目的で実現したいという話を 伺いました。 (誰がいつどういった操作を行い、どのようなデータを ひっぱってきたか?といったログイメージ) 皆様がどうやって上記要件を実現 しているかについてご指導いただけないでしょうか? 大変お手数ですが何卒宜しく御願い申し上げます。
- 締切済み
- SQL Server
- selfcheck
- 回答数1
- ストアドプロシージャのネスト
お世話になります、ストアドプロシージャのネストってどうやってやるんでしょうか。ご存知の方がいらっしゃいましたら、ご教授願えませんでしょうか。
- ベストアンサー
- SQL Server
- keihomme
- 回答数1
- SQLサーバ2000のサーバ機移動の方法について教えてください
SQLサーバ2000を設定したサーバ機がリースアップ間近のため、あたらしいサーバ機を購入して、リースアップ間近のサーバ機からSQLサーバ2000を移行したいと思っています。細かい具体的な手順について記載してあるお勧めのWEBサイト、書籍などありましたら教えていただけないでしょうか。もちろん、この場所で教えていただけるならば、なおありがたいのですが。。。 よろしくお願いいたします。
- ベストアンサー
- SQL Server
- ninerboy
- 回答数1
- SQLserverのデータベースの作成初期値のドライブの規定値を変更したい!
新しくデータベースを作る時に、 C:\Program Files\Microsoft SQL Server\MSSQL\data いつも、ここが初期値になっていてはがゆい 思いをしています。 確かインストールする時に、初期値を決めるような 設定があったと思います。 再インストールをせずに、その初期値を変更することは できないのでしょうか? どなたかご存知の方教えて下さい。 宜しくお願いします。
- ベストアンサー
- SQL Server
- SEAMOON
- 回答数1
- SQLServer>>(local)が見えなくなってしまいました
こんにちはtmgmです。 SQLServerについての質問です。 通常最初の状態で登録されているはずの(local)が見えなくなってしまいました。気が付いたらなくなっていたので、どういうタイミングでなくなってしまったのかは不明です。(local)にあたるものを手動で登録しようとしたのですが、登録ができません。”エラー:SQLServerが存在しないか、アクセスが拒否されました”。現在登録したいlocalとは別のサーバが一つ登録されています。そちらは正常です。 以上の内容より、localを再登録する方法もしくはlocalを復活させる方法をご存知の方、いらっしゃいましたらご返答宜しく御願いします。
- 締切済み
- SQL Server
- tmgm
- 回答数2
- インデックスがすぐに壊れます…
テーブル内の1フィールドにインデックスを設定していますが、内容が頻繁に更新されるせいか1日前後でインデックスが破損し、テーブルへのアクセスができなくなって困っています。 以下、詳細な状況です。 ------------------------------------------ (1)該当テーブルのレコード数は、約16,000,000件 (2)インデックスは[レコード更新日時]フィールドに設定しています。 (3)15分おきにデータの自動更新を行い、数百~数千件のレコードが更新されます。 その際、当然ながら[レコード更新日時]フィールドも更新されます。 (4)1日~2日に1度の割合で(3)の自動更新処理が異常終了します。 SQLのエラーコードはまちまちですが、重要度は決まって20前後の深刻なレベルです。 (5)(2)のインデックスを削除→再作成すると、(3)の自動更新処理は正常に行える (6)以下、(3)~(5)の繰り返し ------------------------------------------ 16,000,000件のうちの数千件といえば、0.1%にも満たない量です。そのために頻繁にインデックスの更新をしているうちにファイルがおかしくなるのでしょうか? (ひょっとしたら、インデックスの更新が完了しないうちに次の自動更新処理が実行されているのかもしれません) 同様のケースをご存知の方、いらっしゃいましたらどのように解決したかを教えてください。
- 締切済み
- SQL Server
- Laphroaig
- 回答数1
- SQLServer2000から7.0への移行
SQLServer2000で構築したデータベース(mdfファイルとldfファイル)をSQLServer7.0にアタッチ機能(クエリアナライザで「sp_attach_db」を実行して)で移行させようとしましたが、「ldfファイルのヘッダーが有効でありません。PageAuditプロパティが不正です。」とのエラーメッセージが出て、実行できませんででした(ちなみにPageAuditの意味もわかっていません)。 ご質問なのですが、そもそも2000で構築したデータベースは、7.0のアタッチ機能で7.0への移行は無理なのでしょうか。それとも、当たり前かもしれませんが、2000のldfファイルの構造そのものが違い、7.0で認識させるのは、不可能なのでしょうか。 お忙しいところすいませんが、よろしくお願いします。 教えて下さい。
- ベストアンサー
- SQL Server
- jcos
- 回答数2
- INDEX SEEKについて
主キーを設定した後、検索をかけるとClustered Index Scan になってしまい、大変遅くなってしまいます。 Index Seek にしたい場合、どのようにすればいいのでしょうか? 初心者なのであまりよくわかってないので、どなたかすいませんが、お教え願います。
- ベストアンサー
- SQL Server
- TENEHT
- 回答数1
- クエリのプロファイリングって?
R/3のパフォーマンスが悪いので、マイクロソフトのコンサルティングを受けたのですが、 クエリのプロファイリング との言葉が回答に出てきました。クエリのプロファイリングとは何でしょうか?
- 締切済み
- SQL Server
- masarki
- 回答数2
- SQL文の関数らしいのですが、意味を正確に調べたいとき。
Visual Basic で組んだ業務ソフトのソースを見ているところなのですが…。データベースは SQL Serverを使っています。その中のコードとして SQL = "SELECT * FROM MPGSUB " _ & "WHERE 端末ID = " & Conv_DBValue(Client_ID, DB_String) というのがあります。これは、《"端末ID"列から、DB_Stringの型に変換した値をClient_ID という列名にして取得する》ということで良いのでしょうか。 Conv_DBValue やDB_String は、手元の辞典にも載っていないし、ネットで検索しても解説しているところがありません。このようなときは、プログラムで参照すべき他のモジュールが足りないと考えた方が良いのでしょうか。 ときどき調べがつかない関数があるので困ってしまうので、そのような時はどうすべきか教授願いたいです。(^^;
- 締切済み
- SQL Server
- kistune
- 回答数3
- テーブルのフィルタ操作について
現在、MSDEを使用しSQLの勉強をしています。 クライアントツールはEnterprise Managerです。 あるAというサーバから、ローカルのBというサーバにDBのあるテーブルのコピーを とるという単純な作業を行っています。 そのテーブルが以下のような内容であるとします。 ------------------------- name age state ------------------------- aaa 15 Japan bbb 15 Japan ccc 19 USA ddd 10 USA eee 26 Japan fff 15 France ggg 19 Japan hhh 20 Korea iii 19 China ------------------------- この時、ageが15だけの行をフィルタリングし、 下記のようなテーブルをローカルに保存するようにしています。 ------------------------- name age state ------------------------- aaa 15 Japan bbb 15 Japan fff 15 France ------------------------- この場合は「15」という値でフィリタリングしていますが、この値をローカルから 任意に変更して(例えば19でとか…)フィルタリングしたい場合はどのような操作 を行えばいいんでしょうか? プログラムを組むしかないんでしょうか? また、プログラムを組むとすれば、どのように組めばよいのでしょうか? 分かる方、ご回答をよろしくお願い致します。
- ベストアンサー
- SQL Server
- ichiro29
- 回答数2
- SQL文について
初心者です。 エクセルのマクロを使用して、 統計表を作成しようと試みています。 テーブルの項目に 更新者、 更新日、 登録日、 回答日、 問い合わせ内容があります。 一日の時間帯別登録件数を表示したいのですが、 どのように書いてよいのか解りません。 自分でも書いてみたのですが、うまくできませんでした。 ご教授お願いします。
- ベストアンサー
- SQL Server
- makitty
- 回答数2