MS SQL Server 総合スレ

このエントリーをはてなブックマークに追加
1<NULL>
Microsoft SQL Server (Transact-SQL) の総合スレッドです。

http://www.microsoft.com/japan/sql/
2名無しさん@お腹いっぱい。:03/07/01 21:18 ID:???
MSDE はアリですか?
3名無しさん@お腹いっぱい。:03/07/01 23:45 ID:beusNXTD
>>1
お疲れ

SQL Server 2000 を勉強中です。
よろしく。
4名無しさん@お腹いっぱい。:03/07/01 23:51 ID:???
なんでパッケージがないの
5名無しさん@お腹いっぱい。:03/07/02 14:42 ID:/EdfEEIR
どなたか、ログインIDに有効期限を設定する方法を教えていただけませんか?
6名無しさん@お腹いっぱい。:03/07/02 14:51 ID:???
一番簡単な方法。
ログイン認証をOS認証にして、OSのユーザ設定で
有効期限を設定する。
7名無しさん@お腹いっぱい。:03/07/02 14:59 ID:???
>6
有り難う御座います。
でも、会社の方針でその案を使う事が出来ません。

いろいろと考えてみたんですが、たしか、masterデータベースのsysloginsテーブル
に、expire_date かなんかのフィールドがありましたよね?(権限が無いので確認
出来ないんですが)
そのフィールドを直接書き換えてやればいいんですかね?
8名無しさん@お腹いっぱい。:03/07/02 15:35 ID:???
そういうカラムがあるなら
有効期限を設定するspが必ずあるはず。
システムテーブルのデータはは基本的に直接書き換えない
というか、必ず書き換えるコマンドがあるから
ヘルプで探してみ。
9名無しさん@お腹いっぱい。:03/07/04 17:40 ID:???
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb


b
10名無しさん@お腹いっぱい。:03/07/12 00:46 ID:h3bYc/Eh
ログインじゃなくてログオンに統一しろよゲイツ
11名無しさん@お腹いっぱい。:03/07/15 22:49 ID:v9grO6SB
 最近始めました・・というか、始めざるを得なくなりました。
 仕事で使うのですが、会社では教えてくれません。
 全て独学になります。
 皆様、よろしくお願いいたします。
12あぼーん:あぼーん
あぼーん
13名無しさん@お腹いっぱい。:03/07/31 17:51 ID:???
sp_makewebtaskでHTMLファイルをスケジュールでがしがし作ろうと思ったら、
テンプレートを使うとゴミ入りのHTMLになってしまうだよ。
テンプレートファイルを使って、複数のクエリーから複数のHTMLのtableにしたいんだよう。
ぐぐったら同じような現象の人がusers.gr.jpのMLログにあったけど放置されてた。

丸1日試行錯誤して、結局ゴミを取るvbsを走らせることにした。
現象が出て解決した人がいたら教えてくだらい。
1413:03/07/31 17:54 ID:???
複数のクエリー→単一のHTMLファイルに出力です。このなかのTABLE(表)が複数。
sp_makewebtaskの@codepageは932でshift_jisだ。
おながいしまつ。

あとusers.gr.jpの広告うざ。
15名無しさん@お腹いっぱい。:03/07/31 19:29 ID:9936EkLw
バックアップを行う時に、DTSパッケージとか、ジョブの定義とかも合わせて
バックアップを取ることは出来ないのでしょうか?
16名無しさん@お腹いっぱい。:03/07/31 21:58 ID:???
Microsoft Access の Project って管理者権限無いと厳しくないか?
17ぼるじょあ ◆ySd1dMH5Gk :03/08/02 04:54 ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
18名無しさん@お腹いっぱい。:03/08/02 16:44 ID:aYZE3aZK
相変わらず起動が不安定。
19名無しさん@お腹いっぱい。:03/08/02 17:44 ID:???
オプティマイザしょぼすぎ。
20あぼーん:あぼーん
あぼーん
21名無しさん@お腹いっぱい。:03/08/02 22:36 ID:Wd/Q9lbA
MS,8月からSQL Server 2000 Developer Editionを1けた値下げ
http://itpro.nikkeibp.co.jp/free/NT/NEWS/20030710/1/

という記事を見つけていたので、今日ビックカメラに買いに行ったら
相変わらず7万円でした。この記事って本当なんでしょうか?
22名無しさん@お腹いっぱい。:03/08/03 21:56 ID:WYyDJl9m
MSDEに対してADOで接続するとき、レコードセットにうまく排他ロックが
掛かりません。Lock Typeプロパティはpessimisticにしているんですが、
出来ないようです。何か他の方法はありませんか?
また、自己Writeの失敗のログってどこかに残るのでしょうか?
23名無しさん@お腹いっぱい。:03/08/04 10:07 ID:???
>22
SQLにロックヒント付けないとダメかも?
24名無しさん@お腹いっぱい。:03/08/06 16:58 ID:???
>>15
遅くなったけど msdb も一緒にバクアプしたらいいんでないの?
25名無しさん@お腹いっぱい。:03/08/07 22:26 ID:OOmE9YL0
すみません。質問させてください。
下記プログラム実行時、ストアドのsp_whoで同じホスト名が4つ出てしまいます。
そして出た後、コネクションクローズしているのにずっと接続したままです。
ホストが一つだけでるようにし、終了後正常に切断するにはどうプログラミング
すれば良いのでしょう?よろしくお願いします。

Dim Ret As Integer
Dim Exp As String
Dim key As String

Exp = "SELECT * INTO " & "y" & jName & " FROM BKSYS WHERE" & Me.txt検索内容.Value & " Order by 受付No"

Set cn = CurrentProject.Connection

cn.Execute Exp

DoCmd.TransferText acExportDelim, , "yyyy", "C:\検索結果.txt", True

Exp = "DROP TABLE yyyy"
cn.Execute Exp

MsgBox ("エクスポート完了")
cn.Close:Set cn = Nothing
26名無しさん@お腹いっぱい。:03/08/08 11:27 ID:1Pt/oRTP
MSSQLServerは7以降でスケーラビリティが向上して、マルチプロセッサの恩恵を
より受けやすくなった(←教科書まんま)

って、ホントに?
マシンがSMPか否かで書くクエリを変えたほうがよりパフォーマンスが上がる
と思うんですけど。

つーか、CPUを1個→2個に増やしても全然効果の出ないSQLServerって一体。
Oracleは劇的に変わってくれたのに。
27あぼーん:あぼーん
あぼーん
28名無しさん@お腹いっぱい。:03/08/08 14:19 ID:???
>26
何がボトルネックになっていて、それを解消する為には何が必要なのかが間違っているのでわ。

29名無しさん@お腹いっぱい。:03/08/14 22:25 ID:YZJ21c5+
T-SQL教えてくれるサイト無い?
30あぼーん:あぼーん
あぼーん
31名無しさん@お腹いっぱい。:03/08/15 00:59 ID:???
>>30
サンクスコ
32名無しさん@お腹いっぱい。:03/08/15 06:11 ID:???
そんなバカな。
33山崎 渉:03/08/15 21:57 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
34山崎 渉:03/08/15 22:51 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
35名無しさん@お腹いっぱい。:03/08/16 09:52 ID:???
そんなバナナ
        .┌┐
       / /
     ./ / i
     | ( ゚Д゚)
     |(ノi  |)
     |  i  i
     \_ヽ_,ゝ
       U" U

36名無しさん@お腹いっぱい。:03/08/19 14:05 ID:MiYBe/DA
クエリアナライザーを使ってると、画面がおかしくなる事あるんだけど、
あれ、なに?
37名無しさん@お腹いっぱい。:03/08/27 12:04 ID:NJRQ1obJ
Administrator権限のないドメインユーザーで
SQLServer2000 PersonalEdtionをWindowsXPにインストールしたいのですが
権限がないとおこられてしまいました。

次にAdministrator権限を持ったドメインユーザーでインストールしたところ
インストールはできたのですが、Administrator権限のないドメインユーザーで
ログインしなおすとSQLServerの起動すら権限がないと言われてしまいます。

インストール途中のサービスアカウントの設定画面では
「各サービスの設定をカスタマイズ」を選択しドメインユーザーアカウントを使用を選び
Administrator権限のないドメインユーザーを設定しています。

これだけの情報で足りているか不安ですが
どこで間違っているか解りましたら指摘お願いします。m(_ _)m
38名無しさん@お腹いっぱい。:03/08/27 13:54 ID:BucCbpyi
(ここは荒れすぎてて、どこに書いていいやら迷った上、マルチになってしまったけど、一応書き込み
SQLサーバー2000をずっと運用してます。今までトラブルらしいトラブルなかったのに、
2週間前ほど前から、毎日のように、
1.ログ出力容量オーバーフロー
2.接続クライアント数オーバー(200)
が連続で起こるようになり、原因調査中です。2.については、実際の同時接続は10程度です。
また、MSのサポート情報で、ログイン/ログアウトを頻繁に繰り返すと、
ログインの状態がすぐにクリアされずにたまっていき、接続中の扱いの数が増えてしまうことがある、
とありました。そのようなアクセスのしかたはしていません。サーバーはインターネット上に開いています。
不正アクセスの可能性も考慮したいのですが、なにかアドバイスありましたらお願いします。
39名無しさん@お腹いっぱい。:03/08/27 16:19 ID:???
>>37
ローカルのAdministrator で操作できんの?
あと、ローカルのAdministratosグループにそのドメインユーザーを
追加しておくとか。

あとインストールさえできれば起動は自動にしてシステムアカウントにしとけば
いいんでない?再起動が難しいが
40名無しさん@お腹いっぱい。:03/08/27 18:17 ID:NJRQ1obJ
>>39
 ローカルのAdministrator でログインして
 Enterprise Manager の(local)で右クリック → プロパティ → セキュリティ で
 サービス開始アカウントが[特定のアカウント]になていたので
 [システムアカウント]に変更したら起動することができました。
 
41あぼーん:あぼーん
あぼーん
42名無しさん@お腹いっぱい。:03/08/28 16:48 ID:5+Xb4HOA
顧客に納品後、仕様変更が発生して
テーブルに項目が追加しないといけません。

客先で作業するのに一番簡単な手法は何になるでしょう?
客先で作業する人はSQLの知識全くなくPCの基本的な扱いができる程度

SQLServer2000 PersonalEdtion
43名無しさん@お腹いっぱい。:03/08/28 18:59 ID:???
単にテーブルレイアウト変えるだけならSQLスクリプトファイル実行させるだけでいいと思うが。
でも、そんな単純な話じゃないでしょ?
4442:03/08/28 19:29 ID:5+Xb4HOA
>>43

できれば何も考えずに指定したファイルを実行(ダブルクリック)させて
終わりにしたい。

45名無しさん@お腹いっぱい。:03/08/29 10:06 ID:???
>44
レイアウト変更のSQLを実行したい、っていうだけなら、
osqlを使ってSQLを実行する為のバッチファイルを書けば良い。
拡張子を.batにしておけばダブルクリックのみで実行できる。
46名無しさん@お腹いっぱい。:03/08/29 20:48 ID:X3pigy//
MySQLと間違えて開いてしまった
47名無しさん@お腹いっぱい。:03/08/30 23:00 ID:LvNvFayb
複合列のインデックス(A列・B列・C列の順)に対してC列で検索
してもインデックスが使われないのは常識だと思うのですが。

SQLServerってA・B・C列全部を指定しないと(Aのみ、A・Bの
みだと)インデックスを使ってくれないと言われたんですが本当でし
ょうか?ちょっと信じ難いのですが。

SQLServer2000です。
48名無しさん@お腹いっぱい。:03/08/31 00:31 ID:???
>47
SQL鯖も同じです。
クエリアナライザで実行プランを見てみればわかります。
前者はインデックスを使用せずTableScanしますが、
後者はちゃんとIndexSeekしているのがわかります。
49名無しさん@お腹いっぱい。:03/08/31 01:10 ID:s52bkr9k
>>48
ああ、やっぱりそうですよね。回答ありがとうございます。

ところで、上記例でA列のみで検索する際、もしB列やC列がNULL可
であってもSQL鯖はインデックスを使ってくれるものなのでしょうか?

ここ数日パフォーマンス改善の為にインデックスの見直しを行っているの
ですが、こっちが考えたインデックスをSQL鯖が使ってくれなくて??
の嵐です・・・
50名無しさん@お腹いっぱい。:03/09/01 14:28 ID:CXXCCVK+
INFORMATION_SCHEMA.COLUMNS でカラムの情報が取得できますが、
カラムの説明(コメント?)を取得する方法はありますか?

SQLServer2000です。
51名無しさん@お腹いっぱい。:03/09/01 22:04 ID:7ITDSPGB
次期Office2003にはMSDEは何が付いてくるの??
52名無しさん@お腹いっぱい。:03/09/02 02:19 ID:???
>>51
Officeに併せてSQLSrvの発表があるとはおもえないので、2Kじゃないでしょうか。
さすがにOSみたいにDBMSのバージョンを頻繁にあげてもM$にメリットはないでしょうし。
53名無しさん@お腹いっぱい。:03/09/04 18:08 ID:THtORVf6
SQLServer 2000 Personalを使っています。
SP3まで入っています。

今日突然EnterPriseManagerが起動できなくなりました。
「SQLDMOが登録されていません。SQLServerのセットアップを再実行し、システム管理者に連絡してください。」
というメッセージが出ます。

さらにOKボタンを押すと
「スナップインを初期化できませんでした。」
  ↓
「スナップインの作成に失敗しました。
 スナップインは作成されていません。正しくインストールされていない可能性があります。」

となり何もできません。

ただし あらかじめ作ってあったADPを開くと中を見ることはできます。
バックアップとかはできませんでした。

何か対処方法あるでしょうか?

ちなみに今日やった作業と言えば OfficeUpdateくらい・・・
54名無しさん@お腹いっぱい。:03/09/04 18:28 ID:6z7DDqNO
セーラー服を着た女子高生を見て思わず匂いを嗅ぎたくなってしまった事はありませんか?
匂いまでは体感する事は出来ませんがバーチャルな世界で無修正動画をばっちり堪能すること
は可能です。あなたの知っている女の子が見つかるかも!?

http://66.40.59.77/index.html
5553:03/09/05 19:23 ID:9sZX0MpF
結局直せなかったので
再インストールしました。

他でこのような現象まったく出ていないので
Office Updateは関係ないですね。
56名無しさん@お腹いっぱい。:03/09/06 22:30 ID:8B48tcb8
ORACLEよりMSSQLの方がいいのかゴラァ
57名無しさん@お腹いっぱい。:03/09/07 11:53 ID:???
>56
条件による。
58名無しさん@お腹いっぱい。:03/09/08 13:32 ID:???
VisualStudio.NETについてきたMSDEをインストールしたら、
インスタンスがHOGE\NetSDKになったのだけど、これって
名前を変更できないの?
59名無しさん@お腹いっぱい。:03/09/08 13:36 ID:???
>>58
セットアップと同じディレクトリにある .ini に、インスタンス名書いてない?

#つーか、SP3aをMSからダウンロードすれば……
60名無しさん@お腹いっぱい。:03/09/08 16:39 ID:VNXPoBK9
SQL Server 2000 120日間限定評価版 Release Aって
どうやってインストールするの?
ダウンロードして解凍したけど、インストーラとか
ないんだけど・・・。
61名無しさん@お腹いっぱい。:03/09/08 17:32 ID:zCzjrhxm
setup.bat
62名無しさん@お腹いっぱい。:03/09/09 13:15 ID:???
えーとすいません。
Windows 2003 Server Standard Edition + SQL Server 2000 と
Windows NT 4.0 + SQL Server 6.5 でレプリケーションのテストを行っているのですが
レコードの存在するDBをパブリッシュするとテーブルのコピーに失敗します。

どうすればいいのか教えていただきたいのですが。

レコードの無いテーブル情報のみの空のDBをパブリッシュしたときはうまく動き、
その後の更新もサブスクライバに反映されたのですが。

2000側がパブリッシャ、6.5側がサブスクライバで
トランザクションレプリケーション、即時更新はなし、です。
OSにもSQL ServerにもSPの類はインストールしていません。
63名無しさん@お腹いっぱい。:03/09/11 05:27 ID:27rlHfYT
ストアドプロシージャ内で作った一時テーブルを
ストアドプロシージャ外(呼び出し元)から利用することは
できますか?
できそうなものですが・・・そんなテーブルは無いと怒られました
64名無しさん@お腹いっぱい。:03/09/14 18:24 ID:T0nvba1V
MCP板ってあるの?みつからないんだけど、
65名無しさん@お腹いっぱい。:03/09/18 09:40 ID:zyOaYKQh
Windows2000にtomcat4とSQL Server7を連携させたWebシステムを
開発しているのですが、commitがうまくいくときといかないときが
あります。
データ更新SQLとcommitはストアドに記述しているのですが、この方法って
問題あるのでしょうか?
JDBCはjtds-0.5.1を使ってます。
だれかたすけて〜〜〜〜
66名無しさん@お腹いっぱい。:03/09/19 07:59 ID:/Xt5vCla
MSのサイトからSQL Server 2000のSP3aをダウンロードしようとしているのですが
「ページを表示できません」となってしまいます。
Windows UpdateはできたのでFWとかのせいではないと思うのですが、
サーバー側の問題でしょうか?
他の方はどうですか?
67名無しさん@お腹いっぱい。:03/09/19 12:22 ID:???
6866:03/09/20 01:16 ID:???
ほんとだ、できますね。
何だったのかな??
69名無しさん@お腹いっぱい。:03/09/20 16:11 ID:rRQMKVbe
ACCESSのMDB から SQL SERVER 7.0 に先日移行しました。
ひとつ問題が出たのですがMDBのファイルだと3年半で1.1GBであったのに対し
SQL SERVER 7.0 のバックアップファイルは1日10MBづつ容量が増え
このままだと半年もしないで1GBを消費してしまいそうです。
「データベースの圧縮」を実行してみたのですが、mdfファイルの容量は
変わらないので、バックアップファイルの容量も変化なしです。
何とか容量の増加を抑える方法はありませんでしょうか?


70名無しさん@お腹いっぱい。:03/09/21 17:03 ID:???
トランザクションログが溜まってるのでわ?
71名無しさん@お腹いっぱい。:03/09/23 11:46 ID:Or9By2o2
1.1GBのMDBファイルって...
72名無しさん@お腹いっぱい。:03/09/23 19:02 ID:w74Jjv3+
SQL Serverのimage型にASPを使って画像を保存する
には、どうしたらよいのでしょうか?
73名無しさん@お腹いっぱい。:03/09/24 13:33 ID:???
winNT4.0かwin2K(サービスパックは最新)にインストールできる
SQL Serverの最新版のバージョンを教えてください。
自分の調べではSQL Server2000にSP3aを当てたものと思うのですが
ちがっていたらご教授おねがいします。
74名無しさん@お腹いっぱい。:03/09/24 20:13 ID:???
>>73
それで合ってる
75名無しさん@お腹いっぱい。:03/09/25 14:56 ID:9aQaZ91v
SQL Server7.0で銀行型丸め(四捨六入)はどうすれば出来ますか?
76名無しさん@お腹いっぱい。:03/09/25 18:43 ID:???
銀行型丸めと四捨六入とは違うのでは?
77名無しさん@お腹いっぱい。:03/09/25 18:56 ID:???
78名無しさん@お腹いっぱい。:03/09/26 08:17 ID:???
銀行型丸め=四捨六入 じゃないの?
79名無しさん@お腹いっぱい。:03/09/26 10:40 ID:???
このスレってさ、営業スレだろ?
すげー笑えるんだけどw
80名無しさん@お腹いっぱい。:03/09/26 12:46 ID:???
>>78 ちゃう>>77参照
81名無しさん@お腹いっぱい。:03/09/26 23:50 ID:???
>>80
んーと、銀行型丸めはちょうど.5の場合で、四捨六入は
丸める桁の数字が5の場合ってことでいいのかな?
82名無しさん@お腹いっぱい。:03/09/28 07:42 ID:???
OracleのSQL*Plusライクなツールって、SQL-Server2000にもありまつか?
あったら名前おしえてちょ。
83名無しさん@お腹いっぱい。:03/09/28 08:55 ID:???
osql?
84名無しさん@お腹いっぱい。:03/09/29 11:51 ID:???
銀行型丸めは四捨六入の一種であって、イコールではないということかと
85名無しさん@お腹いっぱい。:03/09/29 21:36 ID:???
>>84
偶数と奇数で0.5の処理が違う。

1.5 → 2 切り上げ
2.5 → 2 切り捨て
3.5 → 4 切り上げ
4.5 → 4 切り捨て
86名無しさん@お腹いっぱい。:03/09/30 15:20 ID:???
>>85
そういうのも四捨六入に含まれる
四捨六入の場合、5の処理はいろいろあるということだ
87名無しさん@お腹いっぱい。:03/10/01 18:05 ID:W3duBQj5
ADO.NETとMSDEで、システム組んでます。
トランザクションで質問なのですが、
Serializable でBeginTransaction()とすると、その瞬間から、
すべてのテーブルにロックがかかるのでしょうか?
それとも Selectなど、SQLを発行したテーブルにだけ、ロックが
かかるのでしょうか?
88名無しさん@お腹いっぱい。:03/10/01 20:20 ID:WqrFwWYj
●●●衆議院総選挙●●●(調査期間:9月27日〜10月10日)
あなたはどの政党の候補者に投票しますか?〜小選挙区〜
11月9日に投票があると言われている次期衆議院総選挙であなたはどの政党の候補者に投票しますか?
・小選挙区で投票する候補者が所属する政党名で投票をお願いします
・有権者のみ投票をお願いします
・1人1票のみとなっております
・選挙区別に集計していますので、選挙区名は正確にお答えください

投票所はこちら→http://vote3.ziyu.net/html/dai02kai.html

参考:選挙でGO!!→http://homepage3.nifty.com/makepeace/

これと同じものを最寄りのスレにコピペをしてください
よろしくお願いします
89名無しさん@お腹いっぱい。:03/10/02 21:36 ID:???
>>87
× すべてのテーブルにロックがかかるのでしょうか?
○ それとも Selectなど、SQLを発行したテーブルにだけ、ロックが
9089:03/10/02 21:38 ID:???
違ったテーブルが全てロックされる分けでは無いわーなぁ。
先ずはレコードから
91名無しさん@お腹いっぱい。:03/10/02 23:58 ID:???
>>90
レコードだけロックしても、RepeatableReadにはなってもSerializableにはならないんじゃ?
9269:03/10/04 08:47 ID:5gjITgOV
>>70

データ圧縮出来ました。ファイル拡張の上限が無制限になっていて
圧縮の作業がされていなかったようです。
すみませんでした。
93名無しさん@お腹いっぱい。:03/10/05 06:30 ID:JwP0DWsy

今1つのSQLで10のクエリを使用して外部結合を行いレコードを取得しています。
クエリアナライザで見る限りデータはうまく取得できているのですが
ソース上で見ていくと、外部結合の元となっているテーブルのデータ
( 給与テーブル.部門コード*=売上テーブル.売上高などといった
給与テーブルから取ってきたデータ)のみMoveNextができていて、
そのほかは1件目のデータがずっとレコードセットに入ったままに
なっています。
FROM句の中の1つのテーブルの中に、さらに外部結合を使用したSQLが
入っており、それが10ある状態です。
あまりにも外部結合が多くなると、Movenextはうまくいかないのでしょうか?
できれば1つのSQLでデータを取得したいのですが、他に方法なないでしょうか?

わかりにくい質問かもしれませんが、どうぞよろしくお願いします。
94名無しさん@お腹いっぱい。:03/10/05 10:57 ID:???


  SQL-Server何でも相談室(無料)


  OI2O-69-OI96


95名無しさん@お腹いっぱい。:03/10/05 12:19 ID:yGVJfMgz
MSDEをWin98に入れたいのですが
下記のサイトにあるjpn_sql2kdesksp3.exeをダウンロードして
インストールすればよいのでしょうか?

http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=ja

OfficeのCDに入っているようですが
今CD Driveが無いため
どっかのサイトからダウンロードして入れる方法しかありません。
上記のサイトが間違っていれば何処がMSDEをダウンロード出来るサイトを
教えてください。
よろしくお願いします☆
96名無しさん@お腹いっぱい。:03/10/05 15:01 ID:???
>>95
sp3と言いつつ全部入ってるんだな。w
97名無しさん@お腹いっぱい。:03/10/05 15:03 ID:???
>>93
そのSQLを晒せ!
98名無しさん@お腹いっぱい。:03/10/05 17:55 ID:6ExKgNSy
Oracle社からよくOracleの情報のメールが届きますよね。
最近ではセミナーの案内のメールが配信されました。
SQLServerでも同じようなメールマガジンって無いですか?
SQLServerの無料セミナー情報がとっても欲しいので・・・
99名無しさん@お腹いっぱい。:03/10/08 00:21 ID:???
大変初歩的な質問ですけど、SQLServer7.0のアンインストールがウマくできません。
環境はWIN2000です。サービスパックの4を当てています。
テーブルのデタッチも行っているのですが、内部サーバーエラーうんぬんのエラー
メッセージが表示されてしまいます。どなたかよろしくお願いします。
100名無しさん@お腹いっぱい。:03/10/08 01:45 ID:???
> 内部サーバーエラーうんぬんのエラー
なぜエラー内容を正確に書かないのでしょうか。
101名無しさん@お腹いっぱい。:03/10/08 08:43 ID:???
内部エラーのため、外部 DLL のロードや呼び出しができません。
詳しくは、プログラムの供給元に問い合わせて下さい。

↑失礼しました。アプリケーションの追加と削除で、アンインストールしようとすると、
上記のエラーメッセージが出てしまうのです。SQLサーバーのヘルプには、

重要 SQL Server を削除する前に、Windows NT イベント ビューア、
レジストリ エディタ、すべての SQL Server アプリケーション、
SQL Server に依存するすべてのアプリケーションなど、
すべてのアプリケーションをシャットダウンしてください。

と、あるのですが、レジストリエディタは普通立ち上げませんし、
依存すると思われるVBは終了させています。
イベントビューアーの止め方は良くわかりません。
102名無しさん@お腹いっぱい。:03/10/09 10:37 ID:I9tywOlC
すいません。初心者です。
SQL SERVER 7.0 を使用していますが、トランザクションログの
切り捨てを自動的に行う設定はないのでしょうか?
完全バックアップを行っても自動的に削除されません・・・。
103名無しさん@お腹いっぱい。:03/10/09 13:46 ID:Okn8/KIr
鯖上のデータベースを丸ごとクライアントに持ってくる方法って無いですか?
104名無しさん@お腹いっぱい。:03/10/09 18:23 ID:fGgCI3f1
>>103
バックアップファイルではだめなんですか?
105名無しさん@お腹いっぱい。:03/10/09 22:34 ID:???
>103
鯖上のSQL鯖の全テーブルのデータを、クライアントにあるSQL鯖にコピーしたい
という意味なのだろうか?
それなら>104か、DTS、リンクサーバ、レプリケーション。
106名無しさん@お腹いっぱい。:03/10/10 20:33 ID:???
>>102
BACKUP LOG ホゲホゲDB WITH TRUNCATE_ONLY

つか、ログをバックアップすると自動的に消える。
107名無しさん@お腹いっぱい。:03/10/11 01:32 ID:???
>>91
テーブルロックをとるのが一番確実なSerializable化手法
108102 :03/10/11 09:19 ID:SWeIE1h0
>>106

ありがとうございます。ログもバックアップ取れば良いのですね。
109トムトム:03/10/11 11:56 ID:lo76nhuj
はじめまして。
皆様に質問です。
MS SQL Server を使ってMS Access を複数のユーザーで使用する事は可能なのでしょうか?
目的としてはAccessデータを複数の人間で使用したいのですが、使用するとフリーズしたりレコードが壊れたりしてしまいます。(当たり前ですが・・・)
又、製作したAccessデータのバージョンがOffice95・97・2000とバラバラなのですがそれでも互換性はあるのでしょうか?
こんな環境です。
MS SQL Server の購入に迷っています。
ご意見をお聞かせください。
よろしくお願いします。
110名無しさん@お腹いっぱい。:03/10/11 13:10 ID:GszSfmFi
>>109
ACCESSのデータベースだと同じテーブルに一度に追加や更新をかけると
壊れることが多いですよね。排他処理がデータベースではできないので
しょうがないのですが。

移行しましたがかなり快適です。運用も楽ですね。
ですがそれなりの勉強が必要です。
Officeのバージョンがばらばらなのは
危険ですね。まず統一することが望ましいです。
一応、ACCESS2000にアップサイジングウィザードという機能があり
オートでSQL SERVERにデータを移すことが出来ますが、
転送途中でエラーを起こし、不完全に移行する場合があるのでその際は
SQL SERVERのDTS機能を使えばOKです。

いろいろ移行の際に問題点があると思いますがそれはテストを繰り返し
行うしかないです。でも現状MDBが破損するのであればACCESS自体の
のソースを見なおしたほうが良いのかもしれないです。SQL SERVERに
移行してもソースがおかしいとデットロックがかかったりしますので。

111トムトム:03/10/11 14:15 ID:lo76nhuj
>>110さん、ありがとうございます。
頑張ってみます。
でも、やっぱバージョン揃えないと駄目そうです。(T_T)/~~~
112名無しさん@お腹いっぱい。:03/10/11 23:41 ID:???
>109
MSDE使いなされ。
SQL鯖購入はそれからでも遅くないでしょう。
113名無しさん@お腹いっぱい。:03/10/12 14:54 ID:WqyHM4pT
ORACLEからSQLServerに乗り換えるのですが
SQLServerは使ったことがありません。
ORACLE使いがSQLServerを使う場合に
とまどう事ってありますか?
また難しい部分はありますか?
114名無しさん@お腹いっぱい。:03/10/12 15:20 ID:???
>>113
http://www.microsoft.com/japan/SQL/evaluation/compare/

>ORACLE使いがSQLServerを使う場合に
>とまどう事ってありますか?

あまりに扱いが簡単なのでとまどう。

>また難しい部分はありますか?

ロック(ry
115名無しさん@お腹いっぱい。:03/10/12 16:51 ID:UDvjpkZa
MSDEってどこまで業務で使ってよいのかわからない・・・
MSの所以外で解りやすく説明しているサイトとかある?
116名無しさん@お腹いっぱい。:03/10/12 17:01 ID:???
117NAME IS NULL:03/10/14 04:29 ID:ceEV+Vmp
118NAME IS NULL:03/10/14 12:39 ID:aKkE+ZIH
MSDEって何ですか

SQLServerの書籍を読んでいると、
時々このMSDEがどうのこうのって話が書いてありますが・・・
119NAME IS NULL:03/10/14 13:10 ID:???
120NAME IS NULL:03/10/14 20:16 ID:???
>>118
Microsoft Stupid Desktop Engine
マイクロソフトくだらないデスクトップエンジン
121NAME IS NULL:03/10/16 18:51 ID:sySt/eay
この人に何か言ってやってください
ttp://www7.big.or.jp/~pinball/discus/sqls/22699.html
122NAME IS NULL:03/10/16 18:57 ID:???
>>121
maxell.co.jp(日立マクセル株式会社)だって
123NAME IS NULL:03/10/17 23:12 ID:cDOUHUgl
マジで困ってます。
教えてください。
MSDEをインストールしました。
次に、SQL Server サービスマネージャ というツールを起動しました。
画面には

サーバー:DEFAULT
サービス:

のように表示されておりサービスのコンボボックスには何もない。
何も選択できない。
よって開始することができない。。。
サービスを設定(追加?作成?)するにはどうすればよいのでしょうか?
124NAME IS NULL:03/10/18 04:30 ID:???
>>123
手でサーバー名(インスタンス名があれば含めて)を入れてあげれば
いいんでない?赤の四角でも緑の三角でもなく白いんでしょ。
サーバーは既定で開始されてるはず。

ところで、MSDE SP3a で全角/半角とひらがな/カタカナが
insensitiveになってるのを sensitiveに変えるにはどうすれば
いいですか。Analysis Serviceは使いたくありません。
collationは Japanese_CS_ASです。
125NAME IS NULL:03/10/18 10:29 ID:/FTgWjTp
>>124
コンボボックスでの選択なので
手入力は出来ないのです(T-T)
126NAME IS NULL:03/10/18 10:47 ID:???
>>125
俺は手入力できるが?
サーバーにコンピュータ名、サービスに SQL Server って入れてみ。
それでダメなら、コンパネ→データソース→ユーザーDSNのMQISが
ちゃんと設定出来てるか確認。
それでもダメならレジストリを直接編集する手もあるが
アンインスト→再インストの方が早い。
127NAME IS NULL:03/10/18 10:52 ID:/FTgWjTp
>>126
やっぱり手入力は出来ないです。
ちなみにサーバー名の方はラベルになっており入力は出来ません。
OSはwin98なのですがコンパネにデータソースというのがありません(T-T)
レジストリの編集する個所を教えてください!!!
128124:03/10/18 10:58 ID:???
>>127
「ODBCデータソース(32ビット)」ってないの?
俺のWin98SEにはあるんだが。
サーバー名手入力不可といい、やっぱりWin98はすごいな。
129NAME IS NULL:03/10/18 11:06 ID:???
>127
それってちゃんとインスト出来てないんじゃ…。
データソースも無しに接続出来るわけないじゃん。
でもAccessが入ってればODBCは絶対に有るハズだけどな。
試しに「ファイル名を指定して実行」でsvrnetcn.exeを実行してみ。
SQL Serverネットワークユーティリティが起動しなかったら
ちゃんとインスト出来てない。

>>128
いや、俺が以前にクラのWin98に入れてあげた時はODBC有った。
130NAME IS NULL:03/10/18 11:07 ID:/FTgWjTp
>>128
ありません(T-T)
レジストリの編集個所を知ってましたら教えてくださいm(_ _)m
131NAME IS NULL:03/10/18 11:11 ID:/FTgWjTp
>>129
SQLServerネットワークユーティリティは起動できます。
全般タブには
サーバーのネットワークライブラリ   接続パラメータ
------------------------------------------------------
共有メモリ
マルチプロトコル           DEFAULT
TCP/IP                1433


のようになっております。
132NAME IS NULL:03/10/18 11:18 ID:???
>>131
俺の画面と全然違うな。
バージョン幾つだよ。
レジストリめんどくせぇな。
レジストリエディタを開いてHKEY_LOCAL_MACHINE\SOFTWARE\ODBCにどんなのがある?
133NAME IS NULL:03/10/18 11:28 ID:/FTgWjTp
>>132
バージョンは、7.0.623です。
ODBCの中には
ODBC.INI
  ECDCMusic
  ODBC Data Sources
  ODBC File DSN
ODBCINST.INI
  Microsoft Access Driver (*.mdb)
    FileList
  Microsoft dBase Driver (*.dbf)
    FileList
  Microsoft dBase VFP Driver (*.dbf)
  Microsoft Excel Driver (*.xls)
  Microsoft FoxPro Driver (*.dbf)
    FileList
・・・
・・・
・・・
・・・
・・・

のような感じになっております。。
134NAME IS NULL:03/10/18 11:37 ID:???
>>133
バージョンが違うから対応し切れないかもしれないが
取り敢えずODBCINST.INIのODBC DriversとSQL Serverっての有か見て。
んでODBC DriversにSQL Serverってのが有って、値データがInstalledになってるか見て。
値データも書かないと回答出来ないよ。
それとAccessは入ってるよな?
Accessはちゃんと動くのか?
135NAME IS NULL:03/10/18 11:42 ID:/FTgWjTp
>>134
ODBC DriversのSQL Serverのデータは"Installed"になってます!!!
Access2000は入っております。
起動も確認しました。
136NAME IS NULL:03/10/18 11:52 ID:???
んじゃあ、次のキーを新規に書く。
ODBC.INIに

LocalServer
名前          種類     データ
(標準)        REG_SZ   (値の設定なし)
Description     REG_SZ
Server     REG_SZ (local)
Trusted_Connection    REG_SZ
UseProcForPrepare REG_SZ Yes

MQIS
名前          種類     データ
(標準)        REG_SZ   (値の設定なし)
Dirver     REG_SZ [SQLSRV32.dllまでのフルパス]
LastUser REG_SZ [ログイン名]
Server     REG_SZ (local)
Trusted_Connection    REG_SZ Yes
137NAME IS NULL:03/10/18 11:56 ID:???
それが済んだら今度は
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Clientの
データを書いてくれ。
138NAME IS NULL:03/10/18 11:58 ID:/FTgWjTp
>>136
すいません、「種類」とは何でしょうか?
そのような記述がありません。。。
「名前」と「データ」しかありません。
また作成するときに「文字列」「バイナリ」「DWORD値」の3つから
選択するようなのですが「文字列」でOKでしょうか?
139NAME IS NULL:03/10/18 12:04 ID:???
>>138
そういやOSも違うからレジストリエディタも違うのか。
種類は全部一緒だから無視して良いでしょ。
文字列書くんだから文字列で。


めんどくせーから一気に逝く。
ウチのClient\ConnectToのキーと値
名前         種類    データ
(標準)       REG_SZ   (値の設定なし)
DSQUERY       REG_SZ   DBNETLIB
[コンピュータ名]   REG_SZ    DBMSSOCN,[コンピュータ名]
140NAME IS NULL:03/10/18 12:08 ID:/FTgWjTp
>>137
Clientには「ConnectTo」「TDS」の2つのキーがあります。

ConnectTo
名前           データ
(標準)         (値の設定なし)
DSQUERY       "DBNMPNTW"

TDS
名前           データ
(標準)         "7.0"


のように設定されています。
141NAME IS NULL:03/10/18 12:11 ID:/FTgWjTp
>>139
コンピュータ名がない場合は「DEFAULT」でOKでしょうか?
142NAME IS NULL:03/10/18 12:15 ID:???
>>140
たった二つしか無いのか…。
そりゃ不味いんじゃ…。
やっても無駄な様な気がしてきた。

>>141
もうWin98なんて長い間触ってないけど、マイコンピュータの右クリックで
プロパティのどこかにコンピュータ名書いてないか?
143NAME IS NULL:03/10/18 12:23 ID:iyN+stqc
>>142
やっても無駄ですかぁ(T-T)

マイコンピュータのプロパティでコンピュータ名らしきものが
表示されてません。。。

コンピュータ名がない時点でダメダメのような気がしますね・・・
お時間おかけして申し訳ありませんでしたm(_ _)m
144NAME IS NULL:03/10/18 12:25 ID:???
>>143
レジストリエディタでComputerNameで検索
145NAME IS NULL:03/10/18 12:28 ID:???
>>143
それと、今更思い付いたんだけど
「ファイル名を指定して実行」でodbcad32.exeでODBCが設定出来るかもな。
146NAME IS NULL:03/10/18 12:30 ID:iyN+stqc
>>144
ありがとうございます。
ComputerNameのデータは"DEFAULT"でした。。。

再インストールした方がはやそうですね(T-T)
色々教えていただきありがとうございました。
147NAME IS NULL:03/10/18 12:32 ID:iyN+stqc
>>145
odbcad32.exeの実行でODBCの設定ができます!!!
でも何を設定すれば良いのかわかりません(爆)
148NAME IS NULL:03/10/18 12:34 ID:???
>>147
追加
一番下のSQL Serverを選択→完了
名前と説明は適当
サーバーは(local)
149NAME IS NULL:03/10/18 12:41 ID:iyN+stqc
>>148
サーバーは
local
と入力すればOKですよね?
接続テストで失敗してしまいます(>_<)
150NAME IS NULL:03/10/18 12:42 ID:???
>>149
(local)
括弧
151NAME IS NULL:03/10/18 12:46 ID:???
てめーもしかしてレジストリにも括弧抜きで書いてねーだろうな?
[SQLSRV32.dllまでのフルパス]
とかもそのまんま書いてそうな悪寒がするのだが…。
152NAME IS NULL:03/10/18 12:52 ID:iyN+stqc
>>151
それは大丈夫です!
(local)と入力しても接続失敗します。。。

再インストールしてみますね。
153NAME IS NULL:03/10/18 13:13 ID:/LPFMQOT
>>152

MSDE使ったことありませんがユーザ設定とかってあるのでしょうか?
SQL SERVERでたまにユーザ設定をしていなくてログイン出来ないと
困っている人がいるのですが。
154NAME IS NULL:03/10/18 13:29 ID:???
Win98では強制的にSQL認証になるからsaで無条件にログインできる。
155NAME IS NULL:03/10/20 14:49 ID:???
test('-'。)キター(。'-')。。('-'。)キター(。'-')。。('-'。)キター(。'-')
156121:03/10/20 15:58 ID:b5RqcW0O
maxell.co.jpには日本語が不自由な人がいるようです。
ttp://www7.big.or.jp/~pinball/discus/sqls/22731.html
157NAME IS NULL:03/10/20 20:44 ID:???
>>156
2ch的煽りで情報が出ると思ってるのかな(w

あまりにも、あまりにも、だから笑える。
158NAME IS NULL:03/10/23 00:21 ID:???
確信犯だろ・・・
そうでなけりゃマジで知障。
会社にチクればヘタすればクビだ。
159NAME IS NULL:03/10/23 20:54 ID:???
>>158
こーゆう恥かしいの放し飼いにしてるのは会社自体が2流だから、首にはならんだろ。
恥かしいのすら出てこない、5流以下の会社も多いけどな(w
160NAME IS NULL:03/10/24 01:41 ID:???
>>156
コイツ、SQL ServerエンジンとAnalysisが同じもんだと思ってそうだな。
しかし何が言いたいのかまったくよくわらん文章だな(w
161NAME IS NULL:03/10/24 06:45 ID:???
>>158-160
だが藻前らよりも遥かに給料が多い
162NAME IS NULL:03/10/24 09:01 ID:???
>161=156のリンク先の中の人
163NAME IS NULL:03/10/24 14:52 ID:I68UZVLD
VBでSQL Serverのあるサーバーにアクセスするプログラムを
作ったのですが、いざ客先でEXEを起動すると
<初期化文字列の形式はOLE DB仕様に準拠していません>
というダイアログが出て終了してしまいました。
何が原因なのでしょう?
164NAME IS NULL:03/10/24 15:57 ID:QHM+8JsC
おまえの頭
165NAME IS NULL:03/10/24 19:58 ID:???
166NAME IS NULL:03/10/26 02:55 ID:???
Server: Msg 3624, Level 20, State 1, Line 1
Location: q:\SPHINX\NTDBMS\storeng\drs\include\record.inl:1447
Expression: m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID: 54
Process ID: 784

以上のエラーが不定期に出て困っています。なにが原因で起こるのか見当がつきません。
何卒ご教授願えませんでしょうか。
167NAME IS NULL:03/10/26 03:01 ID:yMVkw4Qf

ご教授 キタ━━━━(゚∀゚)━━━━ッ!!
168NAME IS NULL:03/10/26 10:58 ID:???
169166:03/10/26 17:58 ID:???
>>167-168
今のところ、なんとか解決したようにみえます。
どうもありがとうございました。
170NAME IS NULL:03/10/30 15:27 ID:nelBRxzy
指定した名前のテーブルが存在するかどうかチェックするにはどうすればよいのでしょうか?
以下の方法でとりあえずできたのですが、もっと効率の良い方法はないでしょうか?

if exists (select * from dbo.sysobjects
where id = object_id(N'$name')
and OBJECTPROPERTY(id, N'IsUserTable') = 1)
171NAME IS NULL:03/10/30 20:24 ID:???
>>170
システムテーブルを参照しる!(って、あったっけ??)

テーブルの存在チェックをしなきゃいけない設計自体がどうかとおぢさんは・・・略
172NAME IS NULL:03/10/30 22:16 ID:???
>>170
if exists (select name from master.dbo.sysdatabases where name = 'データベース名')
173172:03/10/30 22:24 ID:???
ごめん、反射的にデータベースの存在確認しちまった。

if exists (select name from sysobjects where name = 'テーブル名')
174NAME IS NULL:03/10/31 01:35 ID:MPayyV2T
現在、ORACE 8.0.5 + VB 6.0 + ODBC(DAO)の環境で動いているアプリを
SQL Server 2000に移行する事になりました。
ソースの変更は出来るだけ少なくしたいので、VBは引き続き6.0を使うのつもりですが、
ODBC+SQL Serverの環境で何か問題ないでしょうか?
他に(ADOとか)変えた方がいいですか?
175NAME IS NULL:03/10/31 02:30 ID:???
>>174
DBを変える目的は何なの?
まぁ、余裕があるならADOにしてもいいけど、止めとけ
176170:03/10/31 10:50 ID:???
>>173
うまくいきました。
ありがとうございます。
177NAME IS NULL:03/11/01 00:50 ID:???
>>175
ADOだとマズイことでも?
178NAME IS NULL:03/11/01 01:02 ID:???
>>177
意外と面倒だから余裕がなければ止めとけということでは
179174:03/11/01 11:25 ID:???
とりあえずDAOでSQL Serverとの接続等ができました。
あとは移したデータに主キーとかを付けないといけないし・・・結構面倒だなぁ。

>>175
何か予算の都合でオラクル買えなかったらいしいです。
あと担当者がMS好きな方なので(ry
180NAME IS NULL:03/11/02 11:20 ID:K4tQJ7hV
>>174

ODBCに依存しないでADOで直接DBを参照した方が安定しますし、
高速ですよ。DB変える前にプログラムを変えたほうが
効果はあると思いますが…。
181174:03/11/02 12:08 ID:???
>>180
>ODBCに依存しないでADOで直接DBを参照した方が安定しますし、 高速ですよ。

そうなんですか。最近Web系の仕事ばかりだったので、その辺は疎いです。
調べてみます。ありがとう。
182NAME IS NULL:03/11/03 18:45 ID:3bDk0xme
SQL2000で既定のインスタンスにDBを20個ほど作成したら、
エンタープライズマネージャのツリーを展開させる動きが極端に遅くなりますた…

回避策ってあります?
名前付インスタンスを作ってインスタンスを分けるのって効果あるのでしょうか?
メモリやCPUのリソース配分は同じような気がするのですが。
183NAME IS NULL:03/11/04 07:12 ID:???
select 〜 from TABLE order by ID

ID
------
1
3
2
5
4
6
------------------------
order by でならべかえられたレコードセットのうち
3〜5のIDだけのレコードセットを取り出すにはどのようなSQL文を書いてから
rs.open sql,conn,3,3
などとやればいいんですか?
いつも3〜5を抜き出すわけではないので、x〜yを抜き出すSQL文で任意の範囲のレコードセットを取得したいです。
184NAME IS NULL:03/11/04 11:44 ID:???
where (ID => 3 and ID <= 5)
185NAME IS NULL:03/11/04 11:45 ID:???
where (ID => 3 and ID <= 5)
186183:03/11/04 23:16 ID:???
ちょっと言い方間違ってました。
order byでならべたレコードセットのx番目からx+1番目、x+2番目までの3個取り出したいです。
187NAME IS NULL:03/11/05 00:34 ID:???
となるとopenした後にmovenextの回数とxを比較していくしかないのでわ(;´Д`)
188183:03/11/05 01:00 ID:???
>>187
わたしもそれがおもいついてたのですが、
ASPにはDoeventに相当するメソッドがないみたいなのではげしくrs.movenextをしたくないなあとおもってたところだったのです。
SQLにはTOPキーワードしかないようですし。
結局movenextで最初の数レコードをスルーして目的のレコードを操作することになるようです。
189NAME IS NULL:03/11/05 01:38 ID:SZeIyv6y
mdfからのDB復旧方法についてご存知のかた,教えてください
190NAME IS NULL:03/11/05 20:39 ID:???
191NAME IS NULL:03/11/06 03:53 ID:???
>>183
orderした結果に順位をつけるクエリーはチラホラ見るから
それの応用でできるのでは?

あとはoederした結果をidentityつきのtemp tableに放り込むくらいか
192183:03/11/06 20:07 ID:???
>>191
むぅそうですか。
193NAME IS NULL:03/11/07 16:59 ID:vIZH227m
SQL鯖2KでDB設計しております。
Oracle用としてはObjectBrowserなんかがありますが、SQL鯖に対応しているモデリングツールって無いでしょうか?
194NAME IS NULL:03/11/08 02:16 ID:???
>>183
IDが一意ならこんな感じ?

select A.ID
from TABLE as A
where (SELECT COUNT(*) from TABLE B WHERE B.ID <= A.ID) BETWEEN X AND X+3
order by A.ID

195NAME IS NULL:03/11/10 11:21 ID:e3FOvSLN
SQL ServerがインストールされているHDDが残り50Mなので
バックアップ用のテーブル(全部で1Gはある)を消したんですが、容量が増えません。
おそらくはACCESSみたいに最適化しないと容量が増えないんだろう、と素人ながら思ったのですが、
SQL ServerにACCESSの最適化みたいなツールはあるんでしょうか?
エンタープライズマネージャーの保守計画を見ても其れらしきものがなくて・・・

情報お持ちのかた、お願い致します。
196195:03/11/10 11:25 ID:e3FOvSLN
追加で、トランザクションログなんかも凄い容量を食っているみたいです。(1.5G)
今は使用していないDB領域のテーブルのログを削除もしたりしたんですが、(ログの切り捨て)
容量が増える気配はありません。
容量を増やす方法がありましたら、此方もあわせて情報お願いします。

197NAME IS NULL:03/11/10 11:42 ID:???
BooksOnlineを「圧縮」というキーワードで探してみると良いであろう
198NAME IS NULL:03/11/10 12:01 ID:e3FOvSLN
>>197
保守計画が出てきました。
でもこれって「今すぐ」実行はできないんですよね?
今すぐ実行したいのですが・・・・
199NAME IS NULL:03/11/10 12:16 ID:???
もう一歩踏み込んで調べりゃすぐ出てくるはずだが・・・
んじゃ「データベースの圧縮」
200NAME IS NULL:03/11/10 13:33 ID:e3FOvSLN
>>199
BooksOnlineではなく、エンタプライズマネージャーのヘルプを見てたっぽいです(−−;
色々出てきたのでちょっと見てみます。
201NAME IS NULL:03/11/11 22:50 ID:HlyPcPil
インデックスをつけるときに内部で「ソート処理」をしていると思うのですが、
その場合、マルチプロセッサにすると劇的に速くなりますか?
また、「リレーション処理」の場合は速くなりますか?

RAIDにお金を掛けるか、マルチプロセッサにお金を掛けるか迷っています。
両方にかけるお金がありません。
どうか御助言賜りたく宜しくお願いします。
202NAME IS NULL:03/11/12 00:02 ID:???
まずはパフォーマンスチューニングについてキチンと勉強しろ
そうでなければ、どっちに金かけてもたぶん無駄だ

つか「リレーション処理」って何だよ
203マハgogogo:03/11/12 02:03 ID:???
昔は6.5使ってました。

サーバーを
PEN-PRO 200Mx2
 から
PEN3 1Gx2
にしたらものすごく早くなった。
204NAME IS NULL:03/11/12 10:18 ID:???
>201
まずハッキリして欲しいのは「インデックスをつける時」の意味。
インデクスを構築する速度なのか、インデクスを用いた検索の速度なのか。
205NAME IS NULL:03/11/12 15:26 ID:nLaq7bin
排他的ロックのかかって止まってしまっているトランザクションを
手動で強制的に削除する方法ってありますか?

SQLServer2000を使っています。
206モッ:03/11/12 16:25 ID:hK4Iz5B9
sql server 6.5なのですが
Identity 属性のフィールドに強制的に任意の数値を入れたいのですが
方法はありますか。。7.0以降では出来るのですが。。
207NAME IS NULL:03/11/12 20:10 ID:???
>>202
>つか「リレーション処理」って何だよ

JOIN の事だと思われ

>>205

プロセスをTerminateする。
208NAME IS NULL:03/11/18 03:59 ID:???
MSDE 2000 Release A について質問させてください。

MSDE 2000をインストールしていたHDDが故障したので、そのHDDだけ交換し、
MSDE 2000を再インストールしようとしているのですが、インストールできない
状況に陥っています。

PCのOSはWindowsXP SP1です。なおOSを入れてあるHDDは無事でしたので、
OSは再インストール等はしていません。MSDEをインストールしていたHDDには
MSDEしか入っておりませんでした。よって以前の環境とは、インストールされた
osql等のファイル類やmdbファイル等の有無の違いがあります。バックアップは
取得していません。

状況ですが、マイクロソフトからJPN_MSDE2000A.exeをダウンロードしてきて
実行して、展開して作成されたMSDERelAフォルダ内のsetup.exeを
以下のオプションで実行しているのですが、そこで起動してくるWindowsインストーラの
"必要な情報を集めています"のプログレスバーが表示されているダイアログが
プログレスバーが伸びきる途中で消えてしまい、そこでセットアップが終わって
しまいます。

コマンド: > setup.exe SECURITYMODE=SQL SAPWD="(SAのパスワード)"

これらのオプションは、最初にセットアップしたときのものです。

なおプログラムの追加と削除でMSDEをアンインストールしてみたところ、
アンインストールはできてしまいました(よって追加と削除のリストには出てきていない)。

OSから入れなおすしかないのでしょうか?
それともMSDEを強制的に再インストールする方法はありますでしょうか?
209なし:03/11/18 11:19 ID:/G1hiR8p
現在、WindowsNTでMSSQL7.0を使っています。
これをRedhadで作成したJAVAを関連付けたいのですが
JDBCはどこからなにをダウンロードしてよいのかわかりません。
210なし:03/11/18 11:19 ID:/G1hiR8p
現在、WindowsNTでMSSQL7.0を使っています。
これをRedhadで作成したJAVAを関連付けたいのですが
JDBCはどこからなにをダウンロードしてよいのかわかりません。
211NAME IS NULL:03/11/18 13:32 ID:???
>>208
instancenameを指定してインスコしてみ。
212NAME IS NULL:03/11/20 00:48 ID:???
>>210
Microsoft からJDBC Driverを
FreeTDSでもいい、、、かなあ・・わからん
213NAME IS NULL:03/11/20 01:35 ID:???
MS製品とJAVA・・・水と油(嘘
214NAME IS NULL:03/11/20 10:42 ID:CutOn10a
master DB のバックアップはどうして必要なの?
215NAME IS NULL:03/11/20 12:55 ID:???
そこに保存されている情報が必要だから。
216NAME IS NULL:03/11/22 01:27 ID:vsf5M3mw
Transact-SQLで書式文字列を指定する方法はありませんか?
0000形式にしたり、3桁ごとにカンマ入れたり。
217NAME IS NULL:03/11/22 04:29 ID:???
>>216
convert、right、left関数なんかを駆使して編集するほかないです。
ユーザー定義関数を自分で作ることはできますが。
218NAME IS NULL:03/11/22 09:16 ID:uwjbYH3S
●●●2004年も被害者がでるのだろうか?●●●
http://sports2.2ch.net/test/read.cgi/kouhaku/1057943092/-100
行政機関、日本の全マスコミ、教育機関などによる、
個人に対する住居不法侵入からの盗聴、盗撮、24時間監視、
ストーカーで収集した個人情報を、
テレビ、新聞、出版物などで嫌がらせをしながら悪用している事実について、
>>1>>394までにまとめました。

2chのマスコミ板 http://society.2ch.net/mass/
●●●マスコミの盗聴、盗撮は許されるのか?●●●
で被害者の訴え、マスコミの隠蔽が、30スレまで続いています。
より多くの人に事実を知って貰うことが、
組織的、計画的な犯罪の刑事責任、民事責任を追及することにつながると考えています。
219NAME IS NULL:03/11/23 00:21 ID:+jlhXyEp
>>217
うぅ、、やっぱないんですか…
Accessで出来るのにSQL-Serverで出来ないなんてショック…
220NAME IS NULL:03/11/23 00:31 ID:???
>>219
アクセスはフロントエンドまで含んでるからじゃないか?と1しか使ったことが無いのに書いてみる。
221NAME IS NULL:03/11/23 01:27 ID:Ol44HGXJ
Analysis Serviceで毎日売上CUBEを作ったのですがある日から突然、メジャー値が全部NULL
になってしまいました
SQL 2K名のですが、Dimensionなどは表示されていて、メジャーがNULL状態でCUBEの処理は
正常終了しています。どなたかなぜNULLになってしまうのかわかる方いますか?
222NAME IS NULL:03/11/25 16:11 ID:???
>>221
回答がないときは自分の質問の仕方を疑うべし

技術系メーリングリストで質問するときのパターン・ランゲージ
http://www.hyuki.com/writing/techask.html
223NAME IS NULL:03/11/26 21:53 ID:OXc8+WCQ
MSDEの5つまでっていうのはWebサーバで考えた場合どうなるのでしょうか?

ASPからコマンドを実行するのはWebサーバのみなので常に1接続と考えて良いのでしょうか?
10クライアントから同時にアクセスがかかった場合、IIS内で処理待ちが発生しますか?

224NAME IS NULL:03/11/26 22:18 ID:???
>>223
Web鯖はマルチスレッドで実行されるので(以下省略
225NAME IS NULL:03/11/26 23:14 ID:???
>>223
Web鯖(IIS)にも最大接続数ってあるっぺ?
MSDEと同ず値にすておけ(w
226NAME IS NULL:03/11/27 00:45 ID:L+A/B1UD
SQLServerをTCP/IPで外部から接続できるようにしておくのって
セキュリティ大丈夫でしょうか?

VBで作ったクライアントからインターネットを通じて、
サーバ名にグローバルIPを書いて直接コネクトするようなアプリケーションを作っても問題ないんでしょうか?
227NAME IS NULL:03/11/27 01:26 ID:???
>>223
・5接続までっていうのは接続制限じゃないから、それ以上つなげられる。
・MSはそれ以上つなげるたびにパフォーマンスが低下すると言ってるけど、
  パフォーマンスの低下具合は売り物と大して変わらないらしい。
・WebのC/Sはつないでデータ送ったらすぐ接続切っちゃうから(非接続型)、たいして接続数は多くならない。

実際に運用してみないとどうなるかは分からんが、10人くらいなら心配することはないと思うよ。
228NAME IS NULL:03/11/27 01:34 ID:???
っていうか、マジで使うなら買えよ。
オラクルほど高くない(w
229NAME IS NULL:03/11/27 11:41 ID:???
>226
セキュリティ面では問題大有りでせう。
怖すぎてしょうがない。
230uja:03/11/27 17:11 ID:IPh6eln4
10万件くらいデータが入っているテーブルがあります。
そのテーブルに金額フィールド(int型)があり
sum(金額)をしたのですが、
sqlserver.exeのメモリ使用量が100Mを超えてしまいました。
しかも時間がいくらたっても解放されないのですが、
これは大丈夫なのでしょうか?

開発用でWinXP ProでMSDEを使用しております。
231NAME IS NULL:03/11/27 20:42 ID:???
>>227
つか、Win XP/Win 2k pro だと5接続以上はライセンス違反だろ?
232NAME IS NULL:03/11/27 21:50 ID:EvtcCxfJ
>226
>229
みてて質問なんですが
VBがクライアントで、SQLServerなのですが
各クライアントマシンにSQLServerインストールされてません。
つまりODBC。
SQLServerってなんでもあり、ということですか?
質問ですが、オラクルは、各PCにオラクル入ってないとダメですよね?
233NAME IS NULL:03/11/27 21:57 ID:???
オラクルっていうかNet○って香具師がいるんじゃなかったか
234NAME IS NULL:03/11/27 22:12 ID:EvtcCxfJ
Net○ってOracle製品の黒CDに入ってるヤツでしょうか?
オラクルインストーラーって重いから嫌っております。

235NAME IS NULL:03/11/27 23:25 ID:???
>>229
SQL Slammerが蔓延したと言うことは SQL Server のポートが外部に
対して開いていたサイトがカナーリ沢山あったわけだが・・・

MSも懲りただろうからSP3aを当てときゃ大丈夫なんじゃねーの?
236NAME IS NULL:03/11/27 23:29 ID:taJy62x3
>>234
オラクルインストーラーってJavaでできてなかった?
237NAME IS NULL:03/11/28 01:27 ID:???
>>234
だったら入れんな。
238NAME IS NULL:03/11/28 09:45 ID:???
>>231
あれ?そうだっけ?
Serverシリーズ以外では、外部からは1接続すらライセンス違反だった様な気が…。
つまり、XP 2k等でDBサーバの役割をさせては逝けないってトンデモ規約だったと思う。
5接続云々ってのも、パフォーマンスの話だったと思うけど。
239NAME IS NULL:03/11/28 12:07 ID:???
5接続のいいわけにパフォーマンスを持ってきただけ
1接続もあかんなんて言ってない
XPはそれに相当するサーバが無いのでその規約は無い
240NAME IS NULL:03/11/28 12:11 ID:???
>>238
Windows XP の場合、EULA に書かれている接続数が守れるなら
外向けでの利用も OK だよ。
‥‥まぁ、どうやって守るかが問題で、少なくとも普通の Web サーバ
とかには使えない。イントラ向けならほぼ大丈夫。

ところで、MS-SQL には以下に相当する SQL 文ってある?
SELECT * FROM hogehoge ORDER BY RAND() LIMIT 2
241NAME IS NULL:03/11/28 20:05 ID:???
TOP
242NAME IS NULL:03/11/28 20:33 ID:???
>>241
SELECT TOP 2 * FROM hogehoge ORDER BY RAND()
なら「RANDが未定義関数」とかでダメでした。
243NAME IS NULL:03/11/28 21:37 ID:???
RAND忘れたてた・・・
っていうかそこにRAND入れる理由があるのか?(w
244NAME IS NULL:03/11/28 21:50 ID:???
ようするに、テーブルからランダムで2件取りたいのでつ。

適当な列を作って、そこに乱数ぶっこんでソートして取るってのは
既にやってるのですが、もっと効率よくやりたいのでつ。
MS SQL は初めて使うもんで‥‥スマンです
245NAME IS NULL:03/11/29 05:03 ID:???
RANDはseed与えないと駄目。BooksOnline読めや。
説明読むとorder byでは使えない気もする
246NAME IS NULL:03/11/29 16:42 ID:UMFs6pW6
このような経験のある方いませんでしょうか?
もしよろしければ、解決策を教えてください。

ASPで開発をしてまして、スクリプトはVBS,データベースはSQLServer2000を使用しています。
VBS上でコマンドオブジェクトをCreateし、Inset文を代入、実行すると

String または Binaryデータは切り詰められました

と表示されてしまいます。データ長が長いとかの話かと思うのですが、

実際にテキストを吐き出すようにして、そのテキストをコピーし、SQLをクエリアナライザで実行すると
通常に処理されてしまう現象です。
お心あたりのある方いましたら、ご教授ください。
247NAME IS NULL:03/11/29 20:59 ID:???
248NAME IS NULL:03/11/30 03:07 ID:???
>>246
俺も同じエラー見たことある。nvarcharの最大文字数を減らした後だ。
元に戻したら直った。原因不明。解明しといてね。
249NAME IS NULL:03/11/30 14:25 ID:???
>>246,248
SET ANSI_WARNINGSの設定だろう
クエリアナライザのデフォルトはオフだったと思う
250NAME IS NULL:03/12/02 10:41 ID:QQHwkYSO
t-sqlでdatetime型のデータを文字列に変換して出力する方法ありますか?
たとえば
2003/12/02というデータを20031202として取得したいです。
oracleのto_charのようなものがほしいです。
251250:03/12/02 11:01 ID:???
自己解決しました。
252NAME IS NULL:03/12/06 17:31 ID:XlUqzbM8
SQLで好きな位置に列を追加するにはどうしたらいいですか?
253NAME IS NULL:03/12/06 17:46 ID:???
>>252
select * じゃなくて、ちゃんとフィールド名を並べればいい
254NAME IS NULL:03/12/06 21:26 ID:???
ALTER TABLE の事を逝ってると思われ
255252:03/12/06 21:46 ID:XlUqzbM8
>>253,254
254さんの言う通り、ALTER TABLE ADDで列を追加したいんですけど、そのときに列の位置を指定したいんです。
ヘルプは一応見ましたけどよく分かりませんでした。
256NAME IS NULL:03/12/06 23:40 ID:???
>>255
ALTER TABLE ではカラムは最後にしか追加できないと思われ。
間に追加したいのなら、データエクスポート、DROP TABLE、CREATE TABLE
データインポートするあるよろし。
257NAME IS NULL:03/12/06 23:52 ID:VH/5jfLI
ORACLEのexpコマンドと同等のものってありますか?
教えてください。
258NAME IS NULL:03/12/07 00:50 ID:???
>>257
DTS, bcp
259NAME IS NULL:03/12/07 02:46 ID:???
初心者のうちにはかなりの率で出るけど
覚えてくると必要ないとわかるものの代表だな
カラム位置指定の追加
260NAME IS NULL:03/12/07 08:13 ID:s/ypUrGF
>>259
>カラム位置指定の追加

ん? 出来るのか?
261NAME IS NULL:03/12/07 23:53 ID:???
カラム位置指定の追加はEnterpriseManagerのGUIからできたはず。
対象テーブルをマウスの右クリックで。
今手元に環境がないから確認できないけど。
262NAME IS NULL:03/12/08 00:39 ID:S16qHOgT
bcpコマンドでエクスポートできるものって
何があるのですが?
オブジェクトは全てエクスポート可能?
263NAME IS NULL:03/12/08 00:43 ID:???
>>262
データだけ。
264NAME IS NULL:03/12/08 01:04 ID:S16qHOgT
>>263
うそ〜ん。
データだけっと事はインポート先にテーブルとか
あらかじめ作っとく必要あるのん???

勝手にテーブルやインデックスや制約とかトリガーとか作ってくれないんですね。
265NAME IS NULL:03/12/08 05:22 ID:???
>>264
そうです。bcpはデータだけ。
266NAME IS NULL:03/12/08 10:27 ID:???
教えてください。
やりたいことのイメージは以下のとおりで
実行すると
「ストアドプロシージャのネストレベルが最大値を超えました。」
というエラーがでます。
どのような書き方をすればよいでしょうか?
create procedure yobu as
execute yobareru
go

create procedure yobareru as
select hoge_name from hoge
go

execute yobu
go
267NAME IS NULL:03/12/08 21:09 ID:???
>>266
結局やりたいことは
create procedure yobareru as
select hoge_name from hoge
だけではないのですか?
なら
execute yobareru
だけでいいような気がする。
execute yobu
にしなければいけない理由がわからない。
268NAME IS NULL:03/12/08 21:13 ID:???
>>264
DTS使え!
269NAME IS NULL:03/12/08 22:58 ID:ZpRriqmI
>>268
GUIに頼りたくないんすよ。
DTSと同じ事はbcpじゃあ出来ないんすね(T-T)
270NAME IS NULL:03/12/09 09:51 ID:???
GUIに頼りたくないわりには、勝手に作ってくれる事を期待してるのな


いみねー
271266:03/12/09 10:18 ID:???
誰かつД`) タスケレ !!
272NAME IS NULL:03/12/09 16:46 ID:???
8000件ほどのデータをINSERTで登録してみたところ、100秒近くかかります。
いまどきのPCなら10秒とかからずに登録できるのではないかというイメージ
を勝手に持っていたのですが、こんなものなんでしょうか。
(WinXP(SP1)+SQL Server 2000(SP3)+C#.NET+System.Data.SqlClient+PentiumIII-600MHz+512MBメモリ)
テーブルは固定長文字列50バイト程度のフィールドx10程度で、登録前は空です。

UPDATEだとさらに時間がかかる模様です。
同様のテストをAccessでも行いましたが、大差ありませんでした。

.NET使用時のオーバーヘッドか私のソースが悪いせいでは無いかと疑って
いるのですが、他の環境だとどれくらいの時間がかかるものなのでしょうか。
273NAME IS NULL:03/12/09 17:55 ID:???
・INSERTを8000回発行
・8000件挿入されるINSERT文を1回発行
じゃ大違いな訳だが前者をやってるって事でオケ?
274NAME IS NULL:03/12/09 17:57 ID:???
>>272
今時のPCじゃないね、それ
275272:03/12/09 18:47 ID:???
>>273
前者です。
やっぱりどこかおかしいですよね。
ちなみにDataSetで同じく登録を行いましたが時間はさらに延びました。内部的には近いことを
するのですから当然でしょうが。

大体で結構ですので、普通どれくらいかかると思いますか?1分以上は考えられないとか、
5秒もかからないだろうとか。
276NAME IS NULL:03/12/09 19:03 ID:???
あ、うちのPCが遅いって意味でしたか。
すみません、古い人間なもので600MHzで十分快適だったりするんです。
277NAME IS NULL:03/12/09 19:06 ID:???
ドトネトは使ってないんでよく知らんが、千差万別としか言い様が無い気がするが・・・
そりゃ1日かかったらおかしいだろうが。
速度を改善したいなら一括で取り込む方法にすべし。DTSとか。
Accessならテキストファイル自体をテーブルとしてリンクすりゃ劇的に早くなる(はず)
278NAME IS NULL:03/12/09 20:56 ID:???
>>272
8000回もループしてたらそれぐらいかかってもしょうがないだろ
279NAME IS NULL:03/12/09 21:07 ID:69w6J3RY
へぇ〜。一回のINSERTで複数のレコードを登録できるんだ。
初めて知った。調べてしまった。
280NAME IS NULL:03/12/09 23:19 ID:1yGh4ssM
プロシージャを使えば早いのでは??
281NAME IS NULL:03/12/09 23:20 ID:???
>>272
SQL鯖のストアドプロシージャでやって味噌。
それよりは絶対に遅いから。
282NAME IS NULL:03/12/09 23:20 ID:gZUVM8+8
283NAME IS NULL:03/12/10 01:16 ID:???
>>261
どうやってるんだろうと思ってプロファイラで追いかけたら
テーブル作り直してるじゃねーか。
運用中のDBでやったらとんでもないことになるぞ

>>266
SPのネストは32レベルまでだけど、それ以上深くなってるんじゃないの?

>>269
bcpする前にcreate tableなりgrantなりすればいいだけの話では?
必要なクエリはEnterpriseManagerで作れるはず。
DBかテーブルを選んでおいて[ツール]-[SQLスクリプト生成]
284NAME IS NULL:03/12/10 10:15 ID:???
T-SQLで教えてください。
SELECT * FROM A INNER JOIN B ON A.IN_DATE = B.IN_DATE

というSQLが実行したいのですが
A.IN_DATEはINT型
B.IN_DATEはDATETIME型

の場合、このSQLをどのように修正すればよいでしょうか?
設計を見直せってのはなしの方向でお願いいたします。
285272:03/12/10 10:48 ID:???
ストアドプロシージャでテストしたところ、数秒程度の違いしか出ませんでした。
>>278の方法は少し調べてみましたが、構文が出てきませんでした。おそらく調べ方
が悪いのだろうとは思うので、時間があるときに調べてみたいと思います。

DTSを使用する方法ですが、テキストファイルに一度吐き出してインポートしたところ
劇的なスピードで取り込めました。
ただ、インポートするデータは同一の主キーを持つデータを多数含み、同一の場合は
他のフィールドを条件によっては上書きしたりしないといけない仕様ですので、この辺
をクリアする必要があります。どうもマクロっぽいことができる模様ですので、こちらの
方法で検討してみたいと思います。

アドバイスありがとうございました。

インポート時の速度と8000回INSERTする速度があまりにも違いすぎるのが不思議では
あります。DTSを使わずに大量のデータを追加するときは皆様はどうやっているのでしょ
うか。
286NAME IS NULL:03/12/10 10:49 ID:???
すみません、うえの>>278>>279でした。
287NAME IS NULL:03/12/10 20:08 ID:???
>>285
コミットはどのタイミングで発行してる?
288NAME IS NULL:03/12/10 20:35 ID:???
>>284
int型にどういうかたちで値が入っているかによるのでは?
289NAME IS NULL:03/12/10 22:13 ID:???
>>283
>運用中のDBでやったらとんでもないことになるぞ

遅いだけでわ?
290NAME IS NULL:03/12/11 01:54 ID:???
>>272
ネットワークがネックになってるよ、きっと
スニファで見てみ
291NAME IS NULL:03/12/11 08:34 ID:???
>>284
Convert()とかSubstring()を駆使してどちらかをどちらかに合わせるしかない
嫌なら設計を(ry

>>285
アップロード用の別テーブルを用意しておいて
まずそこにbcpでデータを入れる
面倒な処理はその後でストアドプロシージャなり何なりで
SQL server内だけで処理するようにするかな
292272:03/12/11 10:02 ID:???
>>290
書き忘れていましたが、ローカルで実行しています。

>>287
それでした!
INSERT処理開始前と後に明示的なトランザクション処理を追加したところ、
100秒から15秒へと劇的に速度が改善されました。
おそらく常識的な知識なんでしょう。恥ずかしい限りです。最初に私のレベルを
書いておくべきでした。(データベースの勉強を始めたばかりです)

これなら十分な速度です。ありがとうございました。
293284:03/12/11 10:25 ID:???
みんな。ありがとう。
294NAME IS NULL:03/12/12 23:53 ID:b1iZjuVZ
SQLServerで定期的にバックアップする場合
どのように行ってますか?

会社で使っているORACLEは定期的にデータファイルとREDOログファイルとコントロールファイルを保存し
場合によってはエクスポートしたりします。

年明けにSQLServerを導入する事が決まりバックアップの運用方法等を
いくつか提案したいので一般的にどのようにバックアップしているのか教えてください。

295NAME IS NULL:03/12/13 00:30 ID:???
>>294
Enterprise Manager から GUI でえらく簡単に出来ます。

データベース保守計画ウィザード
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/createdb/cm_8_des_03_378k.asp

296NAME IS NULL:03/12/13 03:12 ID:QcgkDHTn
>>295
皆の会社ではGUIでやってますか?
CUIでバックアップするにはbcpしかないのでしょうか?
それだとデータしか抽出出来ないんですよね?
297NAME IS NULL:03/12/13 08:39 ID:???
>>296
なんでCUIコマンドがbcpしか無いと考える?
そんなんじゃDBMSとは言えないだろ?

とりあえず、これを嫁! つか、Books Online くらい読んどけ!!

データベースのバックアップと復元
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/adminsql/ad_bkprst_9zcj.asp

ま、GUIのウイザードでスケジューリングさせるのが一番簡単だが。
298NAME IS NULL:03/12/13 16:53 ID:IfFk24TF
テーブルのデフォルト値にファンクションを指定するとデータ登録時ってやっぱり遅くなる?
ファンクションの内が
BEGIN RETURN 1 END
だけだとしても、1と指定するよりも遅くなるんですかね?
299NAME IS NULL:03/12/15 23:32 ID:???
>>298
その程度なら遅かったとしても大した違いではないだろう
Insertのパフォーマンスを気にするなら
余計なインデックスやトリガをつけないようにするのが先。
300NAME IS NULL:03/12/16 10:17 ID:K8q4ocRg
SQLでテーブルのリネーム方法を教えてください
301NAME IS NULL:03/12/16 18:36 ID:K8q4ocRg
テーブルをコピーするSQL教えて
302NAME IS NULL:03/12/16 21:51 ID:???
>>300は答えようと思ったが>>301見たら答える気が無くなった
303NAME IS NULL:03/12/16 22:12 ID:???
"Select 〜 into 〜 From 〜"すら見つけられないのだろうか・・・

って言うか Books Onlineくらい目を通そうよ
304NAME IS NULL:03/12/16 23:41 ID:???
>>303
スキーマ毎コピーしたいのだと思われ。
305NAME IS NULL:03/12/17 01:22 ID:mZyTNL7b
テーブルにフィールドを追加するSQLはわかったのですが
追加する位置を指定する事は可能なのでしょうか?

テーブルに10フィールドあるのですが
5フィールド目にフィールドを追加したい場合のSQLを教えてください。

306NAME IS NULL:03/12/17 01:27 ID:???
>>305
>>255からのレスを読んでくれ
307NAME IS NULL:03/12/17 10:16 ID:???
>>302
お前のような奴はこのスレに必要ないからもうくるな
308NAME IS NULL:03/12/17 12:31 ID:???
>>305
無理なので地道にやる
GUI でやるとその辺が自動化される
309NAME IS NULL:03/12/17 12:33 ID:???
って思ったら 306 が書いてたスマソ
310NAME IS NULL:03/12/18 16:57 ID:???
ちょっと教えてください。

/出荷テーブル
     出荷商品コード 返品商品コード
******************************************
           1 2
3 4

/商品テーブル
   コードNO     商品名
******************************************
1 a
2 b
3 c
4 d

この2つのテーブルから

     出荷商品コード 出荷商品名 返品商品コード 返品商品名
*******************************************************************
           1 a 2 b
3 c 4 d

のようなテーブルを作りたいのですが
SQL文はどのように書いたらいいのでしょう
311NAME IS NULL:03/12/18 17:08 ID:ANiWHVZR
OS:windows2000、SQLServer:SQL7、 VB6 の環境で

DBは一つ: DB_1
MTSアプリ(COM+アプリ)を2つ作成: MTS_1、MTS_2
MTS_1とMTS_2にはそれぞれ別のdllが登録されている: persister_1.dll、persister_2.dll
2つのMTSは両方とも同じDB(DB_1)にアクセスする

というように別々のMTSで同一のDBにアクセスする場合でも、ちゃんと
トランザクションになるんでしょうか?
312NAME IS NULL:03/12/18 17:20 ID:???
何がどうなれば「ちゃんとトランザクションになる」と判断できるのさ?
313NAME IS NULL:03/12/19 01:01 ID:???
>>310
select 出荷商品コード, 商品1.商品名 as 出荷商品名, 返品商品コード, 商品2.商品名 as 返品商品名
from 出荷テーブル as 出荷
join 商品テーブル as 商品1 on 商品1.コードNO = 出荷.出荷商品コード
join 商品テーブル as 商品2 on 商品2.コードNO = 出荷.返品商品コード
314310:03/12/19 14:04 ID:???
>>313
解決しました。
ありがとうございました。
315NAME IS NULL:03/12/20 12:15 ID:BpQcc6bY
オラクルでの
CREATE TABLE テーブル名 AS SELECT * FROM テーブル名;
がSQLServerでは、ないようなのですが
かわりの機能ってありますか?
SQL文で。




316NAME IS NULL:03/12/20 13:57 ID:???
select * into じゃ駄目なの?
317NAME IS NULL:03/12/20 14:28 ID:/vWngleo
オートナンバー型の値を無理やり変える事って出来ますか?
例えば、値が6だとして、INSERTすると7になりますよね?
これを途中で100から連番振るように直したい場合どうしましょう?
318NAME IS NULL:03/12/21 01:30 ID:8iBTpY7S
ON PRIMARY とは、どういう意味でしょうか?
319NAME IS NULL:03/12/21 13:38 ID:FpoMi/lc

       _,,....,,_
     /::   ::ヽ  パパ 質問内容が初心者すぎてこわいよ
    /:: _;: ,_, i
   /::    r_ 〉、. }  おまえは後ろにさがっていなさい
   |::   :/-‐, i ノ
   |::     " / ⌒ヽ
   |::  /|::.   | ´_ゝ`)
   |:: /  |::  |    /
  /:: /   |::. | /| |
 /: _/    |:: | / | |
 i::_ノ    i:_.j.j  U

320NAME IS NULL:03/12/22 10:39 ID:???
t-sqlで教えてください。
CASE WHEN をうまく使えなくてこまっています。

SELECT
CASE WHEN (
CASE WHEN HOGE_NAME IS NULL THEN SELECT HAGE_NAME FROM HAGE
WHEN HOGE_NAME IS 'POGE' THEN SELECT POGE_NAME FROM POGE
ELSE 'PAGE'
END
) IS NULL THEN 'AHO'
ELSE ??? END AS HOGE
FROM HOGE;

というようなイメージなのですが ??? のところにどういったものを
入れればよいかわからず困っています。
要は、子のCASEで返って来たものをそのままHOGEとして返したいのですが
できますでしょうか?
321NAME IS NULL:03/12/22 16:22 ID:WsKC2EWy
Enterprise Manager5.0において、SQL Server7 SP4上のとあるDBを
オフラインにしたら、Enterprize Mangaerがハングアップしてしまいました。
その後、あらゆる端末から、このSQL Server上のデータベースが
見えなくなってしまいました(アイテムなし と出ます)

DBをほかのDBにインポートしようとしても、
「転送元サーバ上に転送元データベースが見つかりません。」
というエラーが出てうまくいきません。

てっきりDBが壊れたかと思ったのですが、クエリーアナライザからの
SQL文は正常に実行できます。

可能ならばDBを停止しないで復旧させたいのですが、何か方法は
ありませんでしょうか?
322NAME IS NULL:03/12/22 22:08 ID:???
>>317
DBCC CHECKIDENT
詳しくはマニュアル見てくれ

>>320
DECLARE @VAR VARCHAR(100) --適当に変えること
SELECT @VAR=子CASEの中身
SELECT
CASE WHEN @VAR IS NULL THEN 'AHO'
ELSE @VAR END AS HOGE
FROM HOGE;

一般的には↑だろうけど、
この場合に限ってはINSULL()関数を使って書き直せるだろう
323NAME IS NULL:03/12/22 22:10 ID:???
スマン、INSULL()じゃないISNULL()だ
324320:03/12/24 12:26 ID:???
>>322
神!
325NAME IS NULL:03/12/24 22:21 ID:+/2I63y6
フィールドのデフォルト句を変更するSQLってどう書くの?
326NAME IS NULL:03/12/25 00:11 ID:???
>>325
クリスマスなのに・・・w
327NAME IS NULL:03/12/25 12:07 ID:MwuYtnxS
http://www.microsoft.com/japan/partners/mtc/mcp/70-228.asp
http://www.microsoft.com/japan/partners/mtc/mcp/70-229.asp
70-228と70-229を受かった方法や参考書や問題集はどうよ。
328NAME IS NULL:03/12/25 14:14 ID:???
教えてください

SQLServer6.5×5台のリンクサーバを作成(テーブル構成は同じ)
それぞれからSELECTしたものを別テーブルにINSERTしてるんですが、
ADOで同じことをしたときのほうが3倍くらい早いです。

どこかの雑誌でリンクサーバは遅いっていう記事があったそうですが、
自分で見たわけではありません。

リンクサーバは遅いのでしょうか?
リアルタイムでテーブルを参照するような処理はADOで作ったほうがいいのでしょうか?
329NAME IS NULL:03/12/25 18:08 ID:???
>別テーブルにINSERTしてるんですが、
同じサーバの別テーブルなのか、サーバも別なのか?

>ADOで同じことをしたときのほうが3倍くらい早いです。
「同じ事」ってなんだよ?
>それぞれからSELECTしたものを別テーブルにINSERTしてる
時には何を使ってんだ?

>リンクサーバは遅いのでしょうか?
直結するよりは遅くなるに決まってる。

>リアルタイムでテーブルを参照
意味わかんね。
330NAME IS NULL:03/12/26 19:37 ID:ejMHggoU
SQL Server 6.5でバックアップしたファイルは、
SQL Server 2000でrestoreできないのでしょうか?
331NAME IS NULL:03/12/27 17:21 ID:nTUWrhLL
日付型データの保持について

ある日付型データをDB内では、DATETIME型で保持しています。
しかしクライアントの表示画面では元号で表示する必要があります。

(質問1)
DATETIME型 にFormatをかける際に、
改元日を考慮したくないのですがどうすればよいでしょうか
例) 1989/1/1 → 平成元年 (昭和64年としたくない)

(質問2)
昔の元号 (元禄など) をひっぱってくるには良い方法はありますか

別に元号テーブルを作成して照らしあわすか
フィールドを文字型にするかで迷っています
(フィールドを文字型にする方が楽だが、
 計算の際に日付型にしないといけないので同じ気がする)

どっちがいいのでしょうか?
332NAME IS NULL:03/12/27 17:31 ID:nTUWrhLL

なお、今は改元日を考慮しない処理では、
年&1月1日に変換してFormatしています

また明治以前のデータは、ごくまれなので
別テーブルを参照していちいち参照するのは無駄な気がしています

元号対応の組込みツールとかってないのですかね
333NAME IS NULL:03/12/27 20:58 ID:kWpGIHtf
たのむ!!
デフォルト句を変更するDDLを教えてくれ!!!
334NAME IS NULL:03/12/27 21:42 ID:kWpGIHtf
SQLServerはテーブルで管理しているみたいで
行レベルロックをやりまくると、管理しているテーブルの
許容量を超えてしまい、行レベルロックからテーブルロックに
なっちゃうと聞いたのですが、これってマジっすか??
335NAME IS NULL:03/12/28 00:27 ID:???
>>333
これ試してみたら?SQLServerで使えるか分からないけど。
http://www.techscore.com/tech/sql/03_02.html
336NAME IS NULL:03/12/28 03:18 ID:???
>>334
滅茶苦茶メモリを食うロックをしなければそうはならないと
今売ってるDBマガジンに書かれてたような気が。
337NAME IS NULL:03/12/28 06:17 ID:clRenwUm
>>334
ロックのエスカレーションっていうやつです。
(行→ページ→テーブルロック)
エスカレーションの閾値の設定とかできないし、
デッドロックの原因の1つになるし、とってもやっかいなものです。

解決方法として、初めからTABLOCKXをするとか
トランザクションをこまめにきるとかしないだめでした。

>>336
以外とすぐにエスカレーションします・・・。
338NAME IS NULL:03/12/28 16:51 ID:???
貼っておこう
SQL Server でロックのエスカレーションが原因で発生するブロッキングの問題を解決する
http://support.microsoft.com/default.aspx?scid=kb;ja;323630

あとはサーバのメモリを増やすとかlocksオプションを明示的に指定するくらいだろうか
これでハマったことないからよくわからんな..
339NAME IS NULL:03/12/28 21:34 ID:???
>>337
設計がへぼなんちゃう?
340NAME IS NULL:03/12/29 15:34 ID:8/95B3uV
>>339
そーゆー状況になる設計それともMSの?
341NAME IS NULL:03/12/29 16:19 ID:???
>>340
337の設計がアホという意味。SQL鯖の設計のことではない
342NAME IS NULL:03/12/29 16:31 ID:???
所詮SQL鯖って小さい環境用なんだよね
343NAME IS NULL:03/12/29 19:50 ID:???
>>342
最近はOracleが小さい環境で使ってもらおうと必死だねw
今までは小さい環境を軽視してたのに、売上があまりにも落ち込んだから
方向転換したのかな?もっと激安になればね(ry
344NAME IS NULL:03/12/29 20:45 ID:???
煽り合いは専用スレがあるんだからそこでやれ
345NAME IS NULL:03/12/30 14:08 ID:???
>342
Accessより大きくOracleより小さい環境にはベストマッチって事かもよ
346NAME IS NULL:03/12/30 17:44 ID:???
うちの場合、プロジェクトの早期から参画してたM$混猿の設計が
ぐだぐだで本当に大変なことになりました。。。
347NAME IS NULL:03/12/30 21:34 ID:???
>342
つーか価格差を見りゃそれくらい予想付かんか?
348NAME IS NULL:03/12/31 13:21 ID:45tH18/u
>>346
具体的には何をやらかしてくれたのさ?
つか、誰も止める香具師は居なかったの?
349NAME IS NULL:04/01/01 21:10 ID:BhYKvJrw
http://jukenki.com/report/mcp/
http://xfreak.com/mcp/cgi-bin/bbs/petit.cgi
SQLのMCPが合格しやすくなったらしいな。
350SQL 初心者:04/01/01 21:16 ID:rCRRhUyq
SQLサーバー 初心者です。
サーバーに、テーブルを作成して、リンクテーブルでACCESS 2000 SP2
を動かそうとしています。
ACCESSの追加貼り付けが、できないのですが。
351NAME IS NULL:04/01/02 00:32 ID:mdzOBQVK

Kさん 好循環  Aさん 悪循環  
 (健康体)  (喘息)

1.(神が喘息であるかないかを決める)

2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K        A 行動力、
          五感(嗅覚)が鈍り感性が変化する

4.K&A 神は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。

5.K 変化なし   A アトピーになる

6.K 正常な感性  A 外に出なくなりさらに異常な感性になる

7.K 正常な人間   A 異常な人間(レッテル)

8.K&A 死
352NAME IS NULL:04/01/02 00:32 ID:mdzOBQVK
8.K&A 死

9.K&A      来世

10.K&A 神は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。

11.K&A 神が喘息であるかないかを決める

12.K 喘息でない  A 喘息である

13.K&A    1.に戻る

これは事実。広めようぜ

解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
    アトピーも快癒に向かう。
    目安としてグランドを10週くらい。
あとはウォーキング
    2.3時間を目安にウインドーショッピングや本屋めぐり
353NAME IS NULL:04/01/02 20:42 ID:fEnsN8pJ
ORACLEの
dba_users
dba_tables
v$session
にあたるものってSQLServerでは何でしょうか?
354NAME IS NULL:04/01/06 11:44 ID:???
t-sqlのストアドプロシージャ内で定数を定義する方法はありますか?
vbのconstみたいなやつです。
355NAME IS NULL:04/01/06 13:08 ID:???
age
356NAME IS NULL:04/01/06 19:17 ID:???
XPにAccessドライバデフォであるが、SQLでcreate tableやったらエラーでんだが
Access入ってないとドライバだけあってもデータベース操作できねえ?
357NAME IS NULL:04/01/06 22:34 ID:???
adp使え
358NAME IS NULL:04/01/06 23:13 ID:???
>>356
書式間違ってんじゃねえの?
359NAME IS NULL:04/01/07 10:16 ID:???
SQLServer同士のリンクサーバーってテーブルとビューしかリンクできないんですか?
360sage:04/01/07 12:08 ID:YG/+fCEk
nvarchar型の変数に 123,456,789 という値があった場合、
これをtable変数に
123
456
789
と変換したいのですが、どのようにすればよいでしょうか?
ご教授お願いします (ぺこり
361教えてください:04/01/07 20:32 ID:oB//F49U
排他ロックの確認ってどうやるんでしょう?
VBでADO(OLE DBプロバイダ)使ってMSDEに接続してるんですが、
Aクライアントでレコード1を排他ロックで操作しているときに、Bクライアントでレコード1が排他ロックされているかを確認したいんです。

1--rs.open strcnn,cn,adOpenDynamic, adLockPessimistic
2--if rs.eof then

でチェックしているんですが、2行目のrs.eofの判断に10秒以上かかります。
宜しくお願いしますm(__)m
362NAME IS NULL:04/01/07 20:47 ID:???
排他ロックならそもそもレコードセットのOpen自体が出来ないはず。
判断に10秒かかってるのでわなくて待ち状態になっているだけでわ?
クライアントツール持ってるなら、クエリアナライザを2つ開いて実行すればよろし
363教えてください:04/01/07 23:08 ID:JkzBNx1p
>>362
ありがとうございます。
たぶん待ち状態なんでしょう。
排他ロックのかかってるレコードはopenさせたくないんですが・・・
直ぐに判断できるクエリーないんでしょうか?
36448*8:04/01/08 04:35 ID:3FQ9TQU5
Kさん 好循環  Aさん 悪循環   <日本> 完成版
 (健康体)  (喘息)

1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K 変化なし    A 行動力、五感(嗅覚)が鈍り感性が変化する。

4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。
5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間   A 異常な人間(レッテル)
8.K&A 死  9.K&A      来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。
11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない  A 喘息である
13.K&A    1.に戻る
これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
絶対に直す方法:
よく海外に行ってアトピーが治る話を聞くが、基本的に日本の中のことだけなので、
海外に行くとほとんどの場合体力をつけると治る。 日本の中であっても、体力をつ
けると治るはずだが、 様々な理由により、霊界の存在がばれてしまい、 この失態が明
るみになるので、治さないようにしている。よって、絶対にアトピーを治すには、 海外
に行き体力をつける。
http://life.2ch.net/test/read.cgi/atopi/1035703616/l50を参照
365NAME IS NULL:04/01/09 11:00 ID:Dj5F0mmv
このスレ全体および検索サイトにていろいろ調査してみたのですが、
解決できなかったため、ご存じの方がいらっしゃいましたら、お教え下さい。

遠隔にあるSQLサーバ(バージョン7.0)のデータベースのバックアップ作業です。
手段として、DOS画面からtelnetコマンドを実行して、サーバに入り、
コマンド投入をして、データベースのバックアップファイルを作成したいです。
(バックアップファイルが完成したらFTPが出来るフォルダに移動して手元に
持ってこようと計画しています。)
telnetでサーバに入り、isqlコマンドでログインする所までは把握できました。
・・・が、実際にバックアップファイルを実行してくれるコマンドが分からないです。

どなたかお教え下さい。よろしくお願い申し上げます。
366NAME IS NULL:04/01/10 01:00 ID:???
>>365
実際にやった事はない&SQLサーバ7.0を使った事ありませんが。

isqlユーティリティを使うと、Transact-SQLステートメント、
システムプロシージャ、およびスクリプトファイルを入力
出来るっぽいです。
Transact-SQLに、BACKUP DATABASE ステートメント
ってのがあるので、これを使えば良いかと。

詳しくは、BooksOnline見て。
367NAME IS NULL:04/01/10 04:04 ID:yivubeLm
テーブル内で数式から計算結果をセットする方法ってあるんでしょうか?

通常、数式から計算結果を出す場合は、「exec」を使って
declare @CalcString varchar(50)
select @CalcString = '1+2+3+4'
exec('select ' + @CalcString)
とすると計算結果の「10」が返ってきますが、

create table AAA(式 varchar(50) not null, 数値 int null)
insert into AAA(式) values('3+4')


update AAA
set 数値 = exec('select ' + 式)

を実行してもエラーが返ってくるのです。
どなたかご教授お願いします。
368NAME IS NULL:04/01/10 04:07 ID:yivubeLm
>>365

sqlmaintって2000からだっけ?
369NAME IS NULL:04/01/10 10:23 ID:l4wgLYoU
370367:04/01/11 15:24 ID:D6U2Pv7p
とりあえず、カーソル使って1件づつ更新することにしました。
でも1万件更新するのに1分近くかかります。
20秒ぐらいで終わって欲しいのに...
371070-229落ちた:04/01/11 16:10 ID:CRQFEbL3
MCSE板から来ました。
070-229(SQL Server 2000 DBの設計と実装)の問題の質問でつ。
クエリのパフォーマンスが下がった時の処置として、
update statistics と DBCC REINDEXの使い分ける状況ってなんでしょう
3問くらいあったのを全部update statisticsと答えて玉砕しました
赤本見てもわからない〜
来週リベンジするのでその前に教えてちょ
372東芝不買運動:04/01/11 16:20 ID:+HnZycC2

東芝不買運動
片山鳥取県知事の精神を受け継ぎ、東芝不買運動を進めましょう。会長の要職にある人物が非民主的な会議の運営を行うのは許せません。
東芝クレーマー事件に見られるように消費者無視の会社でもあります。
http://hayari.at.infoseek.co.jp/
http://hayari.at.infoseek.co.jp/9.htm#T
東芝は世間を騒がす不祥事続き
東芝クレーマー事件(1999年)
東芝製PC欠陥訴訟(米国1999年)
片山県知事による不買運動(2003年6月)
東芝ショックによる東芝株下落(2003年7月)
http://members.at.infoseek.co.jp/hayari/
みんなどんどんいろんなスレに張りまくれ!
373NAME IS NULL:04/01/12 03:02 ID:Ru02ZAxd
SQL Server 6.5 の Books Online を入手する方法ってありますか?
もしくは、SQL Server 6.5 の CDROMはあるので、WinXPproで見る方法はありますか?
374NAME IS NULL:04/01/12 04:46 ID:???
375NAME IS NULL:04/01/12 18:46 ID:???
>>367,370
試してないけどこれでどう?
update AAA
from AAA,(select 式 as B1) as BBB
set 数値 = BBB.B1
376367:04/01/12 20:29 ID:z2H6BkUs
>>375
試してみる前に構文エラーでした。

そもそも「select 式」という形からは文字列しか返ってこないので
ダメなんですよ。

わざわざお答えいただいたのに申し訳ありません。m(_ _)m ペコリ
377NAME IS NULL:04/01/12 21:04 ID:???
>>367
すまん、数式がテーブルの中に入ってるのか。
update一発じゃ無理そうだな。

しかし、その数式はユーザーが直接入力するの?
dbo権限で動いてるところに"DROP TABLE"なんて入ってたりしたら
しゃれにならない事態になるわけだが。
そうでなくても文法エラーがあったりすると厄介そう。
378367:04/01/12 21:51 ID:z2H6BkUs
>>377
やはりupdate一発というのは無理なのでしょうか?
半分あきらめてますけどね。

数式に使える単語には制限をかけているので、まー動かないことは
あってもそう深刻な事態になることはないでしょう。
文法も一応チェックかけてるし、まぁ大丈夫!かな。うん(^^;
379エムイー:04/01/13 15:57 ID:fMirv1/j
SQL Server 6.5のテーブルに新たにbit型フィールドを追加したいのですが
ALTER TABLE table add COLUMN column_name
で追加を試みたのですがnot null の型は追加できないと怒られてしまいます。
何か他の方法はありますか?
380NAME IS NULL :04/01/13 22:57 ID:q+rrPAgZ
>>379
次の2通りの方法が考えられる。

1.とりあえずnullの型で追加して、その後データを更新してから
(bit型なら0とか)でnot nullの型に変更する。

2.データを別テーブルに退避してnot nullの型でフィールドを追加する。
381NAME IS NULL:04/01/14 02:53 ID:???
>>378
update一発じゃなくても
各レコード毎のキー情報と数式の計算結果を
テンポラリテーブルに入れてから
テンポラリテーブルと目的のテーブルをJOINしてUPDATEすると
ちょっとは早くなるかも。

勘なので早くならなかったらごめん。
382378:04/01/15 03:24 ID:TxC59GeF
>>381
> 各レコード毎のキー情報と数式の計算結果を
> テンポラリテーブルに入れてから
そのテンポラリテーブルに入れる処理自体が1件ずつしかできなかったり
します。

数式を値に変更するためには私の知る限りEXECUTE関数か、
ストアドプロシージャ「sp_executesql」しかなくって
これだと1件ずつしか処理できないんですよね。

でも1件ずつ処理するにしてもやり方次第では今より若干早くなるかも。
ありがとうございました。
ちょっと試してみます。
383NAME IS NULL:04/01/19 10:47 ID:???
oracleとsql serverのユーザーの概念の違いをわかりやすく説明している
サイトはありませんか?
384NAME IS NULL:04/01/19 11:47 ID:???
>>383
Microsoft SQL Server 2000 リソースキット 第 7 章 Oracle データベースから SQL Server 2000 への移行
http://www.microsoft.com/japan/technet/treeview/default.asp?url=/japan/technet/prodtechnol/sql/reskit/sql2000/part2/c0761.asp

Oracle ユーザーのための SQL Server 2000 Enterprise Edition 導入ガイド
http://www.microsoft.com/japan/sql/evaluation/compare/fororacle/
385371:04/01/19 18:14 ID:QKrv9wRp
今日、二度目の70-229受験で合格しました。
パフォーマンス関連が弱いとわかったので、SQL鯖の入門書を読んで、
PASS-Jを見直しました。
>>374 さんありがとうございました。
386NAME IS NULL:04/01/20 01:08 ID:???
同時アクセス数について質問です・・・・

現在MS Access 2000とMSDEとSQL Server 2000を比較しているんですが
下記の記事によると最大同時アクセス数(ベストパフォーマンス時)は
MS Access 2000 : 25 〜 50 人
MSDE : 5 人以内
SQL Server : 数百から数千人
とあるのですが、この「同時アクセス数」というのは、たとえばASP.NET等から
ADO.NETを通して同時にデータベース内のデータを読み込みまたは更新することが
できる最大人数を指しているのでしょうか?

たとえば、5人の人が違う場所から、まったく同時に同じサイト(DBを使っている)に
アクセスした場合、MS Access、MSDE、SQL Serverはほぼ同じレスポンスを返すが
20人の人が同時に同じサイトにアクセスした場合MSDEのみレスポンスパフォーマンスが
低下し、さらに同時にアクセスする人数が60人の場合SQL Serverのみレスポンスが早い?

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/modcore/html/deovrwhereshouldyoustoredata.asp
387NAME IS NULL:04/01/20 01:46 ID:???
MSDEは性能じゃなくてライセンス数の問題があるんだよ。
388NAME IS NULL:04/01/20 14:32 ID:???

決算期ごとにデータベースを変更している
会社のDBマスタで(キーなし)

会社コード_____DB名_____決算期
______1______DB01_________1
______1______DB02_________2
______1______DB03_________3
______2______DB10_________3
______2______DB11_________4
______2______DB12_________5

から

会社コード_____DB名_____決算期
______1______DB03_________3
______2______DB12_________5

のように最新の決算期に対応するレコードを
抽出する方法はどうするのでしょう?
389NAME IS NULL:04/01/20 20:05 ID:???
データベースの変更ってなんだよ。
(いや、知ってるけどさ・・・)
390378:04/01/20 20:25 ID:Dw0+LfuC
select *
from DBマスタ A
join (select 会社コード,max(決算期) as Max決算期 from DBマスタ
group by 会社コード) B on A.会社コード = B.会社コード and 決算期 = Max決算期
でいかがでしょうか?
391378:04/01/20 20:40 ID:Dw0+LfuC
なんか違うっぽい。
こっちかな?

declare @SQLString nvarchar(200),
@CompanyCode nvarchar(20),
@DBName nvarchar(20)

declare cur_最新会社 cursor FORWARD_ONLY READ_ONLY for
select 会社コード,DB名
from DBマスタ A
join (select 会社コード,max(決算期) as Max決算期 from DBマスタ
group by 会社コード) B on A.会社コード = B.会社コード and 決算期 = Max決算期

open cur_最新会社
fetch cur_最新会社 into @CompanyCode,@DBName

while ( @@fetch_status = 0 )
begin
select @SQLString = N'union select * from ' + @DBName + '..テーブル where 会社コード = '
+ quotename(CompanyCode,'''')

fetch cur_最新会社 into @CompanyCode,@DBName
end

execute(@SQLString)
392378:04/01/20 20:48 ID:Dw0+LfuC
頭の「union」切ってなかった

最後の行のexecute(@SQLString)の直前に
select @SQLString = right(@SQLString,len(@SQLString)-5)
を入れてください。
393378:04/01/20 20:58 ID:Dw0+LfuC
ガーン。
カーソル解放するの忘れてた。
最後にこれつけてください。

close cur_最新会社
deallocate cur_最新会社

連続カキコすみませんでした。
394NAME IS NULL:04/01/20 21:14 ID:???
てか、カーソルなんか使わなくてもできるけど
395NAME IS NULL:04/01/20 21:15 ID:???
>>394
マジ?、教えて!!
396NAME IS NULL:04/01/20 21:41 ID:???
select * from DBマスタ
where (会社コード,決算期) in
(select 会社コード,max(決算期) from DBマスタgroup by 会社コード)

でどうかな?

(´-`).。oO(マルポしてる人に一生懸命回答考えてる378さんに心打たれた。。。)
397NAME IS NULL:04/01/20 22:46 ID:A+EWqiMs
基本的に390でOKだろ。
398378:04/01/20 23:35 ID:SSOk3VI/
>396
そんな書き方もあるんですね。新発見!感謝です。(^ー^)

>397
そうですよね。深読みしすぎました。OTL
399NAME IS NULL:04/01/21 03:23 ID:zBiV2zk6
SQL Server 2000のDBに格納されているDBを、CSV形式で取り出したいと思っています。

クエリアナライザでSQL文を書いたファイルを開いて実行し、グリッドの全てをCSV形式で
保存すれば、最も欲しい形式でCSVファイルが得られます(カンマ区切り、カラム後半部の
データが入っていない部分は切り詰められる)。

同様な出力をコマンドプロンプトから実行して得ようと場合、皆様どうされていますか?

bcpユーティリティの利用した場合、osqlユーティリティの様にSQL文を書いたファイルを
読み込んで結果を出力することができないようで、コマンドラインオプションにSQL文を
書き連ねる必要があったり、fmtファイルをいちいち用意しないと対話形式になったり
するので、臨機応変にWHERE句や拾うカラムを変える場合は不便かな?と感じてます。

逆にosqlユーティティで「-t,」オプションを付与した場合、カンマ区切りの結果は
得られますが、その場合クエリアナライザやbcpと違ってカラム後半の空白部分が
出力されてしまいますね。LTRIMとか使ってみたんですが、変化ないようだし。

よい方法があれば教えてください。
400NAME IS NULL:04/01/21 18:52 ID:???
あるアプリが突然 SQL Server 2000 に 接続できなくなりました。
SQL Server Enterprise Manager で確認しようとしたところ、
該当データベースのアイコン(通常なら黄色のドラム缶のような)が
グレーになっていて、<未確認> と表示されています。マウスの右クリック
でプロパティを見ようとしましたが、ポップアップメニューに
プロパティがなく見られませんでした。

SQL Server のログを見てみたところ、

UDOPN 物理デバイス C:\SERVER\DATA\DB_data.mdf を作成している時
または開いている時にオペレーティングシステムエラー 32(プロセスは
アクセスできません。別のプロセスが使用中です。)が発生しました。

と、

FCB::OPEN FAILED 仮想デバイス番号(VDN) 1 のデバイス
C:\SERVER\DATA\DB_data.mdf を開けませんでした。

とあります。

なぜ↑が発生したのが原因がわかりません。原因がわかる方、データベース
の復旧方法を御存知の方、アドバイスして頂けないでしょうか?

よろしくお願いします。
401378:04/01/22 00:37 ID:s+AzUpVl
>396
動かないし...OTL
ひょっとしてオラなら動くのだろうか?

>399
osqlで一時的にテーブル作成してbcpではき出すのではダメですか?

>400
repairdbでDBを削除してからバックアップを復元するの一般的かなぁ?
ググって調べるのが間違いが無くてよいと思いますが。
原因の特定に私にはムリぽ。
402NAME IS NULL:04/01/22 01:37 ID:???
>>386
そういうこと。
ただしAccessは壊れやすい。
データ削除しても残る(最適化する必要がある)
使えるならSQLおすすめ。

>>387
機能制限で5人までだよ。
しったかぶりしないように。
403399:04/01/22 03:48 ID:???
> >399
> osqlで一時的にテーブル作成してbcpではき出すのではダメですか?
ああ、その手がありますね。
ただ、お客さんのところにあるデータベースなので、テンポラリでもテーブルを
作ったりするのは実はあまりしたくないんです…。うーん…。
404NAME IS NULL:04/01/22 14:58 ID:???
ストアドを作成するのに期首年月日から
期末年月日を計算して挿入したいのですが
どうすればよいでしょうか?

期首年月日  期末年月日
'2004 4 1'  → '2003 331'
DTEADD()を使おうと
datetimeに変換しようとしたらエラーが出て先に進めません。

宜しくお願いします。

405NAME IS NULL:04/01/22 19:24 ID:???
>386
>適切に最適化された Access データベース (.mdb) は最大 255 人までの同時アクセスに対応できます
「適切に最適化」「同時アクセス」という言葉の捉え方に注意でつ。
参照だけなら大丈夫かもしれんが・・・
同時更新がありうる環境なら、俺は絶対使わないでつ。
MDB共有は運用面で楽なのは確かだけど、そのメリット以上にDB破損のリスクが高い。
マルチユーザ環境でのAccessの動作は信用しない方が良いと思う。(あくまで経験則)

>402
そうだっけ?
過去の雑誌で128本で繋いでのパフォーマンステストやっていた記憶が・・・
ひょっとしてバージョン上がって変わった?
406378:04/01/22 21:26 ID:LBD5WZK8
>403
グローバル一時テーブルならどうでしょう?
xp_cmdshellでbcp実行ってことになると思うけど。
407NAME IS NULL:04/01/22 23:25 ID:???
>>405
・ADO(又はDAO)環境下で語られてきた様々な事柄は ADO.NETにも相通じるのか?
・同じく2way systemで語られてきた事柄は 3way systemにも相通じるのか?
・そもそもISAMライブラリの類な Access(と言うか Jet DBE)と、かたや独立した
 サービスであるSQL Server2000 / MSDEを同じ土俵で比較することに対する
 違和感とか無いのか?
408NAME IS NULL:04/01/22 23:48 ID:???
>違和感とか無いのか?
それはM$に言うべきかと

409NAME IS NULL:04/01/23 01:07 ID:???
>>404
スペースがまずいのでわ?
CAST('20040401' AS datetime)
410NAME IS NULL:04/01/23 03:36 ID:???
>>399
isqlw.exe(クエリアナライザ)にコマンドラインパラメータを与えて
isql.exe風に使うのは駄目?
411404:04/01/23 09:06 ID:???
客先のデータベースの仕様で
変えちゃいけないんです。
'20030401'とかならよかったんですけど。
412NAME IS NULL:04/01/23 11:52 ID:cXiQyUAq
クエリアナライザで、数値の項目の表示を
右揃えにしたいんだけど…。
413NAME IS NULL:04/01/23 12:14 ID:???
STRでキャストするとか
414378:04/01/23 21:48 ID:yuRNMIDd
replace関数使ってスペースを0に変換汁
415404:04/01/24 13:16 ID:???
@date = CONVERT(CHAR,DATEADD(d,-1,DATEADD(YYYY,1,replace(sDateKisyu,' ','0'))),20)

SUBSTRING(@date,1,4) + (CASE WHEN SUBSTRING(@date,6,1) = '0' THEN space(1) ELSE SUBSTRING(@date,6,1) END ) +
SUBSTRING(@date,7,1) + (CASE WHEN SUBSTRING(@date,9,1) = '0' THEN space(1) ELSE SUBSTRING(@date,9,1) END ) +
SUBSTRING(@date,10,1)

で一応'2003 4 1'は'2004 331'になったのですがスペースがなぜか全角。
これを書き込むストアドで型が違うとはじかれます。
416378:04/01/24 16:07 ID:EAnOS+PV
>415
その構文であってます。
私の環境では問題ありませんでした。
なんで全角スペースが入ってくるのかな?

あと参考までに私ならこう書きます。
@date = CONVERT(CHAR(8),DATEADD(day,-1,DATEADD(year,1,replace(sDateKisyu,' ','0'))),112)

SUBSTRING(@date,1,4) + REPLACE(SUBSTRING(@date,5,1),'0',' ') + SUBSTRING(@date,6,1) +
REPLACE(SUBSTRING(@date,7,1),'0',' ') + SUBSTRING(@date,8,1)
417NAME IS NULL:04/01/25 02:56 ID:ZUbpceFV
>>412
接続オプションかなんかで、右揃えという項目があったような気がするぞ。
418NAME IS NULL:04/01/26 00:14 ID:la5fi1L2
EnterpriseManagerでバックアップとったものと
ADPでつないで[ツール]-[データベースユーティリティ]-[バックアップ]でとったものは
互換性があるのでしょうか?
419NAME IS NULL:04/01/26 00:57 ID:y082M5Ab
SQL Server 6.5を使ってます。

インデックスの断片化の解消方法として、DBCC DBREINDEXがありますが、
ディスク上のファイル断片化の解消方法は、あるのでしょうか?

あと、バックアップを取って復元したら、インデックスの断片化、ディスク上の
ファイル断片化は、解消されますでしょうか?

ご存知の方がいらっしゃいましたら、ご教授下さい。
420NAME IS NULL:04/01/26 01:05 ID:???
ディスク上のファイル断片化の解消方法

デフラグ
421NAME IS NULL:04/01/26 01:10 ID:???
>>419
デフラグしたらDBが壊れた経験があるからデフラグだけは薦めない。
422419:04/01/26 01:19 ID:y082M5Ab
レスありがとうございます。

>>420
デフラグするには、別途ソフトが必要になるので、SQL Serverの
機能として存在すれば使いたいなと思いました。

>>421
それも気になってました。
もし良ければ、DBを起動/停止どちらの状態でデフラグを
実施したのか教えて頂けますか?
423421:04/01/26 01:47 ID:???
>>422
> それも気になってました。
> もし良ければ、DBを起動/停止どちらの状態でデフラグを
> 実施したのか教えて頂けますか?

そういえば起動状態だった。でもDBが管理しているページをばらばらに
してしまうのだから停止でも同じではないかと知ったかぶり。
424NAME IS NULL:04/01/26 02:17 ID:???
>>423
6.5ってことは、OSはNT4.0Serverで、デフラグ用ソフトはDiskeeper辺りかな?
漏れの職場にまだその組み合わせで使ってるのがあるけど、SQLサーバを
停止しておけば、デフラグかけても大丈夫だよ。

バックアップ・復元する時に、同じデータファイルにDBを戻すつもりであれば、
復元前にデフラグしておかないと、断片化されたままのファイルに戻すことに
なるので注意。データ領域については、断片化が解消されるはず。

よって、バックアップ取得->DB停止->デフラグ->復元->DBREINDEXという
順序でやるのがよろしいかと。
425421:04/01/26 04:52 ID:???
>>424
>停止しておけば、デフラグかけても大丈夫だよ。

ということは、バックアップは念のため必要だとしても
復元はしなくてもよいということですかね?
426NAME IS NULL:04/01/26 21:31 ID:4Liyz/N6
DBCC SHRINKDATABASE とかじゃ?
427NAME IS NULL:04/01/27 00:45 ID:???
>>425
デフラグは、ディスク上のデータを並び替えることで、ファイルの断片化を解消させる。
その結果、ディスク上のデータが物理的に連続した状態となる。
そうするとディスクアクセスを減らせるので、アクセス速度を僅かだが向上させられる。
但しデフラグで効果を得られるようであれば、ファイルの配置やメモリの追加を
考えたほうがよいだろう。

全体バックアップの復元は、復元の際にデータファイル内のデータブロック類を
可能な限りファイルの前方から使ってデータを戻していく。
その結果、データファイル内でデータがキーの並びで連続して並ぶ。
但しトランザクションログを使ったリストア+リカバリを行うと、リストアによって
せっかく並べられたデータの並びがリカバリ時に崩れるので、それが気になるなら
直前に全体バックアップし、それを復元して操作可能状態にする。

>>426
SHRINKDATABASEは、データファイル末尾の使われていない領域を切り捨てるだけ。
使い込まれた部分が最適化されるわけではない。
428419:04/01/27 01:37 ID:kMh1Xfpi
419です。

>>424
おっしゃる通り、NT4.0Server+SQLServer6.5です。
デフラグ用ソフトを購入出来る状況ではないので、SQL Serverの機能で実施
出来ないか探していました。

>>427
>>全体バックアップの復元は、復元の際にデータファイル内のデータブロック類を
>>可能な限りファイルの前方から使ってデータを戻していく。
>>その結果、データファイル内でデータがキーの並びで連続して並ぶ。

なるほど、全体バックアップの復元を行うとある程度は解消出来るのですね。
色々と調べたのですが、この辺りの情報を入手する事が出来ませんでした。
もし良ければ、情報入手元(本、ネット、BooksOnline、検証した等)を教えて
頂けますか?

今、試しているのは、バックアップ復元前と後で、インデックスの断片化が
解消されるかどうかです。
とりあえず、全テーブルに対して、インデックスの断片化を調べる要求を投げて
きたので、明日検証したいと思ってます。
429421:04/01/27 02:24 ID:???
>>427
詳しい解説ありがとうございます。勉強になりました。
430NAME IS NULL:04/01/27 17:37 ID:DJH+2hbL
SQL Serverって環境(サーバスペック)によって結果が違うことない?
431NAME IS NULL:04/01/27 19:57 ID:???
あるよ。
432NAME IS NULL:04/01/27 23:42 ID:1MC6kPF8
VC++ 6.0 でアプリを作るのだけれど、SQL鯖との API は何を使うのが良かんべえ?
433NAME IS NULL:04/01/28 15:54 ID:MLSHDrAP
DB_1からDB_2にウィザードでデータのエクスポートをする際に
”SQLServer7.0間でのデータベースオブジェクトとデータの転送”
を選択するとストアドのインポートやエクスポートが出来ますが、
その際に元のDBから転送されないストアドがいくつかあります。
dt_addtosourcecontrol, dt_adduserobject, dt_adduserobject_vcs, ・・・
の dt_xxx という名前のストアドが転送されません。
これはほっておいてもいいのでしょうか?
434NAME IS NULL:04/01/28 16:23 ID:MLSHDrAP
もうひとつ質問です。

[OSのVER]:windows2000
[SQLServerのVER]:SQLサーバー7.0

データベース名 : db1
ファイル名 : db1_Data

をバックアップして、db1は削除せずに データベース名をdb2として復元すると

データベース名 : db2
ファイル名 : db1_Data

というようにファイル名がdb1と同じになるようですがこれで正しいのでしょうか?
同じファイル名が複数になると何らかの問題が出るのでしょうか?
435NAME IS NULL:04/01/28 21:23 ID:???
>>432
普通にODBCだと思うが・・・そういうことじゃない?
436NAME IS NULL:04/01/28 22:14 ID:???
>>434
db2_Dataって名前のファイルは無いの?
場所が違うとか。
437NAME IS NULL:04/01/28 22:23 ID:zMSeOuu6
>>435
DB-Library for C, Embedded SQL for C, ADO, OLE DB, ODBC と色々あるんだけど
どれを使ったら良いのかと。。。

ADO は、VB で使うのは良いけど、VC++ だと何かイマイチ。
ODBC ですかねぇ〜。
438NAME IS NULL:04/01/28 22:26 ID:???
>>437
ADOをVC++で使ってもメリット感じないねぇ。
Embeddedは以外といけるかも。
439NAME IS NULL:04/01/28 22:32 ID:???
>>438
ヤパーリ、ADO & VC++ は無理がありますよねぇ〜。
Embedded は、MSが使うなゴルァ状態ですから先々を考えると・・・

440NAME IS NULL:04/01/28 22:35 ID:???
>>439
まぁ、先を考えるとね(w
でも、ODBCより速くなるんでしょ?
(ODBC以外はOraのProCしか使ったことが無かったりする洩れ)
441NAME IS NULL:04/01/28 22:41 ID:???
>>440
SQL鯖のODBCは速いみたいですけどね。
Oracle なら OCI で決まりなんすけど・・・

ODBC vs ADO (MSご推奨) で検討してみます。
442NAME IS NULL:04/01/29 02:21 ID:???
>>434
ファイル名には論理ファイル名と物理ファイル名があって
論理ファイル名は同じファイル名が許されたと思います。
443NAME IS NULL:04/01/29 02:34 ID:???
>>441
OLEDB の方が速いって聞いたことあるけど
444NAME IS NULL:04/01/29 11:08 ID:2tMkH5SB
どこかで論理ファイル名も重なるとよくないというような話を聞いた気がするのですが、
大丈夫なのかな
445NAME IS NULL:04/01/29 19:58 ID:???
>>443
HELPを見ると確かに早いと書いてありますが、その差はわずかなもので
扱い安さでODBCのほうがよいと書いてありますね。

>>444
それは初耳です。
私の経験上論理ファイル名が重なって問題が起きたことはありません。
446441:04/01/29 20:44 ID:???
>>443
OLE DB は、COM が理解出来てないと難しそうですね。
それにサンプル・コードも少ないし。
447NAME IS NULL:04/01/30 03:00 ID:aZ7xYiqH
もし知っている方がいらしたらご教授願いたいのですが、
リモートファイルをテーブルに一括挿入するのに、
ODBC経由でUNCを使わずに行う方法はないでしょうか?
というのも、bcpやbulk insertではUNCパス指定が必要となりますが
Enterprise Managerのインポートでは送信側でローカルパスを指定して
できるので、これをエミュレートする方法があれば・・・と思いまして。
448441:04/01/30 23:02 ID:???
結局、ODBC API で逝くことに決めました。

VC++ だけど、中身はコテコテのC言語のアプリには ADO は激しく合わない。
それに、ADO (OLE DB) の技術的寿命は短そう。 (COM の終焉?)
VC++ の #import ディレクティブもキモイ

ODBC は消えて無くなりそうだけど、結構しぶとく残りそう。w

449NAME IS NULL:04/01/30 23:31 ID:???
>>448
ODBCは過去の互換性のためだけに残される方針のようだぞ。
案外しぶとく残るかもしれないが、だが次期OSではADO+とかいうものに
置き換わり、標準でODBCは入らないとか。

ゆうかWindowsでこてこてのCでプログラミングを作るという事が
激しく合わないわけで。
450NAME IS NULL:04/01/30 23:40 ID:???
>>449
>だが次期OSではADO+とかいうものに
>置き換わり、標準でODBCは入らないとか。

ソースきぼんぬ。チンチン (AA略

ADO.Net は何処へ?
451NAME IS NULL:04/01/30 23:42 ID:???
つか、Win32 API なんてコテコテのCだと思うが。。
452NAME IS NULL:04/01/30 23:59 ID:???
WIN16はpascal風味だったような微かな記憶(←捏造?)
453NAME IS NULL:04/01/31 15:07 ID:???
そういやPASCALだったねえ。
Cの可変長引数とPASCALの利点を組み合わせて今に至る、か?
45453:04/02/02 17:16 ID:mG/dB7WE
Windows2000ServerSP4 にMSDE2000ReleseA を使ってます。
Windows2000ProのクライアントからODBC接続しようとしたら
次のようなエラーが出てしまいました。
原因もしくは対処方法はわかるでしょうか?
-----------------------------------------------------------------------------------------------------------------
接続できませんでした。
SQLState: '01000'
SQLServer エラー:87
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen(gethostbyname()())
接続できませんでした。
SQLState: '08001'
SQLServer エラー:11
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]一般的なネットワークエラーです。ネットワークのマニュアルを調べてください。
-----------------------------------------------------------------------------------------------------------------
一つ気になるのはクライアントのMDACのバージョンが2.5だった事です。
これが原因の可能性はあるでしょうか?
455NAME IS NULL:04/02/02 20:55 ID:???
>>450
ODBCのくだりは分からんが、
Whidbeyをインストールしたら
「Whidbey\SDK\v1.2\QuickStart\howto\doc\adoplus」
なんていうディレクトリがあったy。

中身は .aspx ばっかり。うーむ。
456NAME IS NULL:04/02/02 21:06 ID:???
>>454
Server上でosqlは使えるの?
457NAME IS NULL:04/02/02 22:20 ID:???
>>454
サーバ名が見つからないってエラーだな。
458NAME IS NULL:04/02/03 01:16 ID:???
>>457
同意だな。
ということで>>454よ。ODBC接続しようとしているクライアントはDNSなりhostsなりで
サーバの名前解決ができる状態になっているか?
459454:04/02/03 09:18 ID:opXqtSa0
サーバーは見れます。

サーバー名でIPも引けました
その後ですが一応hostsファイルにも書いてみましたけど変わりありませんでした。
460NAME IS NULL:04/02/03 15:49 ID:???
全データのエラーリストからダブった物を除外して
エラーリストを作り直すのですが

元データ
商品   科目   エラーNO
 1 1 1
1 2 1
1 3 1
2 1 2
3 1 2
4 1 2

エラーNO 1:だぶる商品Noを除外
      2:だぶる科目Noを除外

出力データ
商品   科目   エラーNO 
1 3 1
4 1 2

こんな感じに出力したいのですがどのようにすれば
よいでしょうか。
461NAME IS NULL:04/02/03 23:46 ID:???
>>459
MDAC 再インスコしてみれば?
462NAME IS NULL:04/02/04 00:20 ID:???
>>454
ポート閉じてるとか
463454:04/02/04 01:31 ID:u6F6Mlyv
解決したので報告です。

まず現象が出ていたクライアントは
Windows2000 Professional
SPは不明ですがMDACのバージョンは2.5でした。
※Windows2000のSPによってMDAC2.5でも微妙にバージョンが違う
  詳しくはこちら → http://www.microsoft.com/japan/msdn/data/download/mdac/manifest_intro.asp

Internetには完全につながっていない環境で運用されていたみたいでWindowsUpdateも恐らくまったくおこなわれていないと思われます。


MDAC2.7SP1Refresh を入れてみたら問題は解決しました。
もっと低いバージョン(2.6とか)から入れてみてどこで解決している問題か
突き止めても良かったのですが時間がなかったので今回はあきらめました。
ネットワークとかの問題ではなかったです。
464NAME IS NULL:04/02/04 02:28 ID:???
>>463
MDACはなぁ。やらしいトラブルの元なんだよなぁ。
漏れも以前、こういうネットワーク系のエラーではなかったが、SQL鯖に特定のSQLを
投げるとダンマリになってしまうという現象にハマったことがあったよ。2.6の時だったか?
そん時の解決法は、MDACのバージョンを鯖とクライアントで合わせる、と。
なんだそりゃと思ったよ。

今まで動いていたアプリケーションがWindows Updateの結果動作しなくなった事も
何度かあるし、ADODB使ったVBアプリのデバッグができなくなったりと、あまりいい
思い出が無い。

そういやまたMDACのパッチが出たけど、だれか人柱になってみておくれ(w
465NAME IS NULL:04/02/04 15:45 ID:IdTYgpiu
bcpツールを使用してデータを外部ファイルへ出力したいんだけど、
カラム名を同時に出力させることはできますか?
何らかのオプションをつければ大丈夫ですか?
466NAME IS NULL:04/02/04 20:46 ID:???
>>465
予めカラム名を書いたファイルを作っておいて
copyコマンドでくっつければいいじゃない
467NAME IS NULL:04/02/05 12:18 ID:???
DTSでエクセルにエクスポートしる
自動的にカラム名つくぞ
468NAME IS NULL:04/02/05 13:55 ID:qyxB+XUK
SLLServer2000のデタッチ・アタッチについて教えてください。
データベースのファイル名を変更するために、一度デタッチします。
その後、ファイル名を変更してアタッチするのですが、
EnterpriseManagerでmdfファイルを指定すると、
CurrentFile(s)Location に昔のパスが出てきます。
これを新しいファイル名のパスに変更しようとしているのですが、
べりファイをすると、元に戻ってしまいます。
どのようにすればいいのか、ご存知の方教えてください。
469NAME IS NULL:04/02/05 19:57 ID:qyxB+XUK
素人の質問ですまないんだけど、ベンダー指定のSQLスクリプトを
クエリーアナライザーで実行したら次のようなメッセージが出た。
One or more logins (T1 or 'T2) exists.
Please check, why they exist and delete them manually.
Restart this script afterwards.
If the script stops with this message, no action was taken.
どうも、何かがログインしてるみたいで、それを消さないといけないんだけど、
どうやればいいんでつか?
470NAME IS NULL:04/02/05 20:02 ID:???
そのスクリプトが出してるメッセージじゃないの?
中身嫁。
471NAME IS NULL:04/02/05 20:16 ID:qyxB+XUK
そうだよ、スクリプトが出してるメッセージ。
ようは、ログインしているユーザーを、探してログアウトさせないと
いけないのかな?どうやるの?
472NAME IS NULL:04/02/05 20:26 ID:???
ログインしている、じゃなくてSQL Serverのlogin IDのことだべ。
473NAME IS NULL:04/02/05 20:45 ID:qyxB+XUK
loginIDを消すわけ?どうやって?
474NAME IS NULL:04/02/05 20:53 ID:???
そのくらい調べてちょんまぎ。
475NAME IS NULL:04/02/05 21:03 ID:qyxB+XUK
すまぬ、調べているところなんだが、なんせDBの知識ないんで・・・
期限がせまっとる。ヒントでもいいからくれるとありがたい。
476NAME IS NULL:04/02/05 21:06 ID:???
期限がどうのとかいうなら、素直にサポセンへどうぞ。
回答急かすのイクナイ。
477NAME IS NULL:04/02/06 11:52 ID:vOcrI91v
やり方わかった。しかし、やる前にバックアップを取っておきたいなぁ
478NAME IS NULL:04/02/06 23:37 ID:+5a7+TWW
アバウトな質問です。
SQLServer6.5 + WindowsNTの環境です。
ストアドで正常にテーブルの内容を返している状態から
テーブルをtruncateしてbcpinしなおした後に、
同じストアドを実行しても、結果が返ってきません。
(エラーではなく、結果が空)
ほんでもってストアドをリコンパイルするときちんと
元の状態に戻って結果を返してくれるようになります。

そんなものですか?
ストアドの実行計画が古くて、結果が返ってくるのが遅いとかならわかるのですが。
479NAME IS NULL:04/02/07 01:00 ID:???
6.5ならそんなもんだ。
trucate したら update statistics 汁!
480:04/02/07 17:35 ID:xuTfZqEG
MSDEなんだけど、これのストアドプロシージャの、
WHILEで2重のループって書けるの?すごくやりにくくて、なんべんやっても上手く行かないのだけど、。。
それから、やってる最中なんども無限ループに陥れたけど、そのプロセスってほっておくとタイムアウトで死ぬものなの?
大丈夫そうだからほっといてあるけど。まー、試験環境だし。
481:04/02/07 21:44 ID:xuTfZqEG
自己レス。出来た。>>480
ふぅ。
482NAME IS NULL:04/02/08 08:49 ID:DeNr2LOM
DTSを別のホスト(Linux)から起動したいのですが、どうすればいいですか?
483NAME IS NULL:04/02/08 11:19 ID:???
>>482
VMWare
484NAME IS NULL:04/02/08 11:56 ID:3VQKmriv
文字列フィールドにインデックスを貼っても
like条件で検索したら、使われないんですよね?
これってどうにかならないですか?
フルテキストインデックスを貼るしかないのでしょうか?
485NAME IS NULL:04/02/08 19:57 ID:???
>>484
前方一致は大丈夫だったはず。(SQL Server 2000)
'あ%' → OK
'%あ%' → NG

本当かどうかは、やってみればわかる。
486NAME IS NULL:04/02/10 01:15 ID:???
>>485
2000に限らず、文字列に普通にインデックスを作成するとインデックスはBツリーに
なるので、前方一致でしか役に立たない。
487NAME IS NULL:04/02/10 23:06 ID:???
SQL Server 2000をまったく知らないんだが、
おすすめの入門書ってなに?

Oracleの資格の入門書みたいにアホでもわかるやつがいいなぁ。
MSの本って結構難しい気がする。
488NAME IS NULL:04/02/10 23:22 ID:???
>>487
SQL Server 2000でいってみよう
http://www.seshop.com/detail.asp?pid=3748
これがいいと思うよ
489NAME IS NULL:04/02/10 23:39 ID:???
>>488
おおお コメントみたけどすんごいよさげ!!!
ありがとう!!!!
490NAME IS NULL:04/02/11 17:00 ID:???
改行はどうやってselect するんでしょうか?
491NAME IS NULL:04/02/11 17:04 ID:???
かきなおし

改行コードを含んだフィールドをSELECTする方法がわからんです。
3じかんほどなやんでます。ひー。
492NAME IS NULL:04/02/11 17:22 ID:???
>>491
フィールド名に改行コードが含まれているという意味だろうか?
ならフィールド名を中括弧で囲むべし!
493NAME IS NULL:04/02/11 17:24 ID:???
レスありがとうございます。

書き方悪かったようです。
フィールドの中身に改行が含まれている行をSELECTしたいんです。
postgreSQLだと ~で正規表現が使えたんですが・・
494492:04/02/11 17:25 ID:???
すまん。
中括弧「{}」じゃなくて大括弧「[]」だった。
495490:04/02/11 17:38 ID:???
結局、CSVで書き出して秀丸で処理して元に戻しました。
どうやってやるのか知りたい・・・
496492:04/02/11 18:48 ID:???
そういう意味なら
where charindex(char(10),フィールド) <> 0
で。
char(10)の部分は改行コードによって変えるべし。
497492:04/02/11 19:44 ID:???
つか、ただのlike文で良い罠。
where フィールド like '%'+char(10)+'%'
498490:04/02/11 21:06 ID:???
>492
ありがとうございます。

なるほど〜。

499NAME IS NULL:04/02/12 23:30 ID:YyPPKpB6
ログ配布を行う条件って何ですか?
500NAME IS NULL:04/02/13 02:05 ID:???
osqlの出力を左詰めにしたいのですが、どうやったらできますか?

SQL Server2000で、全データが左詰めのCSVファイルを作りたいのです。

例えば
osql -U sa -P xxxxxx -Q "select name, dbid from master..sysdatabases" -o dbs.txt -h-1
といったSQL文を実行すると、dbs.txtはname列が128文字分出力された状態で
作成されてしまいますよね。
クエリを"select rtrim(cast(name as varchar)), dbid from master..sysdatabases"と
すると少し列長は縮みますがやはり左詰めにはならず、末尾に空白を付けられて
表示上の縦横を揃えてしまうようです(rtrimが効いてない?)。
揃えなくていいのに…ていうか揃えて欲しくないのに…。

よい方法をご存知の方、教えてください。
501NAME IS NULL:04/02/13 07:00 ID:???
>>500
isqlw.exeでできない?
502NAME IS NULL:04/02/13 10:49 ID:ab8SMACY
先輩の仕事を引き継いでSQL-Serverのデータ管理を任されるようになって
一年なんですが、この度新しいテーブルを作成することになりました。
作成したテーブル名の後ろに(dbo)という文字がくっついてしまうのですが、
これなんとかなりませんか?
既存のテーブルにはついていません。エンタープライズマネージャーで見ると
ユーザ名も違います。
先輩は既に退社してしまっているので聞くことも出来ません。
503NAME IS NULL:04/02/13 22:01 ID:AtZVcAu0
とりあえず、エンタープライズマネージャーで
その先輩が作ったユーザをみっけて
そのユーザで接続してテーブルを作成すればよいのでは?

パスワードは普通なら先輩が残してくれたドキュメントにあるのでは?
ドキュメントがあるくらいならここにか着込まないか・・・
504NAME IS NULL:04/02/13 23:53 ID:???
>>501
うーん、できません…。
use master
set nocount on
select name, dbid from master..sysdatabases
↑のようなファイル(name_id.sql)を作ってisqlw -U sa -P xxxxxx -i name_id.sql -o name_id.txt と
やってみたのですが、あんまり変化無いです…。
そもそも空白が入っているわけではないので、やっぱりrtrimも効かないようです。
しかもisqlとオプションが異なるようで、-sとか-hとかのオプションも無さそうですし。
うーん、中途半端なユーティリティだなぁ。

ところでisqlでオプション-h-1をつけるとヘッダーの出力を抑制できますが、SET文等で
同等の事の設定って可能ですか?(sql*plusでいう「SET HEADING OFF」の様な)
505NAME IS NULL:04/02/14 00:43 ID:QzrJY8Q2
ORACLEのSORT AREA SIZEにあたるものってありますか?


506NAME IS NULL:04/02/14 01:50 ID:UrORhSm7
ストアドプロシージャの引数にストアドファンクションを渡すと
構文エラーが発生するのですが、ストアドファンクションは渡せないの?
507NAME IS NULL:04/02/14 04:25 ID:???
ちょっとネタが古いがBooksOnlineが更新されてた(2004/1月版)
http://www.microsoft.com/downloads/details.aspx?FamilyId=A6F79CB1-A420-445F-8A4B-BD77A7DA194B&displaylang=ja

>>504
こんな感じでどう? test.sqcはクエリアナライザ(=isqlw.exe)の
オプションダイアログで保存した設定ファイル。
ここでは結果タブでcsv形式を指定してから設定を保存。
test.sql は select * from dbo.Products だけ。

>isqlw.exe -S (local) -d northwind -i test.sql -C test.sqc -E -o test.out

ProductID,ProductName,SupplierID,CategoryID,QuantityPerUnit,UnitPrice,UnitsInStock,UnitsOnOrder,ReorderLevel,Discontinued
1,Chai,1,1,10 boxes x 20 bags,18.0000,39,0,10,0
2,Chang,1,1,24 - 12 oz bottles,19.0000,17,40,25,0
3,Aniseed Syrup,1,2,12 - 550 ml bottles,10.0000,13,70,25,0
(以下省略)

>>505
datalength()かな? ORACLE知らんので違ってたらすまん。

>>506
パラメータとして使いたければユーザー定義関数を使う。
508NAME IS NULL:04/02/14 13:17 ID:LIdzC4tn
>>507
ファンクション=ユーザー定義関数なのでは?
509NAME IS NULL:04/02/14 14:22 ID:???
>>488
なんか、この著者の「松本美穂」さんて、#当然ペンネームだろうが。
ニキータさんとおなじ匂いがするんだよなぁ。
ちがうのかなあ。
510NAME IS NULL:04/02/14 15:14 ID:pEx+adIK
>>509
この人マイクロソフトのセミナーで講師やってたりするんだよね。
結構綺麗というのを聞いた事がある。

511NAME IS NULL:04/02/14 15:25 ID:gf4Csij9
SQL Server 2000 では、テーブル内全てのインデックスの断片化を調べる際に、
DBCC SHOWCONTIG('テーブル名') WITH ALL_INDEXES
という方法がありますが、SQL Server 6.5では、ALL_INDEXESオプションが使用
できないようです。

全てのテーブルのインデックスの断片化を確認したいのですが、SQL Server 6.5で
簡単な方法があったら教えてもらえないでしょうか。
512NAME IS NULL:04/02/14 15:28 ID:???
「…いってみよう」は業務やってるひとには物足りない内容だろうけど、良著は良著だね。

著者紹介の
「趣味は旅行とスケッチ。
時間とお金の都合がつけば世界の移籍をめぐり、
歴史のロマンに浸っている」

ってところが微妙に魔法使いさんとクロスしてる。

513NAME IS NULL:04/02/14 15:29 ID:???
あまり根堀葉堀邪推して「開発工房の閉鎖騒動」なんてことになったらつまらんから、
美穂タン関連についてはこれぐらいにしとこうか。
514NAME IS NULL:04/02/14 22:42 ID:8hHrO2YA
美穂タン(;´Д`)ハァハァ
515NAME IS NULL:04/02/14 22:49 ID:???
SELECT * FROM 松本美穂
WHERE ブラ LIKE '乳%'
516NAME IS NULL:04/02/15 10:42 ID:???
ブラ 備考
---------
乳房 小
乳輪 大
乳首 黒
乳毛 長
517NAME IS NULL:04/02/15 12:01 ID:???
>>507
>ちょっとネタが古いがBooksOnlineが更新されてた(2004/1月版)

情報サンクス。
思わす見落としがちだけど、こういうのが大事だね。
518NAME IS NULL:04/02/15 17:06 ID:???
>>515,516
その式で軽く勃起しちゃった俺は死刑ですか?
519NAME IS NULL:04/02/15 21:12 ID:???
>>518
INSERT INTO 美穂(口腔, 胸部, 下腹部, 膣内)
VALUES ('精液', '精液', '精液', '精液')
__________________
(1 件処理されました)
520NAME IS NULL:04/02/16 12:50 ID:1fcdacmj
端末10台ぐらいの部署で開発しているのですが、
稼働中のサーバ上での作業を余儀なくされています。
これぐらいの環境なら、サーバ上での作業ってふつうなんでしょうか。
みなさんの職場ではいかがでしょう?
521NAME IS NULL:04/02/16 15:46 ID:???
>>514ー516>>518-519
喪前ら…いい加減に汁!
522NAME IS NULL:04/02/16 16:40 ID:???
>519
彼女にINSERT権限がありません
ttp://pc2.2ch.net/test/read.cgi/db/1057289721/
でやったらナイスだったのにぃ
523NAME IS NULL:04/02/16 17:46 ID:+xsVhYq2
SQLServerのRollbackってどこからデータをひっぱってくるの?
トランザクションログから?
524NAME IS NULL:04/02/16 21:21 ID:???
>>520
汎用機やオフコンだと本番業務稼動中のサーバでプログラム開発を
するのが当たり前だけど、PCサーバの場合は別だよな。いつ落ちるかワカランし。

SQL鯖のデベロッパー版は安いから買ってもらえ。
525520:04/02/18 18:41 ID:???
>>524
お返事おそくなりました。アドバイスありがとうございます。

前任者が立てた鯖(w2ks)が不安定でまいってます…派遣の身分なので、なかなか強い要望を出せないんです。

でも、がんばります。
526NAME IS NULL:04/02/18 22:55 ID:fbOO05mN
>>525
w2k鯖(実はDEC製)やSQL鯖(実はIBM製)が不安定なんじゃなくて
前任者の作ったプログラムが不安定なだけでわ?
527NAME IS NULL:04/02/19 15:37 ID:aG94h5c0

 SQLを勉強しようかと思ってて、VC++6Proを
持ってるんで、SQL Serverをインスコして
みました。んで、一つお聞きしたいんですが
コレのランタイムDLLみたいなのはないんですか?
一般向けのフリーウェアでSQLを使ったりするのは
無理なんでしょうか?

528NAME IS NULL:04/02/19 16:28 ID:???
MSDE
529NAME IS NULL:04/02/19 17:16 ID:???
>>528
ドモ。
530525:04/02/20 13:09 ID:???
>>526
それも大きいですが、レジストリを読むとw2ksにNIS2002(鯖バージョンじゃないやつ)やら
Ghostやらなにやらいろいろインストールされていた形跡があり、
「言語道断」な管理状態だったみたいです。

再セットアップさせてくれれば早いんですけど…はぁ。
531NAME IS NULL:04/02/21 00:53 ID:???
それで言語道断は言いすぎだと思うが。
532NAME IS NULL:04/02/22 00:38 ID:???
いや、w2ksにインターネットセキュリティ2002は言語道断だろう。
533NAME IS NULL:04/02/23 10:17 ID:???
534NAME IS NULL:04/02/24 15:13 ID:???

独習SQL + SQL鯖7.0 で勉強中です。

付属のクエリアナライザを使用しているのですが、
selectの表示結果の桁がバラバラになってしまいます。
等幅フォントにしても揃わないのですが、なんとか
そろえる方法はないんでしょうか? 特に、
ヘッダ部分と表示部分とのズレがひどくて結果が
見づらいです。

それと、独習SQLは Oracle中心に書いてあるので、
この次は少しステップアップした書籍で、SQL鯖
を中心に書いてある書籍で勉強したいと思っています。
なにか次の1冊として適当な書籍があれば
紹介してください。おながいします。
535NAME IS NULL:04/02/24 19:23 ID:mYvqbjvB

union で結合した結果を別の select * from に
ぶっこみたいのですが、SQL鯖ではサポートされていないのでしょうか?

select *
from
  ( select 〜)
  union all
  ( select 〜)
order by 〜

Oracleではこんな感じでできるようなのですが、
SQL鯖では未サポートでしょうか?

unionで結合した結果は表示されました。
冒頭のselect を使わずに直接 order by を使って
ソートもできました。ただ、上記のような表記は
できないのかと思いまして、質問させていただいた
次第です。
536NAME IS NULL:04/02/24 20:43 ID:???
select * from
(select 〜
union all
(select 〜)
) a
ordey by 〜
537NAME IS NULL:04/02/25 14:24 ID:yHTrsVIG
SQLServer2000を使っています。
主キーを設定していないテーブルにレコードを追加できないのですが、
これは仕様なのでしょうか?
解除することはできないでしょうか。
538NAME IS NULL:04/02/25 15:23 ID:???
出来るけど?
539NAME IS NULL:04/02/25 15:25 ID:???
>>538
そうですか・・・。
だとしたらDBの設計が悪いのかもしれないですね。
ちょっともう一度調べてみます。
540NAME IS NULL:04/02/25 16:43 ID:???
つーか、あれだ。DAOやODBCでレコードセット使ってる場合は
主キーが無きゃ駄目だという。
541NAME IS NULL:04/02/25 18:42 ID:???
>>537
主キーを設定して終わり
542NAME IS NULL:04/02/25 19:15 ID:???
最近、サービス起動時に下記のエラーが出るようになったんだけど心当たりない?

ソース:MSSQLServer イベントID:19011
SuperSocket 情報 : ConnectionListen(Shared-Memory (LPC)) : Error 5

543NAME IS NULL:04/02/25 21:56 ID:g8DUB5ed
まだMSDEでいろいろ試してる超初心者の質問です。

bigint型のフィールドに、2の40乗とか50乗とかの数字を入れたいんですが、
UPDATE table SET field = POWER(2, 40)
などと、31乗以上をPOWERで計算すると、int型オーバーフローが起きてしまいます。
ダメモトでCONVERT(bigint, POWER(2,40)) などとやってみたりしたけどダメ。

int型以上のべき乗計算をするのは、どうやればいいのでしょうか?
ちなみに、やりたいことは、不定数(30個以上60個以下)の2値フラグをビットでひとまとめにして管理することです。
544NAME IS NULL:04/02/25 23:52 ID:???
>>543
0xffffみたく16進数で書けば?
545543:04/02/26 02:04 ID:???
自己解決。
POWER(CAST(2 AS bigint), 2) または
POWER(CONVERT(bigint, 2), 40)
でOKでした。
なるほど、引数の型か……。
546NAME IS NULL:04/02/29 15:49 ID:ndQREWYg
バッファキャッシュのサイズってオラクルのように設定できるの?
ソートのサイズとかも。
547NAME IS NULL:04/03/02 22:56 ID:7lF50t+o
教えてください。
普段は日本語Win2K上で英語版のSQLServer2Kを使っています。

ストアド内で'01/01/80'と記述されている所があり
これを1980年1月1日と解釈していて正常に動作しているらしいのですが

日本語版のSQLServer2KにDBバックアップ/リストアで移動させたところ
このストアドを呼び出す処理の所で

1) CHAR データ型から DATETIME データ型への変換の結果が日付/時刻の値の範囲外です。
という表示が出てしまいます。
おそらく、/80が処理できていないみたいなのです。

アプリやストアドの変更が容易ではないので
SQL鯖の設定変更で、処理が正しく行われるようにしたいのですが
どこの設定を変更すればいいのえしょうか?
よろしくお願いします。
548NAME IS NULL:04/03/04 12:48 ID:jFfTGRKb
型について質問です

PostgreSQLだとVarchar型とText型では検索時の速度(あいまいな表現でスマソ)がそれほど変わらない・・・
とかいう話を聞いたことあって、それ以降固定長の項目以外は全てText型使って結構楽してたのですが

SQLServer2000の場合Varchar型とText型の違いに関する情報何かないでしょうか?

住所とか名称とか桁数考えないといけない項目をとりあえずText型で作ってしまうのが
非常に楽なのでできればそうしたいのですが...
549NAME IS NULL:04/03/04 22:18 ID:???
text型にすると更新処理とか面倒だぞ。
おとなしくvarchar型にしとけ!
550NAME IS NULL:04/03/04 23:07 ID:???
>>547
「既定の言語」か「default language」でBooksOnlineを検索

>>548
varcharとtextが同じなのはPostgresだけの話
551NAME IS NULL:04/03/05 15:31 ID:???
以下の様なテーブルAとBを集計して、

  テーブルA   テーブルB
  コード 在庫 売上 コード 売上
  ------------------ ------------
  0001 10 0 0001 5
  0002 20 0 0002 10
  0003 30 0 ------------
  ------------------

結果としてテーブルAを、

  テーブルA
  コード 在庫 売上
  ------------------
  0001 5 5
  0002 10 10
  0003 30 0
  ------------------

の様にしたいのですがSQL Serverではどの様にするのが一般的なのでしょうか?
クエリ一発で出来ちゃったりするのでしょうか?
ヒントだけでもいいので教えてください。
552551:04/03/05 15:37 ID:???
すいません。ずれまくりましたのでもう一度、

  テーブルA        テーブルB
  コード 在庫 売上   コード  売上
  ------------------ ------------
  0001   10   0    0001    5
  0002   20   0    0002   10
  0003   30   0    ------------
  ------------------

  テーブルAの結果
  コード 在庫 売上
  ------------------
  0001    5    5
  0002   10   10
  0003   30    0
  ------------------

よろしくおながいします。
553NAME IS NULL:04/03/05 15:53 ID:???
ヒントと言うか何というか、まず少しは勉強しろよお前は
554NAME IS NULL:04/03/06 01:33 ID:2XGG8ezu
トランザクションログのサイズが
どんどん増えてしまうのですが
サイズを減らす方法はあるのでしょうか?
555NAME IS NULL:04/03/06 02:29 ID:???
dump transaction
556NAME IS NULL:04/03/06 09:37 ID:liOCM9X0
素人です。MS-SQLServer2000に複数の同じ内容のデータベースを構築しました。これは例えばエリア毎に顧客情報を入力する為と考えてください。
この複数のデータベースのある一つのテーブルを、あらかじめ作成した統合用データベースの同じ内容のテーブルにコピーしたいのですが、どのようにしたら良いのかどなたか教えていただけませんでしょうか。
557NAME IS NULL:04/03/06 10:44 ID:???
>554
BooksOnlineで以下のキーワードを探してみる。
ログ 圧縮 切捨て
558NAME IS NULL:04/03/06 15:44 ID:???
>>556
INSERT INTO データベース1.dbo.テーブル FROM データベース2.dbo.テーブル
559NAME IS NULL:04/03/06 15:55 ID:???
>556
なんでそんなめんどくさいことを。
560NAME IS NULL:04/03/07 10:54 ID:???
>>556
内容をコピーするのはともかく、どう使うんだ?
エリアごとにデータベースを変更してアクセスするのか?
それともその統合用データベースを参照するのか?

エリアごとにデータベースを変更する場合、頻繁にデータベースを切り替える事によって
メモリ使用やパフォーマンスに問題が出てくることが予想される。
逆に統合用データベースを参照する場合、その統合用データベースを定期的に更新する
必要があるが、データの一貫性に欠けることとなる。

統合用テーブルではなく統合用ビューにするか(それも遅いが)、もしくはエリアごとに
データベースを変えるというその設計を見直すべきだろう。
561NAME IS NULL:04/03/07 11:43 ID:???
>>556
普通ならエリアIDを保持するテーブルを作って
各テーブルにはエリアIDのカラムを追加する。
そうすれば1個のDBで済む。

正規化の勉強をすべし。
562NAME IS NULL:04/03/09 12:32 ID:???
SQL Server 2000 Reporting Services まだ送ってきませんか?
563sibamon:04/03/09 19:08 ID:gqlVvI9A
Enterprise Managerを使って、こまめにバックアップを取ろうと考えています。
一日に一回か、一週間に一回か、一ヶ月に一回か
まだはっきり決めていないが、しかし試しにと思って
何度かテストをしたが、全然バックアップがされていない。
本やらMicrosoftの技術情報・サポート情報をくまなく見たのに・・・。
564NAME IS NULL:04/03/09 19:31 ID:???
>全然バックアップがされていない
ってのはどうやって確認したんだい?
565sibamon:04/03/09 19:34 ID:gqlVvI9A
ファイルを指定して、そこに落とし込みができるようにしたつもりでいる・・・。
566NAME IS NULL:04/03/09 20:04 ID:???
>>565
設定した内容とか、何したのか書いてくれたら何かわかるかも。
567sibamon:04/03/09 20:19 ID:gqlVvI9A
単純に
「管理」で「ジョブ」のプロパティで新規作成をして
「全般」に「テスト」と名前を入れ
「ステップ(新規作成)(コマンド)は書き込み」「スケジュール(新規作成)毎日で時間は作成した時間の5分後に設定」
としてみました。
他にもしなければならない作業があったのでしょうか?
初心者で本当にスミマセン。
568NAME IS NULL:04/03/09 21:05 ID:???
>>567
設定したジョブを手動で実行してもダメ?
569NAME IS NULL:04/03/09 21:10 ID:???
最初に読むべきものはBooksOnline。これ定説。

とりあえず
データベースを右クリック→全てのタスク→バックアップ
で表示されるGUIベースでのバックアップをまず成功させるべし。

同じ画面の下部にある「スケジュール」にチェックを入れると、バックアップジョブが作成される。
そのジョブの内容を良く見て理解しそれからカスタマイズしていくとよろし。
当方バージョンは2000。他のバージョンでどうかは知らぬ。
570NAME IS NULL:04/03/09 23:29 ID:0A5L6zta
データベースいっぱい作ってしまうのは駄目なんでしょうか?
マスタ用DB、データ用(年度毎に…)
MSDEって2GB制限だから分けないと全部入らんし・・・
571NAME IS NULL:04/03/09 23:48 ID:???
>>570
テーブルがたくさんあるなら分けた方がいいんじゃないかな。
その方が分かりやすいし、管理もしやすいと思う。
572570:04/03/09 23:56 ID:0A5L6zta
>>571
ありがとう。
でも、少し前の方のレスで一つの方が良いって、書いてあるんでどうかなと。。。
1年で200MBほどなんで10年間は持つはずなんだが、それでは顧客が納得しない。
一生持て、と(w
コロコロDB切り替えても大丈夫でしょうか???
573NAME IS NULL:04/03/10 00:00 ID:???
じゃあ、SQL Server買え、と。
574NAME IS NULL:04/03/10 00:00 ID:???
>>572
マスタ用とデータ用という分け方なら分けた方がいいと思う。
そうでなくてデータ用を複数持つというならデータ量以外のそれ相応の理由が必要では。
575NAME IS NULL:04/03/10 00:20 ID:???
「平成○年度データ」みたいなテーブルを作って年度ごとにデータを分けるようにして
SQLでは「平成」+int数字でテーブルを指定。

あとあとよく考えたら元号変更に対応していなかった
っていうマヌケな事例を聞いたことがある。
……ガクガクブルブル
576NAME IS NULL:04/03/10 00:45 ID:???
>>570
データベースをまたぐトランザクションが出てくると面倒じゃないの?
バックアップ用にわけとくってのなら切り替えはちゃんと手でやったほうがいいね。
577NAME IS NULL:04/03/10 09:29 ID:RLNKss6u
SQLserver稼動中のサーバーのホスト名を変更したいのですがSQLserverにはどんな変更が必要でしょうか?
お教えください。よろしくお願いいたします。
578570:04/03/10 11:19 ID:x5Kuhrva
>>573-575
ありがとうございます。
予算がありませんのでSQL Serverやオラクルは駄目なんです。
DBは西暦年度別にする予定。
当方おっさんなもんで和暦嫌い。西暦も4桁取ってるしw

マスタ用とデータ用でDB分割した場合、マスタ−データ間のテーブル結合出来ませんよね?
何か良い手は御座いませんか?
579570:04/03/10 11:25 ID:x5Kuhrva
現状では、「稼動DB」(最新マスタ、使用中データ)と、
「xx年度DB」(年度末処理段階でのマスタ、年度末処理段階で完了したデータ)
で分割しようかと。「xx年度DB」はバックアップみたいなもんにして・・・
最新マスタ更新時や旧年度データを変更した場合の関連DB更新が大変そうですが…
580NAME IS NULL:04/03/10 11:32 ID:???
>>578
別DBでも結合できるんじゃね?
やってみれ。

関係ないけど、SQLServerやオラクルが買えないのはいいとして、MSDEでやると余計な工数かかるってのはいいのか?
オレならMSDEでやる場合の見積を高くするが。
581580:04/03/10 11:35 ID:???
>>579
やっぱりどう考えてもSQLServer導入したほうが安いよそれ。
MSDE対応するために何日かかるのか・・・
582570:04/03/10 13:18 ID:x5Kuhrva
>>580 ありがとうございます。
確かにSQL Server導入しても金額的に変わらない気がしてきました。
5CALで20万くらいだし。
でもその場合1DBにしたとしてバックアップなんかはどのようにされるのでしょうか?
肥大したDBはハードディスクにバックアップとるしか無いでしょうか?
(現状は、年度毎なんでMOかCDにと考えてますが)
処理速度はどうなんでしょう?レコード件数少ない方が早そうですが、
INDEXあるから関係ないでしょうか?
583NAME IS NULL:04/03/10 13:32 ID:???
SQLServerのデベロッパエディションって安いよね。
584580:04/03/10 13:46 ID:???
>>582
バックアップ先はリムーバブルな記憶装置でもOKではないでしょうか。
もしダメなら、一度HDDにバックアップしたファイルを、リムーバブルドライブに移動すればOKかと。
バックアップも、差分バックアップなら圧縮しなくてもMOで十分かもしれませんね。

>>583
誘惑しないw
585NAME IS NULL:04/03/10 20:35 ID:???
PostgreSQLでいいや
586NAME IS NULL:04/03/11 01:46 ID:???
普通バックアップはdatとか使わない?
587NAME IS NULL:04/03/11 07:10 ID:???
すいません、SQL Severの設定について教えて下さい、、、、、。
コントロールパネル→管理ツール→データソースODBC→
ユーザDSNタブでdBASE Files選択されている状態で追加
→データソースの新規作成→SQLSERVER選択されている状態で完了
→データソース名入力**** データソースの説明入力:::: サーバー名(local)
ラジオボタン:選択ネットワークへのログインIDで、WindowsNTの認証メカニズムを使う
→チェックボックス:SQLServerに接続して追加の構成オプションの規定設定を取得する
次のダイアログ 規定のデータベースを以下のものに変更する→自分でつける
ANSIのところはデフォルトでそのまま→次のダイアログ変更せずに完了
→テスト→失敗
環境はWinで2000professional LANは構築していません。
588NAME IS NULL:04/03/11 10:47 ID:???
教えてくださいと言ってる割には、質問が書かれてねーな。
589NAME IS NULL:04/03/11 15:35 ID:???
ODBCの接続テストでどういうメッセージが出てたのか書いてくれないと。
590570:04/03/11 15:48 ID:MzjjRq/s
>>580
ありがとうございます。
どのみち旧年のデータはどこかに避ける事になりそうだし…
ところで、日々入力されたデータの集計表を作成する場合、
1.集計表作成時に実データより集計
2.日々の入力処理時に、あらかじめ用意された集計用テーブルにデータを計上
どちらの方式が正しいのかな?

>>583
・・・安いよねw
591NAME IS NULL:04/03/11 16:12 ID:???
>>590
要求仕様やデータの性質によるからこれが正しいという答えは無い。

リアルタイムに集計表に反映されてならければならないなら後者。
前者ならSQLAgentで定期的に集計処理をして予め集計表を作っておく。

定期的な集計処理を数分おきにして似非リアルタイムにするというのもあり
592NAME IS NULL:04/03/11 21:48 ID:9opjoTop
>>583
Oracle のデベロッパーエディションは只ですが。
593NAME IS NULL:04/03/12 10:35 ID:LJGVGwgP
TCPのソケットバッファとかって皆さん変更したりしてますか?
インターネットで言うところの、上り用のチューニングにあたるやつです
Bフレッツだと上りが3M→20Mとかになりますが、LANでも効果でるんでしょうか?
594NAME IS NULL:04/03/13 10:39 ID:???
ADO.NETで、フィールドのタイプやサイズを所得したいのですが。
ADOのFieldsオブジェクトみたいなのは無いのでしょうか?
595NAME IS NULL:04/03/16 13:10 ID:???
>>594
DataColumn オブジェクトのメンバで取得できますよ。
596NAME IS NULL:04/03/16 20:03 ID:???
Windows Server 2003で運用してる方いますかー。
調子はどうですかー。
597NAME IS NULL:04/03/17 13:27 ID:???
>>596
自宅はSmall BusinessServer2003PremiumEditionで、もう1ヶ月以上
運用しているけど、特になんとも。(まあ、負荷が少ないせいか)
Celeron1.2GHz+メモリ512MBでやってて、WindowsServer2003+SQL2000
のときに比べExchangeServer2003が重い感じがしていたけど、
メモリ768MBにしたら少しよくなった。
会社のWindowsServer2003+SQL2000は、Xeon2.4GHz×2+メモリ2GBなんで
激速
598NAME IS NULL:04/03/18 10:48 ID:???
>>562
SQL Server 2000 Reporting Services ただ今、到着しました。
599NAME IS NULL:04/03/19 15:20 ID:???
>>597
事業所でも、もう2003でSQL2000を運用してるんですね。参考になりました。
600NAME IS NULL:04/03/20 02:41 ID:kAmg/FAQ
Transact-SQLの質問なんですが、下記の文でCASEを使ったところなんですが、
「CASEの近くがおかしい」みたいなエラーが出てしまいます。
引数datepartに入っている文字で場合分けしたいのですが。何がいけないんでしょうか。
ちなみにCASE文を全部コメントアウトするとエラーが出なくなります。

ALTER PROCEDURE GetAccessCounting
(@datepart nchar(1), @date datetime) AS

 DECLARE @begin_date datetime, @end_date datetime

 CASE @datepart
  WHEN 'y' THEN @begin_date = @date
 END
601NAME IS NULL:04/03/20 13:19 ID:???
CASEは式の中でないと使えない
普通の言語に慣れてると戸惑うところかもな
602NAME IS NULL:04/03/20 14:11 ID:???
もしマシンを悪意ある人間にいいようにいじられまくったとして、
DBのパスワードだけは(DB以外の場所からは)バレなかったとして、
DBのデータを勝手に読まれる危険ってのはどんなもんなんでしょう?

データファイルをバイナリエディタで読まれるといろいろ見えちゃうとか、
そういうことはないのでしょうか。
それに備えての暗号化とかあります?
603NAME IS NULL:04/03/20 14:50 ID:???
>598
Windows Server 2003+SQL Server 2000を、
597さんとほぼ同スペックの、Xeon 2.4GHz x2 + 2GB で使っているけど、
まだ本運用には入っていないけど、今のところ、問題なさげ。

>602
7.0 以降、SQL Server 認証のみにはできなくなったので、
サーバーに管理者権限でログインされたら、SQL Server にも管理者権限でログインしたことと同等です。
ですから、データ ファイルを暗号化したところで無意味でしょう。
(そもそも、暗号化は無理な気がするけど。)
ですから、ネットワーク的にも物理的にも、サーバーに簡単にアクセスできないように、努力するべきかと。
604NAME IS NULL:04/03/20 17:09 ID:kAmg/FAQ
>>601
なんと!よく例示されているSELECT文と一緒じゃないとだめなんですか…

てことは、引数による場合分けはIF文ですることになるのですか?
605NAME IS NULL:04/03/20 19:11 ID:???
>>604
ALTER PROCEDURE GetAccessCounting
(@datepart nchar(1), @date datetime) AS

DECLARE @begin_date datetime, @end_date datetime

SELECT @begin_date =
CASE @datepart
WHEN 'y' THEN @date
END
606NAME IS NULL:04/03/21 11:53 ID:C4S/2Jgh
1テーブルに1万件データの場合と、200万件データの場合の抽出処理を
比較すると、速度的にどう違いますか?200倍?
抽出項目は複数条件で、全てINDEXがあります。
抽出結果はどちらも500件程度です。
607NAME IS NULL:04/03/21 13:49 ID:???
>>606
クラスタ化インデックスだけでSELECTできるような
条件下なら大して変わらない
608606:04/03/21 22:05 ID:C4S/2Jgh
>>607ありがとうございます。
クラスタインデックス以外の複数条件抽出です。
かなり遅いですか?
それと、ネットワーク上のDBをVBアプリで操作しているのですが、
VBアプリ内で、クエリを発行し抽出するのとDBにVIEWを設定し
VIEWを取得するのとでは、どちらが早いのでしょうか?
609NAME IS NULL:04/03/21 22:27 ID:/qlJBYR+
>>605
どもです!かなり特殊(?)な使い方するんですねぇ…
精進いたします!
610NAME IS NULL:04/03/21 22:33 ID:4ixD5ho+
>>608
Where 条件が同じなら View も TBL 直も同じだと思う。
611NAME IS NULL:04/03/21 23:07 ID:???
>>609
>クラスタインデックス以外の複数条件抽出です。
>かなり遅いですか?

ケースバイケースだから答えようが無い

まずはクエリを書いてみて
遅ければ実行プランを見ながら地道にチューニング。


>>609
SQLでのCASEは関数だということが飲み込めれば問題ないかと
612606:04/03/22 00:09 ID:vFiAjQBl
>>610,>>611 有難う御座います。
クエリは、
SELECT A.*,B.xxx,C.xxx FROM (A LEFT JOIN B ON A.BCD=B.CD)
LEFT JOIN C ON A.CCD=C.CD
WHERE A.F=0 AND A.YEAR=2003 AND A.BCD=xx AND A.EF=0
ORDER BY A.CCD,A.PCODE
だったかな…
一致レコードは、A.Fは0,1,2でほぼ均等、A.YEARは年なんで現状は半分
A.BCDは1/20,A.EFは0,1で半分不明です。
A.Fの部分はTableに分割してもいいんですけど。一つずつしか見ないので。
613606:04/03/22 00:14 ID:vFiAjQBl
それと、上記のクエリだとテーブル結合してから抽出するのでしょうか?
それだと遅そうですよね。「抽出してから、抽出分に対して結合」って
どうするんでしょうか?
614NAME IS NULL:04/03/23 05:33 ID:???
シャレにならない顧客情報流出事件が多い昨今、
なるべくセキュリティは万全にしたいのですが、
IIS+ASP+SQLServerで、
Windows認証と混合認証ではどちらのほうがより安全なのでしょう?

IIS鯖とSQL鯖は別マシンに分けて、IIS鯖にLANカード2枚刺しでクロスケーブル接続。
混合認証なら、パスワードの入り接続文字列だけは仮想ディレクトリの外に
ファイルで記述して、接続時にFSOで読み込ませるつもりです。
これだとどっちの認証でもあんまり変わらないかな?
SQLインジェクション耐性を考えるとWindows認証のほうがいいのかな?
いや、ちゃんと完璧に値チェックやサニタイズできてればいいんだけど……
615NAME IS NULL:04/03/23 21:02 ID:???
>>614
Windows認証という考え方そのものに欠陥が含まれているように思えるので、
正直信用してない。
616NAME IS NULL:04/03/24 00:00 ID:???
SQL Server認証は使わないようにできるけど、Windows認証はOFFに
できないんだよなぁ。 裏ワザとか無いの?
617NAME IS NULL:04/03/24 00:27 ID:???
>>614
Fire wall で http 以外を閉じてりゃ大丈夫でしょ?
1434/udp が開いていて SQLSlammer ワームに遣られたサイトがDQNな
サイトが沢山あった分けだが。。。信じられん。
618NAME IS NULL:04/03/24 00:28 ID:???
日本語が変だ・・・鬱
619復旧:04/03/29 17:29 ID:???
619 :NAME IS NULL :04/03/25 23:41 ID:jXJOsqPf
すみません。トランザクション処理で、
トランザクション開始
A…主データ登録
B…集計アップデート
C…集計アップデート
トランザクション終了
とする場合、B処理中に何らかの異常によりアプリケーションが強制中断した場合
データベースはどうなるんでしょう?

1.トランザクション開始の状態に戻る。
2.Aまでの更新は反映
620復旧:04/03/29 17:30 ID:???
620 :NAME IS NULL :04/03/25 23:45 ID:???
>>619
1
621復旧:04/03/29 17:30 ID:???
621 :619 :04/03/26 00:26 ID:YzXxhl/5
>>620
1ですか。というよりCommitされるまでデータベースに反映されないって
ことでしょうか?
有難う御座います。
622復旧:04/03/29 17:31 ID:???
622 :NAME IS NULL :04/03/26 01:01 ID:???
そのためのトランザクション。
623復旧:04/03/29 17:32 ID:???
623 :NAME IS NULL :04/03/26 01:33 ID:???
>>616
BUILTIN\AdministratorsをSQLServer内から消してしまうのは駄目?
624名無し:04/03/30 01:43 ID:UHH7tib7
 Transact-SQLを整形してくれるツールか、マクロって
ないでしょうか?
 SQLならいくつかあったのですが、Transact-SQLの整形
ツールは検索してみたのですが、出てきませんでした。

 もしご存知の方、いらっしゃいましたら教えていただけると、
ありがたいです。
625NAME IS NULL:04/03/31 11:20 ID:nK08AMlh
質問です。教えてください。

データを TTP://〜〜.asp で表示させる際、アドレスなどをハイパーリンク機能させたいのですが
その場合、データ型はどのようにしておけばいいのでしょうか。
626NAME IS NULL:04/03/31 23:05 ID:???
>>625
リンクを作るのはASP側の仕事。
DBのデータ型が問題になるような話じゃない。
本日の朝、久しぶりに鯖の画面見たら、CドライブのDISKスペースが残り0バイト
になっていた。不要のファイルを消してから、そのままほうっておいたら、
お昼前に電話が鳴って、この鯖のWeb検索サイトがエラーメッセージがでて
使用できないと言われた。再び、鯖の画面見たら、CドライブのDISKスペースが
残り0バイトになっていた。
Cドライブのフォルダの中を片っ端から見たら、
C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\LogFiles
の中のログファイルの4月1日分が33MB(位い)のが沢山できていてこれだけで
6GB以上になっていた。このため、CドライブのDISKスペースが残り0バイト
になった。
とりあえず、Reporting Serviceを(サービスより)停止して、ログを全部消した。
これで、業務は動作するようになったが、他の仕事があり原因追求は手付かず。
Reporting Serviceアプリケーションをまだ作成して、配置していない鯖はOK。
(Reporting Serviceをインストールしただけのマシン)
試しに、アプリケーションを作成して鯖配置したマシンだけの障害。
628NAME IS NULL:04/04/02 09:36 ID:zKVMD3Op
トランザクション中はテーブル全体にロックがかかるんですか?
629627:04/04/02 12:33 ID:???
本日の朝、作成したファイルが保存(共有フォルダ)できなかった。
社内用鯖のCドライブのDISKスペースが残り0バイトになっていた。
今度は、C:\WINDOWS\system32\besnmp.TRC が、5,932,790KBとなってDISKを
使い果たしていた。こちらの鯖はReporting Serviceをインストールしただけ
なのだが。とりあえずこちらもReporting Serviceを止めた。
630NAME IS NULL:04/04/02 13:15 ID:???
>>628
かかりません。
トランザクション内で、テーブル内の殆どのレコードを対象とする処理を行うか、
TABLOCK ヒントを用いないと、テーブルロックにはならないと思いますよ。
631NAME IS NULL:04/04/07 20:18 ID:ItX9MY9J
VBからSQL Serverを使用して、DBのバックアップを行っているのですが
DBを削除して再作成すると前のDBのバックアップが戻せません。
なぜでしょうか?
削除したDBと新規に作成したDBの構造はまったく同じなんですが…
(両方ともVBから同一ルーチンで作成)
632NAME IS NULL:04/04/07 21:07 ID:???
>>631
意味不明
633NAME IS NULL:04/04/07 21:20 ID:???
>>631
 復元の際に選択出来るオプションの問題だと思うが。
634NAME IS NULL:04/04/08 14:11 ID:GMR9kcP/
>>631
既存のデータベース上に強制的に上書きにチェックをつける
635NAME IS NULL:04/04/09 00:54 ID:???
何をどう操作してどんなエラーメッセージが出たかも書かずに答えられるかボケ
636NAME IS NULL:04/04/12 14:31 ID:???
hi,

I am getting this error message everytime I try to open a table in
Enterprise Manager.
Selecting all rows or top rows from Enterprise Manager gives me the
following error:

Unknown Error 8007007F

I am able to run the query under Query Analyzer without any problems.
I tried to reinstall the MDAC 2.7 and reinstall SQL 2000 client tools and
SQL sp3.
Still the error appears when using Enterprise Manager to open a table.

Can you give me some advices!!!

thanks a bunch.
637NAME IS NULL:04/04/12 15:49 ID:???
someone?
638NAME IS NULL:04/04/12 17:48 ID:???
hey guys ok?
639NAME IS NULL:04/04/13 14:39 ID:???
>636
テーブル・クエリのDLLファイルを再構築すれば直るんじゃないかな。
640NAME IS NULL:04/04/13 15:10 ID:???
>>636
Do you remember Perl Harbor?
641NAME IS NULL:04/04/15 10:26 ID:rU4Z4aNp
現在利用中のノートPC(大量にあります)に、SQLServer 2000 PersonalとSP3aをインストールしなくてはいけなくなりました。
SQLServer本体とSP3aを両方インストールしていると時間がかかりすぎるので困っています。
WindowsXPや2000の様に、SP3a適用済みSQLServerというのは作れないものでしょうか?

お助けねがいます。。。
642NAME IS NULL:04/04/15 19:45 ID:???
>>641
いろんなとこで同じ質問を目にしますけど、結論としては「できるかもしんないけど、やらないほうがいい」
って感じです。

地道にマイクロソフトに要求メールを出しましょう。
643NAME IS NULL:04/04/16 16:27 ID:c3mJKx2M
MSDEの 再配布というのは、
.netpassport で登録すればそれだけでOKでいいのでしょうか?

ソフトウェア業なのですが、
お客様が無償DBとのご要望で MSDEを検討しているのですが、
お客様のほうでMSDEを準備していただくのではなくて、
(OFFICEとか、ダウンロードしてもらうのではなく)
納品物の一式の中に、MSDEを含めてしまうというのが
ライセンス的に問題がないかどうかが知りたいのです。
644NAME IS NULL:04/04/16 17:49 ID:???
マイクソに聞け
645NAME IS NULL:04/04/16 19:13 ID:???
>>643 分かったら私にも教えてくだちぃ
646NAME IS NULL:04/04/16 22:55 ID:Z9CZ+7Qb
>>643
>お客様が無償DBとのご要望で MSDEを検討しているのですが、

そ う い う お 客 様 は 相 手 に し な い 方 が 良 い と 思 い ま す。
647NAME IS NULL:04/04/17 00:39 ID:lVULYhRJ
SQLServerが使用するポートを指定しているにもかかわらず、リンクサーバ機能を使っているときに
勝手に8000番台以上のハイポートで通信してしまいます。
何が原因でしょうか?
648643:04/04/17 00:50 ID:KCHf8+OO
下請けなので ヒーヒー言ってます。だれかたすけてー
649NAME IS NULL:04/04/17 01:59 ID:???
しょうがねぇな。
そんなんだからいつまでたっても下請なんだよ
ttp://www.microsoft.com/japan/sql/evaluation/msdeuse.asp
650643:04/04/17 07:45 ID:KCHf8+OO
>>649
こっちのほうが、新しい情報ですよね。


http://www.microsoft.com/japan/sql/msde/

http://www.microsoft.com/japan/sql/msde/howtobuy/msdeuse.asp

また、実際 ソフトウェア業で、お客様にMSDEやFireBird 
を使っていただくというのは 一般的ではないのでしょうか?

そのあたりの一般的な認識というのはどうなのかも
当方、よくわかりません。
SQLserverや、Oracleでも使っていただいたほうが
「つくる」側からすれば、楽なのは分かるような気もするのですが・・・
651NAME IS NULL:04/04/17 08:36 ID:???
>>643
そんな条件を出す客がいるんですかぁ
もういっその事ね、割をうわあなにをするヵsjd;lf
652NAME IS NULL:04/04/17 10:52 ID:???
>>650
 MSDEとSQL Serverだと、開発に関しては全く変わらないけど、
お客様に使って頂く場合は・・・

 Enterprise Managerが無いので、管理が面倒
  → わざわざ管理ツールを作って一緒に配布する会社もあるけどね

 基本的にDesktop Engineなので、同時多数アクセスの際に性能低下が
起きると言われている(同時 10接続までの制限あったかな?)

 でも、同時使用数が10人程度なら、Jet Databaseを使うより圧倒的に
良いので、MSDEを採用するケースはあると思うのよね。
 その規模でSQL Serverを買って頂くのは金額的に辛いものが。

 要は、想定される規模に見合うかどうかだよな・・・
653NAME IS NULL:04/04/17 11:19 ID:???
>>650
>また、実際 ソフトウェア業で、お客様にMSDEやFireBird 
>を使っていただくというのは 一般的ではないのでしょうか?

安いパッケージソフトは別にして

 ン 百 万 の カ ス タ ム ソ フ ト で は あ り え な い。
654NAME IS NULL:04/04/17 12:14 ID:???
運用局面に入ってから

え?保守契約?無理だよ今更。
だって君、○円で出来るって言ったじゃないか。
とにかく君がそう言ったんだから最後まで面倒見てよね。

って言われたりして・・・
655NAME IS NULL:04/04/17 12:39 ID:???
15万円のデータベースが高いと言う客には
吊るしのパッケージソフトでも勧めておけ。

しかし、そんな安いソフトでも延々と無償で面倒を見させられる罠。
656NAME IS NULL:04/04/17 12:44 ID:???
>>650
そんな客は稀。
Windows環境では、Oracle >>>>> SQL Server >>>>>>>>>>>>>>> その他のDB でつ。
オラクル神話は今も健在。
657NAME IS NULL:04/04/17 17:50 ID:???
>656は価格の事さ!!キニスンナ!!
658NAME IS NULL:04/04/17 23:03 ID:ylFEzNMs
商用DBも買えないような貧乏な客は相手にすんなって事だ。
659NAME IS NULL:04/04/19 11:32 ID:???
いいですね。
そんな強気な発言をしてみたいよ。
660NAME IS NULL:04/04/22 10:11 ID:???
すま、ちょい質問
spあたってるかどうかって、どこで見たらええん?
661NAME IS NULL:04/04/22 11:26 ID:???
>>660
クエリアナライザや osql.exe とかで "SELECT @@VERSION" を実行。
sp3a と累積パッチが当たっていたら、バージョンが "8.00.818" になります。
662NAME IS NULL:04/04/22 11:42 ID:???
あと、Enterprise Manager で、インスタンスのプロパティででも見れるか。
663NAME IS NULL:04/04/22 13:24 ID:???
RDO+SQLServer2000の組み合わせだとSELECTの発行でもたつくみたいですけど、
やっぱり駄目なんでしょうか?ADOがいいですかね?
664NAME IS NULL:04/04/22 14:32 ID:+gxtK8Z4
>>663
ちなみに、SQLServer6.5からSQLServer2000へのアップグレードです。
665NAME IS NULL:04/04/22 17:27 ID:CH33zHuv
image型にgif画像を突っ込むのと、
画像は別にファイルとして保存してDBにはパス情報だけつっこむのと
どっちが一般的なんだろう。。
これから検証するんだけど、あなたのご意見きぼんぬ。
666NAME IS NULL:04/04/22 18:12 ID:???
パス
667NAME IS NULL:04/04/22 18:35 ID:???
前者
668NAME IS NULL:04/04/22 22:42 ID:???
>>663
それ何処かがおかしいんだと思う。
SQL Server 2000対応のODBCドライバ使ってます?
669NAME IS NULL:04/04/23 19:32 ID:???
>>665
パス
670NAME IS NULL:04/04/23 19:37 ID:???
パスはあと1回までだよ。
671NAME IS NULL:04/04/23 22:01 ID:???
>>665
セキュリティを言うとパス情報だと駄目でしょ。
672NAME IS NULL:04/04/24 05:27 ID:YPqhVjvN
フォルダのパスは別管理しておいて
テーブルにはファイル名だけを入れておく方法で管理している。

保存場所が変わってもフォルダのパスを変更するだけで良いので楽。
673NAME IS NULL:04/04/24 09:13 ID:???
>>665
Base64でテキストにエンコードしたあと
シーケンス番号を付けて各行を普通に
Insertしているぞ。ちょっとサイズが
増えるけど。
674NAME IS NULL:04/04/24 10:55 ID:JhRt9cKT
すんまそん、ちょっと質問。

SELECT ぬるぽ,[ガッ] FROM ますた

こんな風に、大カッコがついたりつかなかったりするSQLを見せられたんですが、一体どんな意味があるんでしょか?

そもそも、項目名を[]で括るのってどんな効果あるんでしたっけ?
675NAME IS NULL:04/04/24 11:14 ID:???
項目名の先頭が数字だったりする場合、囲まないとエラーになるんじゃなかったっけ。
676NAME IS NULL:04/04/24 11:18 ID:???
>>674
 空白入りのフィールド名とか、漢字(日本語)を使った
フィールド名を使った場合に誤判定されない。
 「omae mona]と言う名称でフィールドを作った場合、
「omae mona」と書くと、エラーになるが、「[omae mona]」
と書くと一つの列名として認識する。
 日本語文字を使用した場合も、中に含まれるコード
の関係で問題が出る可能性を減らせる。

 しかしな、そんなフィールド名を使うのはどうかと思う。
677NAME IS NULL:04/04/24 11:50 ID:ooeVpwwi
SQL Server2000からMySQLにリンクサーバーを張っているんですが、
あまりにも遅くて使い物になっていません。
(直に接続した際の数百倍くらい遅い)
なんとか、高速化する方法は無いものでしょうか。

ちなみに、OLE DB ODBCでリンク接続しております。
パフォーマンスチューニング等は特に行っておりません。
(設定はほぼデフォルトのまま)

アドバイスよろしくお願いします。
678NAME IS NULL:04/04/24 19:11 ID:04EyqBcZ
SQLServerでは皆さん日々何を監視されていますか?
オラクルでは、エクステントの数や断片化、行移行などを
バッチで毎日ログに取っていました。
SQLServerではどの個所を見るべきなのでしょうか?
679NAME IS NULL:04/04/24 22:39 ID:???
>>660
>>661ですでに答えられているけど、
select @@VERSION AS SQLServerVersion, SERVERPROPERTY('ProductLevel') AS SQLServerServicePack;

で、当たっているSPの番号までわかる。
ただし、MSSQLServer7.0では使えない。
680NAME IS NULL:04/04/24 23:08 ID:???
>>673
何故にそんなややこしいことを?
681NAME IS NULL:04/04/25 11:57 ID:???
>>678
SQLServerはデフォの設定のままで何もしなくても
それなりに動く。
682674:04/04/25 18:14 ID:???
>>676
へー、そうなんですか。
文字コード問題ってホントあちこちに潜んでますねえ。
いっそ漢字禁止にすればいいのに。
旧い地球人な所為か、変数やらラベルやらに漢字あると違和感ありまくり。
683NAME IS NULL:04/04/25 21:03 ID:SjeoKHua
>>681
ほんと?
684NAME IS NULL:04/04/26 23:37 ID:???
>>683
ホント!
685NAME IS NULL:04/04/26 23:38 ID:???
てゆうかDBをチューニングする前にプログラムロジックやインデックスを最適化汁。
686NAME IS NULL:04/04/29 17:21 ID:TzSibLtB
SQL2Kなのですが、DBのバックアップについてお聞きします。
DBの管理が初めてなのでかなりあせっています。

ハード構成
 IDE HDD×2 ミラー 50GB
 ストレージ 1GのMO

このようなハードを使用しているのです。
バックアップはどのように行えばよいでしょうか?
データ的には1日に500KB程度ずつ大きくなっていきます。

おねがいします。
687NAME IS NULL:04/04/29 19:41 ID:???
どのようなバックアップを行いたいかによって決まる。
BooksOnlineの「バックアップと復元の計画の立案」を熟読すべし。
688NAME IS NULL:04/04/29 20:45 ID:9Jz5Uf2G
>687
了解です。
じゅくどくします。
689AgFree:04/04/30 20:40 ID:xhSnAPYe
>>1

>PostgreSQL 本体は無料だけどCygwinにライセンス料が必要

Cygwinのライセンス料は、Cygwinのライブラリをリンクする製品を
作って、それをGPLを継承したくない場合にかかる。
Cygwin上で、フリーのDBを動かして、商利用する分の問題はない。

もし、それが、「問題ある」とするなら、GPLのLinuxで
動作するプログラムは、すべて商利用できない
(あるいはオープンライセンスにしなければならない)ことになる。

古いことだが、ちょっと、「おや?」と思ったので。
690AgFree:04/04/30 21:12 ID:xhSnAPYe
>>689

すんまそん
場所間違いですた
691NAME IS NULL:04/05/01 02:13 ID:1tahXioS
SQLServer2000のDeveloperEditionを買いたいのですけど、
大阪近辺で店頭で売っているところってどこかありますか?
692NAME IS NULL:04/05/01 13:29 ID:???
SQLSERVERのJDBC(TYPE4)でトランザクションが
かけれないのですが(いやがらせ?)例外になるのですが
MSはわざとしてるの?
693YahooBB218179096029.bbtec.net:04/05/02 10:34 ID:???
テスト
694NAME IS NULL:04/05/03 20:59 ID:???
ほかのDBからデータをインポートしたのですが、改行コードが違うため、
SQL Serverにあわせて変更したいのですが、どうしたらいいのか分かりません。

インポートしたデータの改行コードが chr(11) だということは分かったので、
とりあえずクエリアナライザで
update tbl set fld = replace(fld, chr(11), chr(13))
とやってみたのですが、chr は有効な関数名じゃないと言われました。

次に、Accessでプロジェクトファイルを作り、レコードセットから1件ずつ
取り出し、置換、アップデートという方法を考えているのですが、
なんかものすごい大げさな事をやっているような気がします。

何か一発で改行コードを変更する方法はないでしょうか。
695NAME IS NULL:04/05/03 22:15 ID:???
>>694
Transact SQLにある関数を確認しようねぇ〜。
基本だが、DBMS毎に独自のSQL文法があるし、
関数も全てが共通ではない。

「文字列関数」で探してみれ。
696694:04/05/03 23:40 ID:???
>>695
分かりました!「CHAR」 ですね。明日早速試してみます。

Books Onlineもずっと探していたのですが、探し方が悪かったみたいです。
っていうか、CHAR も見かけてはいたんですが、型の宣言だと思ってスルーしてました(鬱)。

とにかく、ありがとうございました!
697NAME IS NULL:04/05/04 00:23 ID:???
データインポートウイザードで元データの改行コード指定できたような気が。
698sage:04/05/04 15:32 ID:jL+LFRPA
すいません!質問です!
間違ってLDFファイルを削除してしまいました!
MDFファイルは残っていますが、復旧は不可能でしょうか?

699NAME IS NULL:04/05/06 18:18 ID:DO2nPoNd
SQL Server7.0の頃のMSDEはOLAPやフルテキストが使えなかったようですが、
MSDE2000では使えるようになってるのかな?
700NAME IS NULL:04/05/07 15:27 ID:Z887sKP5
SQL Server 2000です。

pcd, name, ccd をフィールドとするテーブル TABLE_A があります。
pcd は Primary KEY.

@param_pcd, @root_cd をパラメータとして与え、

select * TABLE_A WHERE pcd = @param_pcd

として得られた結果の ccd を @param_pcd に与えて
処理するレコードがなくなるまで、再帰処理を行ないたいと考えて
います。途中のレコードの ccd に @root_cd と同一のデータが
存在した場合は、そこで中断したい。

スドアドプロシジャーでこのような再帰を行なう事はできますでしょうか?
アドバイス頂けると幸いです。
701NAME IS NULL:04/05/10 15:41 ID:S0Y8K7Nl
複数のインスタンスっていうのは、それぞれにsaのパスワードを設定できるんですよね?

あるPCにMSDEインストールしようとしたら、先に別のMSDEがインストールされていて、
それのsaのパスワードも分からないので、仕方無くインスタンス名を指定たもう一つMSDEをインストールして、
osqlで操作しようと"osql -U sa -P パスワード -S マシン名\インスタンス名"と指定したんだけど、
SQL Serverが存在しないと言われてしまう・・・
702NAME IS NULL:04/05/10 21:26 ID:???
>>701
osql -L でちゃんと見えてまつか?
703NAME IS NULL:04/05/11 02:01 ID:KP2p/8XJ
今、msdeのみが入っているサーバがあります。(ACCESSやDeveloperは無い)
osqlでログインして、テーブル"infoMachine"の列"m_code"をNOT NULLにしたいのですが、
どう書けばよいのか分かりません。

ALTER TABLE infoMachine
ADD NOT NULL(m_code)
↑PRIMARY KEYの時はこんな感じで変更できたからやってみたけどダメ

どうすれば良いのでしょうか?
704NAME IS NULL:04/05/11 03:08 ID:???
>>700
ストアドプロシージャのネストは32まで。
それ以上再帰が深くなりそうな場合には使えない。

>>701
別インスタンスにするとMSSQLServerサービスも別になるけど
アクセスしたいほうのインスタンスのサービスは起動してるか?
705NAME IS NULL:04/05/11 13:57 ID:qzOCmaWe
SQL内でVB6の on error resume next みたいなのってナイのでしょうか。

というのは、VB.NET(ADO.NET)+SQLServer2000を使ってるんですが、
クエリアナライザみたく、SQL文にエラーがあっても、
次の GO までをどんどん実行(エラーを無視する)させたいのです。

または、呼び出し側(VB.NETのSqlClient.SqlCommand.ExecuteNonQueryとか)で
制御すればいいのでしょうか(その場合、スレ違い失礼です)。

すみませんが、よろしくお願いします。
706NAME IS NULL:04/05/11 20:16 ID:???
IF @@ERROR <> 0 GOTO どこか
じゃだめ?
707NAME IS NULL:04/05/14 16:54 ID:UhnHAn5T
Enterprise Manger にて
新規作成したユーザー定義データ型の型やサイズを変更するには
どのようにやればよいのでしょうか?

708NAME IS NULL:04/05/15 11:44 ID:???
>>707
削除して再作成
709NAME IS NULL:04/05/15 18:49 ID:???
>>703
ALTER TABLE [Table] ALTER COLUMN [COLUMN] [NEWTYPE] NOT NULL
710703:04/05/17 23:03 ID:7NBGPS0P
>>709
ありがとうございます!
ものすごい助かりました
711NAME IS NULL:04/05/18 00:46 ID:sp+q8rJa
SQLServerでMySQLやMDBのようにDBファイルをコピーしておけば
削除してもコピー分を元の位置に置いとけば勝手に元に戻るとかは
できますか?

それができると個人用のデータベースにも使えるかなと。
712NAME IS NULL:04/05/18 01:23 ID:???
>>711
元に戻ると思いますか?
調べた結果をご報告お願いします。
713NAME IS NULL:04/05/18 09:51 ID:???
>>711
できたら究極のレプリケーションだな

トランザクションログでぐぐれ
714NAME IS NULL:04/05/18 13:49 ID:???
サービスを止めて、MDFファイルとLDFファイルをバックアップするだけのように思うけど。
そういう要件なら、トランザクションログを切り捨てちゃった方がいいかも。
715NAME IS NULL:04/05/18 21:00 ID:???
>>711
sp_detach_db
sp_attach_db
あたりでどう?
716711:04/05/18 22:08 ID:SuvWK2on
>>713,715
サンキュー。そのうちヤッテみます。
717NAME IS NULL:04/05/18 23:47 ID:???
>>716
どうせやるきないんだろ。
718NAME IS NULL:04/05/19 15:39 ID:wcmQiiVX
t-sqlで教えてください。
とあるフィールドの値がスペースで区切ってある場合
個別に値をとりだしたいのです。

select substr(姓名, 1, 4) as 姓, substr(姓名, 6, 9) as 名 as hoge;

といった感じです。
よろしくお願いします。
719NAME IS NULL:04/05/19 15:40 ID:???
×select substr(姓名, 1, 4) as 姓, substr(姓名, 6, 9) as 名 as hoge;

○select substr(姓名, 1, 4) as 姓, substr(姓名, 6, 9) as 名 from hoge;

720NAME IS NULL:04/05/19 15:52 ID:???
そのままsubstring使えば済むって話でなくて?
区切りのスペースの位置も見つけたいならcharindexで。
721NAME IS NULL:04/05/19 15:58 ID:???
>>720
charindexですね?
やってみます。ありがとうございました。
722NAME IS NULL:04/05/19 16:14 ID:???
逆に連結したい場合はどのようにすればよいでしょうか?

select (姓 + 名) as 姓名 from hoge;

のようにやりたいのですが?
723NAME IS NULL:04/05/19 16:19 ID:???
もしかして何も試さずに質問だけしてる?
724NAME IS NULL:04/05/19 16:24 ID:???
>>723
それが答えですね。ありがとうございます。
725NAME IS NULL:04/05/19 18:44 ID:vlWmNLpE
すみません。教えてください。

1 ABCD
2 BCDE
3 CDEF
....
....

のようなデータがあったとして、CDという文字列をXYに一括で置換したいのです。
1 ABXY
2 BXYE
3 XYEF
....
....

UPDATEなどの単純な命令で可能でしょうか?
726NAME IS NULL:04/05/19 21:38 ID:???
REPLACE
727NAME IS NULL:04/05/20 09:19 ID:???
教えてください。

とあるカラムhogeに'0120-9999-9999'とある場合
select get(hoge,1) as col1, get(hoge,2) as col2 get(hoge,3) as col3
from hoge;

のように"-"で分割して取り出したいのですが可能ですか?
728725:04/05/20 09:46 ID:???
>>726
サンクス! REPLACEなんて関数があるのですね。
ありがとうございました!m(_ _)m
729NAME IS NULL:04/05/20 10:12 ID:0fiheupH
SQL Server 2000 Enterprise EditionをWindows XP Professionalにインストールしたいのですが,
このOSをサポートしているのはクライアントツールのみですのような表示が出て,
クライアントツールのインストールしか選択できなくなるのですが,何か間違ってるんでしょうか・・・
宜しくお願いします.
730NAME IS NULL:04/05/20 10:20 ID:???
>>729
http://www.microsoft.com/japan/sql/evaluation/sysreqs/2000/default.mspx
対応OS以外にはインストールできないのは当然だろ。
731NAME IS NULL:04/05/20 10:27 ID:0fiheupH
>>730
最新のOSに入らないものだとは夢にも思わなかったもので・・・
MSの人がノートでデモしてみせたシステムの動作環境にSQL Serverがあったもので・・・
当然動くものかと思ってました.
リンク先を見ると,Developerエディションが入ってたのかもしれませんね.
732NAME IS NULL:04/05/20 11:38 ID:???
最新のかどうかじゃなくて、Server用途のOSしか駄目っつーことだべ。
733NAME IS NULL:04/05/20 21:16 ID:TIYI1gd3
質問です。
壊れたmdfファイルの中身を見れるツールはありますか?

未確認になっててもうアタッチも出来ません。

宜しくお願いします。
死にそうです・・・
734NAME IS NULL:04/05/21 12:09 ID:???
>>733
>未確認になっててもうアタッチも出来ません。
どんなエラーが返ってくるの?
もしかしてペアになっているldfファイルがないとか。
735NAME IS NULL:04/05/22 09:56 ID:/wpulMMq
Enterprise Manageでアタッチすると
こんなエラーが出ます。

+
エラー 3624:
Location: page,cpp:2610
Expression     spaceNeed <= spaceConfig && spaceNeeded <= space_usable
SPID:         51
ProcessID      496
+

データベースが壊れているみたいです。

完璧戻せなくてもいいです。
壊れていない部分だけでも見せて・・・
。・゚・(ノД`)・゚・。
オシエテ カミサマ・・・
736NAME IS NULL:04/05/22 23:20 ID:???
>>735
この情報だけではちょっとわからないですね。MLの過去レスをみてもなかったですし。
MSのサポートに聞いたほうがいいと思います。
737NAME IS NULL:04/05/23 00:28 ID:???
>>735
外付けHDDにDBがあるのに、その外付けHDDの電源を
入れないまま本体の電源を入れたりした?
738NAME IS NULL:04/05/23 03:00 ID:???
質問なんですが・・・

SELECTで集計関数使うとき、WHERE条件に合う行が無かったら、
NULL行が返ってきますよね。
これを全部のフィールドがNULLだったら行を返さないように
したいんですが。
739NAME IS NULL:04/05/23 14:28 ID:???
>>738
having
740NAME IS NULL:04/05/24 00:42 ID:79+dFvzW
テーブルにカラムが2つa,b(主キー)があったとして
ストアドプロシージャで
select * from ~table where a = '1'
とかの検索結果が複数件あったとして
その結果の中のbの最大値1件のみを
ストアドプロシージャの結果とするには
どうしたらよいのでしょうか?
741NAME IS NULL:04/05/24 03:56 ID:???
bでOrderしてTop1
742NAME IS NULL:04/05/24 11:15 ID:lxU3Fa+r
SQL Server7.0 Access2000を使用してシステムを組んでいます。(OSはWin2K)

SQL Server上にビュー表を作成し、
ACCESS2000のadpでそのビュー表をソースにしたメンテナンス画面を作っているのですが、
adp上からビュー表を開き、データを触ろうとすると、

「レコードセットをしようするには、フォームが更新可能である必要があります」

というメッセージが出てしまい、更新できません。
ちなみに、SQL Serverのエンタープライズマネージャーを使ってビュー表を開くと、
データを触る(更新)ことができます。
ログを見た所、adoとかDAOとか、そこらの問題であるような気もするんですが、
ハッキリした事が分かりません。
こういった現象をご存知の方、ご教授願えればと思います。

ちなみに、主キーは全テーブルに設定してあります。
743NAME IS NULL:04/05/24 11:59 ID:9uBxfpIK
SQLServer2000 Windows2000Serverを使用しています。
VB6で作成したプログラム(ADO->ODBC)でSELECTした結果をループして
ファイルに書き出す処理をしていますが、ループ処理中にINDEXの再構築
を行なうと以下のエラーになります。
[Microsoft][ODBC SQL Server Driver][SQL Server]カーソルが宣言された後にテーブル スキーマが変更されたので、カーソル操作を完了できませんでした。

以前は問題なかったのですが・・・
エラーが出なかった時から変更したことといえば、対象テーブルにDELETEトリガーを追加したことくらいです。

何か考えられる原因がございましたらご教授ください。
744NAME IS NULL:04/05/24 17:22 ID:???
INSERT @HogeTab
EXECUTE sp_ExecuteSQL (@sSQL)

というようにEXECUTEの結果を@HogeTabに挿入したいのですが
「テーブル変数に挿入しているときは、ソースとしてEXECUTEは使用できません。」
とエラーになってしまいます。
何かインサートする方法はないでしょうか?
745NAME IS NULL:04/05/24 20:03 ID:qNi05IWU
>>736
>>737
ありがとう御座います。

HDDは外付けではありませんでした。

そのハードの調子が良くなくて
データベースが何か処理をしている時に
固まったようなイメージかと・・・

ご指摘通りMSに聞いてみます。

ありがとう御座いました。

ちなみにデータは全て打ち直しました。
エヘッ!
(´・ω・`)
746NAME IS NULL:04/05/24 22:26 ID:SsTF9g8N
ReportingService使ってる人居ますか?
サーバにVisualStudio.NET入れなきゃダメなんですか?
747NAME IS NULL:04/05/24 23:06 ID:KQ7gvVVG
教えてください。

^←この記号は、T-SQLでは、どういう意味でしょうか?
748NAME IS NULL:04/05/25 10:14 ID:???
ストアドをEXECした結果セットをFETCHするt-sqlを教えてくださいまし。
749NAME IS NULL:04/05/26 00:46 ID:???
>>746
入れなきゃだめだった気がする
750NAME IS NULL:04/05/26 10:37 ID:TitU1Wf2
上のほうでも少し話題になってますが、SQL Server7.0で任意の桁で銀行型丸めを
行うように実装するには結局どのように実装すればいいのでしょう?

case文で場合わけしての実装になりそうな気はするのですがよく分からなくて・・・
任意の桁が困難であれば、とにかく整数に出来ればいいです。上述のように
1.5→2
2.5→2
3.5→4
4.5→4
としたいです。
751NAME IS NULL:04/05/26 10:40 ID:R5UtS5BL
>>750
-2.3
-2.5
は?
752NAME IS NULL:04/05/26 10:54 ID:???
ゴメソ、打ちミス
-1.5→
-2.5→
は?
>>750のパターン(切り捨て、切り上げ)
を素直に用いると、
-1.5→-1 (-1.5より大きい整数の最小値)
-2.5→-3 (-2.5より小さい整数の最大値)
となる。
753NAME IS NULL:04/05/26 15:00 ID:???
小数部が0.5以外 → 単にROUND
小数部が0.5
整数部が奇数 → 切り上げ
整数部が偶数 → 切り捨て
754750:04/05/26 16:31 ID:TitU1Wf2
みなさんレスありがとうございます。
>>753 小数部と整数部の取得はどうやったらいいんでしょう?
一度文字列にして、小数点の左側と右側で取得して、数値に戻す
というやり方ですか?
それか一発でやれる関数とかありますか?
755NAME IS NULL:04/05/26 16:45 ID:???
CASTでintにすると、整数部が取り出せる。
元の価からそれ引けば小数部。
756NAME IS NULL:04/05/28 01:56 ID:???
>>747
LIKEの説明読め
757NAME IS NULL:04/05/28 14:13 ID:???
select文で文字列の最後についている全角スペースを除去するには
どうしたらよいでしょうか?
半角スペースですたRTRIMでよいのですが全角スペースが
どうしたらよいかわかりません。よろしくお願いします。
758NAME IS NULL:04/05/28 15:50 ID:???
ベタだけど、Replaceで半角にした後RTRIM
759NAME IS NULL:04/05/28 16:36 ID:???
>>758
それですと途中にある全角スペースまで消えてしまいますね。
760NAME IS NULL:04/05/28 16:44 ID:???
消えはしないだろ。半角スペースになるだけで
761NAME IS NULL:04/05/28 17:04 ID:???
ただ、データ的にはちょっと困るかも。
762NAME IS NULL:04/05/28 17:28 ID:???
消えないですね
でもまずいです
763NAME IS NULL:04/05/28 19:52 ID:???
半角になったスペースを全角に変換すれば?
764NAME IS NULL:04/05/28 20:35 ID:???
もともと半角だったのが全角になるだろ。
765NAME IS NULL:04/05/28 20:37 ID:???
>>763
なるほど!
何か使わない文字にいったん変換してTRIMすればよいのか
神!
766NAME IS NULL:04/05/28 22:54 ID:???
>>765
「何か使わない文字」は、TRIMで消えないけどいいのかな。
767NAME IS NULL:04/05/28 22:56 ID:???
>>766
ほんとだ。やっぱりダメじゃん
768NAME IS NULL:04/05/29 01:36 ID:???
>>757
select left(colA, len(replace(colA,' ',' ')))
769NAME IS NULL:04/05/29 11:25 ID:???
>>768
これはすごい。
頭良すぎ。
770NAME IS NULL:04/05/29 14:08 ID:???
いや… MSSQLのlen()の仕様はよくしらんが
VBと同じだとしたら、それはダメなんじゃないか?
771NAME IS NULL:04/05/29 14:23 ID:???
1.全角スペースを半角スペースに変換する。(replace)
2.右端の半角スペースを全て削除する。(trim)
3.半角スペースを全角スペースに変換する。(replace)

select replace(rtrim(replace(colA, ' ', ' ')), ' ', ' ') from hogehoge
772NAME IS NULL:04/05/29 15:10 ID:???
>>770
LEN
指定された文字列式の、後続する空白を除いた文字数を返します。バイト数ではありません。
(SQL Server Books Onlineより)
773NAME IS NULL:04/05/29 15:13 ID:???
>>771
そうすると元々あった半角スペースが全角スペースに変わる。
'a b'が'a b'になる。
774NAME IS NULL:04/05/29 16:47 ID:???
colAでは絶対に使わない文字を♪として、半角スペースを♪に置き換え、後で戻す。

select replace(replace(rtrim(replace(replace(rtrim(colA), ' ', '♪'), ' ', ' ')), ' ', ' '), '♪', ' ')
775694:04/05/29 18:23 ID:???
最後が全角スペースだったら長さ-1文字を返す。
SELECT CASE WHEN RIGHT(colA,1) = (' ') THEN LEFT(colA,LEN(colA)-1) ELSE colA END FROM hogehoge
776NAME IS NULL:04/05/30 18:19 ID:???
>>775
最後2文字が全角スペースだったら?
777NAME IS NULL:04/05/30 19:26 ID:???
自分で言うのも何だが、>>768で決まりだと思う。
半角スペースと全角スペースが混在していても削除できるし。
778NAME IS NULL:04/06/04 09:22 ID:???
779NAME IS NULL:04/06/05 21:53 ID:/NvzgXj/
SQL*plusみたいに
>col column_name for a30
とかいうカラムサイズを簡単に変えられるコマンドないの?
780NAME IS NULL:04/06/08 08:24 ID:???
WITH (NOLOCK)
ってなんですか?
781NAME IS NULL:04/06/08 12:04 ID:???
WITHOUT LOCK
782NAME IS NULL:04/06/09 03:04 ID:???
>>780
BooksOnlineでNOLOCKを調べれ
783NAME IS NULL:04/06/10 10:32 ID:gEDLuQ52
くだらない質問で申し訳ないのですが、プロシージャ内の変数の展開で聞きたいことがあります。
当方MSDE 2000を使用しています。

alter procedure sp_CreateTmp(
@table_name nvarchar(50)
)as
declare @tmp_table_name nvarchar(80)

set @tmp_table_name = @table_name + HOST_NAME()

create table ##@tmp_table_name (
a int not null primary key,
b nvarchar(10) not null
)

上記のようなストアドプロシージャを作成したいのですが、
これをtempdbのsysobjectsで確認すると、
一時テーブル名がそのまま'##@tmp_table_name'となってしまいます。

setの行を
set @tmp_table_name = '##' + @table_name + HOST_NAME()
にしても'「@tmp_table_name' の近くに無効な構文があります」と怒られ、
(##は接頭子であり、テーブル名ではない、ということでしょうか)
create table ##[@tmp_table_name]
こんなことやってみたり
create table ## + @tmp_table_name
こんなことやってみたりしたのですがどれもエラーとなってしまいます。

どうすればよいのでしょうか。ご教示お願いします。
784NAME IS NULL:04/06/10 11:33 ID:???
テーブル名は変数じゃ指定できないんじゃないのか?
動的にSQL文作ってEXEC
785783:04/06/10 11:48 ID:???
なるほど、そういうことでしたか。
ありがとうございました。
786NAME IS NULL:04/06/10 12:29 ID:???
OracleのDESCに当たるものは何ですか?
787NAME IS NULL:04/06/10 16:42 ID:???
もっといい方法があるのならスマソだが、syscolumnsとsysobjectsを
使えばいいんでは無いだろうか。
788NAME IS NULL:04/06/10 21:04 ID:???
(´-`).。oO一瞬だけORDER BY … DESC だと思ってしまった。
789NAME IS NULL:04/06/10 23:34 ID:7MeCOMSq
皆がよく使うDBCCコマンドは何?
790NAME IS NULL:04/06/11 01:22 ID:???
showcontig
updateusage
checkdb
dbreindex
791NAME IS NULL:04/06/13 20:49 ID:SZI/iiZk
SQL serverからOracleへのSQLコード変換の仕事していたら、
3つのテーブルの最小値を取得するために
@a int
@b int
@c int
SELECT top 1 @a = a1 from t1 order by a1
SELECT top 1 @b = b1 from t1 order by b1
SELECT top 1 @c = c1 from t1 order by c1
SELECT @a, @b,@c
という、幼稚なSQL文があり、思わず笑ってしまいました。
これって、
SELECT top 1 a1 as R1 from t1 order by a1
UNION SELECT top 1 b1 as R1 from t1 order by b1
UNION SELECT top 1 c1 as R1 from t1 order by c1
で書いて、VB側で行数文、まわせばOKなのに。
SQL serverで最初にSQLを学んだ方って、こんなにレベル低いのは
ごく一部か?
792NAME IS NULL:04/06/13 21:35 ID:SZI/iiZk
あと、
1.SELECT TOP1 a1 from t1 oderber by a1
で最小値を求めているので
2.SELECT Min(a1) as a1 from t1 oderber by a1
MySQL,Oracle,DB2では2.の方が実行速度速いので
2.に修正してくださいとお願いしたら、
2.より1.の方が実行速度が速し、MS系では、
これを推奨していると、豪語しているのですが
本当なのですか?
793NAME IS NULL:04/06/13 21:39 ID:SZI/iiZk
792ですが、コピペを間違えました。
2.SELECT Min(a1) as a1 from t1 と修正しておきます。
794NAME IS NULL:04/06/13 21:40 ID:???
そんな内輪ネタを一般論として披露されても。
795NAME IS NULL:04/06/13 22:01 ID:???
SQLプロファイラで実行速度を比較して突きつければ?
796NAME IS NULL:04/06/14 02:23 ID:???
>>791-793はそのうちプロジェクトから追放されるに1票
797NAME IS NULL:04/06/14 13:25 ID:UFEjJPyg
日付型のフィールドの検索をLIKEを使用して、

select * from TEST_DB
where
日付型フィールド like '%convert(datetime,2004/02)%'

というSQL文で実行しましたが、
必要なデータが取得できませんでした。

日付型フィールドのデータはLIKEを使用しての検索は
出来ないのでしょうか?

798NAME IS NULL:04/06/14 13:51 ID:???
> 必要なデータが取得できませんでした。
そりゃそうだ。日付フィールドに 'convert〜' なんてものは入ってないだろ
ある年月のデータを取り出したいなら、LIKEなんか使うより素直に
YEAR,MONTH使えばいいと思うが、いかがなものか
799NAME IS NULL:04/06/14 14:23 ID:UFEjJPyg
プログラムの設計上、極力LIKEを使いたいのですよ。

select * from TEST_DB
where
日付型フィールド like '%2004%'

なら、うまく行くんですが、

select * from TEST_DB
where
日付型フィールド like '%2004/02%'

だと、だめなんですよね。

YEAR,MONTHで試してみます。
800NAME IS NULL:04/06/14 15:13 ID:???
んじゃ、
WHERE CONVERT(〜,日付型フィールド,望みの書式) LIKE '%2004/02%'
とか。
801NAME IS NULL:04/06/14 15:21 ID:UFEjJPyg
このまま実行したら、構文エラーになってしまいました。
"〜"には、なにが入るのですか?
802NAME IS NULL:04/06/14 16:02 ID:???
ヘルプ嫁
803NAME IS NULL:04/06/14 16:07 ID:???
藻前は797にあげた文を書いたときにCONVERTについて調べなかったのか?
804NAME IS NULL:04/06/14 16:20 ID:UFEjJPyg
失礼しました。
しかし、必要なデータは取得できませんでした。
無理っぽいので、プログラムで制御するようにします。
805NAME IS NULL:04/06/14 17:24 ID:???
( ´_ゝ`)フーン
806NAME IS NULL:04/06/14 17:38 ID:iQeeg+UC
すいません、ちょっと教えてください。
MySQLにて文字列を大文字・小文字区別なしに検索したい場合は
どのようにすればよいのでしょうか?
807NAME IS NULL:04/06/14 18:13 ID:???
スレタイも読めない人は放置して次の質問ドゾー
808NAME IS NULL:04/06/14 19:12 ID:???
>>804
あんたには無理っぽいが、一般には無理ではないぞ。
809NAME IS NULL:04/06/14 21:51 ID:vKQjEhzN
ORDER BY ASC,ORDER BY DESC,MAXと比較したら、
やっぱりMAX関数が速かった。
810to:sage:04/06/14 21:55 ID:vKQjEhzN
>>805 意味不明
811806:04/06/14 22:02 ID:iQeeg+UC
あ。。すいませんでした。
812NAME IS NULL:04/06/14 22:09 ID:???
どうしてもlikeを使うなら
select * from TEST_DB
where
CONVERT(CHAR(10),日付型フィールド,111) like '2004/02%'

111の意味はヘルプ読め。

俺ならこう書くが。
select * from TEST_DB
where
日付型フィールド >= '2004/02/01' and 日付型フィールド < '2004/03/01'
813NAME IS NULL:04/06/14 22:44 ID:???
「二月末」を簡単に表す方法はありますか?
814NAME IS NULL:04/06/14 23:06 ID:???
>>813
翌月頭の前日と考えればうるう年でも大丈夫。
dateadd(d,-1,dateadd(m,1,'2004/2/1'))
815NAME IS NULL:04/06/14 23:29 ID:???
>>814
素直に3月1日の前日のほうがいいと思う。
わざわざ2月1日に1ヶ月足さなくても。
816NAME IS NULL:04/06/15 00:30 ID:???
>>815
固定ならその通りだけどパラメータ渡しの事も考えてたのでね。
817NAME IS NULL:04/06/15 08:03 ID:???
783で質問させて頂いたものですが、再度質問させてください。

>>783のように
set @tmp_table_name = @table_name + HOST_NAME()

のように作成した一時テーブルをADPフォームから更新できるようにしたいのです。
そこで、
http://216.239.57.104/search?q=cache:Ox5McgGFo-IJ:www.horikawa.ne.jp/cgi-bin/showlog.cgi%3Fkd%3D2%26no%3D328+%E4%B8%80%E6%99%82%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%82%92%E6%9B%B4%E6%96%B0&hl=ja&lr=lang_ja&inlang=ja
の問題(tempdb内の権限の問題)にぶち当たってしまったのですが、
このようにユニークっぽく作ってしまったテーブルでも
guestにALL権限を与えるにはどのようにすれば良いでしょうか?
tempdb内全てのテーブルにALL権限を与えてあげる、みたいな方法が有ればよいのですが、
それもできそうにないので困ってしまいました。
どなた様かご教示お願いします。
818NAME IS NULL:04/06/15 23:49 ID:???
>>817
グローバル一時テーブルにこだわらないで
普通に普段使っているDB上にテーブル作るのじゃ駄目なのか?
hostnameをカラムとして持てば
ホスト別にテーブルを分ける必要もないと思うのだけど。
819NAME IS NULL:04/06/16 22:27 ID:Ky2FO1ZC
WebサーバにReporting Servicesをインストールしました。
DBサーバに接続し、レポートを表示させようと思いましたが
DBの接続で失敗してしまいます。
イベントビューアを見ると
イベントID:107
ソース:Report Server
というのがあります。

1台のサーバにWeb、DBサーバを構築すれば
このような接続エラーは出ないのですが、、、
Reporting Servicesを使っている人は
どのような環境で構築されているのでしょうか?
教えてください。
820りゃりゅーぅ:04/06/16 22:47 ID:???
ますあ
821NAME IS NULL:04/06/17 00:44 ID:???
>>819
接続の設定を詳しく書けば
822817:04/06/17 09:49 ID:???
>>818
ありがとうございます。ご教示頂いた方法でうまくいきました。
助かりました。
823NAME IS NULL:04/06/21 22:46 ID:???
基本的な質問ですが、
近々SQL Serverのプロセッサライセンスを購入しようと思ってますが、
XeonやPen4のHTをONにした場合でもライセンスは1つで良いのでしょうか。
それとも論理プロセッサ基準で2個いるのでしょうか。
MSやIntelのサイトでも確認できなかったもので。
824NAME IS NULL:04/06/21 23:35 ID:???
>>823
ライセンスは一つでよい。
http://www.microsoft.com/japan/licensing/brief/server.asp#li02
ここのPDFに書いてあるよん。
825823:04/06/22 10:53 ID:???
>>824
ありがとうございました。
826NAME IS NULL:04/06/22 19:19 ID:2W3M33uc
 NT4.0+SQLServer7.0で稼動中のシステムがあります。
 販売管理、在庫管理業務のアプリケーションが稼動しています。
 業務的にはそこそこクリティカル性が高いにもかかわらず、現状は耐障害性の考慮が全くありません。
 データ保全面では1日1DATにDBのバックアップを取っているのみ。
 ハード面ではRAIDすら組んでいません。
 稼動してから約4年経っていますが、今までハード絡みのトラブルが無かったのが奇跡かもしれません。

 で、今回OS・DBのバージョンアップとセットで、その辺を充実させたいと。
 ハード障害発生後3時間以内の復旧というのが大まかな目安と考えています。
 予算はどう頑張っても100万以下。
 この条件で考えられる最適な構成って何でしょう?
827NAME IS NULL:04/06/22 19:22 ID:???
 ハードも含めた総合的な提案というのが初めてなので途方にくれています。
 短いスパンでトランザクションログをバックアップしておいて、障害発生時は安い予備機に
バックアップを元に復旧、みたいな事も可能なんでしょうか。
 というか、そもそも世間一般ではこういう時どんな構成を取るのでしょうか?
 クラスタリング構成はあきらかに予算オーバーっぽですよね。

828NAME IS NULL:04/06/23 00:11 ID:???
>>826
Server OS、DBMS、DAT装置、RAIDを考えると、
100万であればエントリークラスのサーバーに
ならざるを得ませんね。
DELLあたりでBTOで構成を組むのが良いのでは?
最近は、IBMあたりも安いですよ。
また、テープ装置は意外と値が張るので、USB2.0の外付けHDD
をバックアップメディアにする手もあります。速度も速いし。
829NAME IS NULL:04/06/23 23:00 ID:???
テープ装置自体はそんなに高くないね
やっぱテープが高いよDLT
830NAME IS NULL:04/06/24 16:24 ID:3lPvNtKT
初歩的な質問なのですがオラクルに接続(8i)の方法がわかりません
どなたか教えてください。
831NAME IS NULL:04/06/24 17:06 ID:???
?
832NAME IS NULL:04/06/24 17:18 ID:???
初歩の段階にいるくせに質問するときに手を抜くやつはチンカス人生確定だな
833NAME IS NULL:04/06/24 22:12 ID:???
>>830
まずはBooks OnlineでDTSあるいはリンクサーバーの項目を
よく読むべし。
その上で質問すれば荒れたレスはつかないと思うが。
834NAME IS NULL:04/06/25 01:46 ID:???
つーか、スレ違いじゃないのか
835NAME IS NULL:04/06/25 06:05 ID:???
>>830
マルチしたほうの内容で書けばスレ違いと思われることもなかろうに。
過疎板なんだからレスが付くまで一晩待て。
836NAME IS NULL:04/06/26 01:00 ID:???
>>827
中小企業でSQL Serverを使った小規模のクラサバシステムを構築していた者です。
自分で体験したハード障害はCPU、HDD、RAIDコントローラの故障なんかが
あります。これらに対応しようとすると、実質2台分のサーバ機を用意する必要が
あると思います。

用意する2台は予算などにもよりますが、同等のものを2台用意するか、予備機の
方はメインの修理中の間だけしかDBサーバとしては使わないので、少しメインより
スペックを落としてレスポンスが落ちることを我慢するか。
うちのお客さんの場合には、クライアント側のうち1台だけほかのクライアントより
CPU,メモリ、HDDを強化したものを納品して、いざというときにはそれをサーバの
代わりにするという話になっていました。
837836:04/06/26 01:04 ID:???
>短いスパンでトランザクションログをバックアップしておいて、障害発生時は安い予備機に
>バックアップを元に復旧、みたいな事も可能なんでしょうか。
これは可能でしょう。バックアップは1日1回フルバックアップをとり、それ以外に一定時間ごとに
トランザクションログを取得。
リカバリ時には、最初にフルバックアップのデータをリストアし、その後トランザクションログを
かけあわせていけばよかったと思います。
838836:04/06/26 01:54 ID:???
最近この手の仕事をしてないので練習がてら考えてみた。
ハードはDELLがベース。SQL Serverの値段は検索で引っかかった
適当なサイトの数値。

【DBMS】 \288,473
・SQL Server 2000 Standard Edition (10CAL)

【メイン機】 \458,943
PowerEdge 700 SATA ベーシック構成
・CPU インテル(R)Pentium(R)4プロセッサ 3.20GHz /1MB L2キャッシュ
・メモリ 1GB (2x512MB) PC3200 DDR400 SDRAM ECC
・HDD CFI Hotspare HDD3台:2台でミラーリング、1台でHotspare
シリアルATA 120GB HDD(7200rpm) 3台
・SCSI Adaptec39160
・内蔵 テープ バックアップ PV100T DAT72 (36GB/72GB)
・48xIDE CD-ROM
・15インチTFT液晶モニタ
・UPS APC Smart-UPS 700J (グレイ)PowerChute Business Edition付属
・OS Microsoft(R) Windows Server(TM) 2003 Standard Edition (5CALs)
・シルバー]標準保守サービス 1年目 当日4時間(6営業日9-17時)、
2-3年目翌営業日対応オンサイト、3年間パーツ保証


【予備機】 \234,943
PowerEdge 700 SATA ベーシック構成
・CPU インテル(R)Pentium(R)4プロセッサ 2.80GHz /1MB L2キャッシュ
・メモリ 1GB (2x512MB) PC3200 DDR400 SDRAM ECC
・HDD 非RAID構成 オンボード シリアルATA接続
シリアルATA 120GB HDD(7200rpm) 1台
・48xIDE CD-ROM
・バックアップ装置 無し
・15インチTFT液晶モニタ
・OS Microsoft(R) Windows Server(TM) 2003 Standard Edition (5CALs)
・シルバー]標準保守サービス 1年目 当日4時間(6営業日9-17時)、
2-3年目翌営業日対応オンサイト、3年間パーツ保証

しめて」税抜きで \982,359

メイン機のメモリは2GBにしたいところだが、価格の都合がつかず断念。
OS、DBMSのCALは必要数がわからないので適当に設定。
839NAME IS NULL:04/06/27 00:17 ID:???
Windows NT 4.0 + SQL Server 6.5 を使っているのですが、

SELECT * FROM hogeDB WHERE hiduke = '2004-06-23'
だと何も出力されません。

SELECT * FROM hogeDB WHERE hiduke >= '2004-06-23' and hiduke < '2004-06-24'
で、希望通りの動作が出来るのですが、どこが間違っているのでしょうか。
840NAME IS NULL:04/06/27 00:53 ID:???
それだと
WHERE hiduke = '2004-06-23 00:00:00'
と等価になるんじゃないか?
841827:04/06/27 11:34 ID:???
>836-838
おぉぉ実体験と具体的な例ありがとうございます。(感涙)
いざという時はクライアントをサーバ代わりにというのは目から鱗です。
今は色々なメーカーのサイトを巡ってハードの事を勉強中です。
オンサイト保守の対応時間一つとってもメーカーごとに多種多様で迷います。
OSもWindows2003SBSってのもあるやうですね。
迷いまする。

>839
希望道理の動作とのことですが、hidukeが2004-06-24 00:00:01ならヒットしなく
なるかと思いますがOKですか?
842839:04/06/27 13:23 ID:???
>840
>841
ありがとうございます。
2004-06-23 00:00:00 から 2004-06-23 23:59:99
までを取り出したいのです。
2004-06-24 00:00:00 が含まれても構わないです。
もっと簡潔に記述できませんかね。
843NAME IS NULL:04/06/27 15:03 ID:???
WHERE format(hiduke, 'yyyy-mm-dd')='2004-06-23'
844NAME IS NULL:04/06/27 15:24 ID:???
>>843 はインデックスが使われなくなるからお勧めしない

2004-06-24 00:00:00 が含まれてもいいのならbetweenを使えばちょっとだけマシになる
845NAME IS NULL:04/06/27 15:34 ID:???
>>839
SELECT *
FROM hogeDB
WHERE (CONVERT(varchar(10), hiduke, 111) = '2004-06-23')

で、どうなる?「111」の意味とか詳しくはCONVERTでヘルプを検索。

と、ここまで書いて気づいた。こちらのSQL Serverのバージョンが2000だったわ。
6.5ではこの関数(引数)が正しいのかどうか手元にないのでわからない。
もしダメだったらスマソ。
846NAME IS NULL:04/06/27 15:44 ID:???
エンタープライズマネージャで直にデータを入れるとエラーがでない?
直には入れるなということ?
アクセスからインポートがいいのか?
847NAME IS NULL:04/06/27 18:17 ID:MFx1qAGr
DBCC文って沢山ありますが
毎日監視すべきDBCC文って何でしょうか?
848NAME IS NULL:04/06/28 19:57 ID:???
selectの結果が複数あるかどうか、ない場合はその1レコードの値
みたいな感じで取得する方法ありますか?
ちょっと意味わかりにくいですけど。
849NAME IS NULL:04/06/28 20:00 ID:???
うん。わかりにくいってか、わからない。
COUNTでレコード数取得じゃだめなん?
850NAME IS NULL:04/06/28 20:20 ID:???
>>848
複数ある場合は何を取得したいのだ? 0件の場合は?
851848:04/06/28 20:26 ID:???
レコード数取得だけだと、1件だった時にその内容を取得できないですよね。

具体的に言うと、画面にその項目の表示欄があり、1レコードだけの場合は普通に表示、
複数レコードHITした場合は”複数あり”と表示したいんです。

0件は構造上ありえないので無視でいいです。
852848:04/06/28 20:38 ID:???
もう少し説明すると、
GROUP BY を使ってSELECTします
GROUP BYで指定しない列のAAAという項目の件数は
COUNT(DISTINCT AAA)として取得できますよね?

これの結果が1と返ってくるような時に、
その項目の値そのものを取る方法はありませんか?
という事です。

わかる方いたら教えてください。
853NAME IS NULL:04/06/28 20:43 ID:???
クライアント側で制御すればすむって話じゃないのか?
854848:04/06/28 20:50 ID:???
上は無能なのでもう仕様変更できませぬ
855850:04/06/28 21:42 ID:???
>>848
>上は無能なのでもう仕様変更できませぬ

なんか泣けてくるな。そんなことまで口出しされるのか。
気の毒なので考えてみた。0件は考慮外。

SELECT Col1
      ,CASE Cnt
          WHEN 1 THEN Col2
          ELSE '複数あり'
      END
FROM (SELECT Col1
           ,COUNT(DISTINCT Col2) AS Cnt
           ,MIN(Col2) AS Col2
     FROM Tbl1
     GROUP BY Col1) AS T1
856NAME IS NULL:04/06/29 10:40 ID:???
>>855
うおっ!?
できた!できますた!

助かりました。昨日1日悩んで色々調べてもわからなかったので。。。
こんな方法があるんですね。
勉強になりました。

どうもありがとうございました。
857NAME IS NULL:04/06/30 22:34 ID:Dq/58wp5
SQLServerでコールドバックアップは
どのようにしてやればよいのでしょうか?

SQLServerを停止して
データファイルをストレージなどに
保存すればよいのでしょうか?

リストア方法は、データファイルを
元の場所にコピーすれば良いのでしょうか?

ご教授願います。
858NAME IS NULL:04/07/01 09:22 ID:???
>857
データファイルをストレージなどに保存すればよいのでしょうか?→×
リストア方法は、データファイルを元の場所にコピーすれば良いのでしょうか?→×

BooksOnlineで「バックアップ」を嫁。
859NAME IS NULL:04/07/01 12:25 ID:???
>>857
SQLServerを停止してデータファイルをストレージなどに保存すればよいのでしょうか?
->ログファイルも一緒にバックアップしないと駄目。

リストア方法は、データファイルを元の場所にコピーすれば良いのでしょうか?
->ええ、それでOK
860NAME IS NULL:04/07/01 21:51 ID:I71sF5zy
ストアドプロシージャとユーザ定義関数は
どのシステムテーブルに格納されているのでしょうか?
861NAME IS NULL:04/07/01 22:16 ID:???
>>860
sysobjects
862NAME IS NULL:04/07/01 23:01 ID:???
>>860
>リストア方法は、データファイルを元の場所にコピーすれば良いのでしょうか?
>->ええ、それでOK

DBが存在しない状態からリストアするときは
CREATE DATABASE (中略) FOR ATTACH しないと駄目。

ところでコールドバックアップしなければならない状況ってどんなの?
バックアップ中にデータ更新されたくないのなら
ALTER DATABASE で RESTRICTED_USER にすればいいと思うのだけど。
863NAME IS NULL:04/07/03 10:19 ID:ugQL0hQR
ログ配布の勉強をしたいのですが
1台のマシンでログ配布って可能でしょうか?
864NAME IS NULL:04/07/03 12:26 ID:???
>>863
名前つきインスタンスで1台のマシンに
SQLServerを複数インストールすればいいんじゃない?
865NAME IS NULL:04/07/03 22:19 ID:ugQL0hQR
DTSでデータをセットした場合も
トランザクションログに記録されるのでしょうか?
866NAME IS NULL:04/07/03 22:19 ID:ugQL0hQR
>>864
ありがとうございます。
そのやり方で1台に複数のデータベースを構築してみます。
867NAME IS NULL:04/07/03 23:36 ID:ugQL0hQR
>>865
記録されることを確認出来ました。。。
868NAME IS NULL:04/07/04 00:09 ID:???
masterデータベースが更新されるときって
どんな場合なんですか?
869NAME IS NULL:04/07/04 14:52 ID:???
master dbにあるテーブルが更新されるとき。
870NAME IS NULL:04/07/04 22:33 ID:???
master dbにあるテーブルが更新されるときって
どんな場合なんですか?
871NAME IS NULL:04/07/05 12:20 ID:???
masterデータベースが更新されるときって
どんな場合なんですか?
872NAME IS NULL:04/07/05 15:17 ID:???
つまんないのでやめませんか?
873NAME IS NULL:04/07/05 17:57 ID:???
master dbのバックアップって
必要なんですか?
874NAME IS NULL:04/07/05 19:32 ID:???
masterに格納されている内容を調べれば、必要かどうかわかりますよ。
875NAME IS NULL:04/07/06 01:51 ID:jQqWUtHu
SQLServerが入っているサーバとは別のサーバに
テープデバイスがあるんだけど、そのテープに
ファイルが作成されるように、BACKUP DATABASEコマンド
って実行できる?
876NAME IS NULL:04/07/06 19:58 ID:yRVkVt1Y
Transect-SQlについて質問させてください。
環境: MSDE2000+ADP(Access2000 + ADO)

プログラムで使用するための結果セットを受け取るストアドプロシージャを
作成しています。
いくつかの処理によって、このような結果セットができあがっているとして、

テーブル: t_tmp

m_code | s_day      | sm_code
───────────────
40      2004-07-05  147
40      2004-07-05  148
40      2004-07-05  144
8       2004-07-02  79
8       2004-07-03  80
8       2004-07-03  81

プログラムから配列処理できるように

m_code | s_day      | sm_code
───────────────
40      2004-07-05  147;148;144
8       2004-07-02  79
8       2004-07-03  80;81

のように、m_codeとs_dayをグループ化したものに、
sm_codeを、その内容を';'区切りにしたデータとした結果セットを
SELECTするようにしたいのですが、どうすればこのような結果セットに
できるのでしょうか?

もしくは、このような場合は上側の結果セットを受け取り、クライアント側で
処理すべきなのでしょうか?

宜しくお願い致します。
877NAME IS NULL:04/07/06 22:20 ID:???
>876
プログラムでやった方が制御しやすいと思うが。
878876:04/07/06 23:11 ID:???
>>877
やはりそうですか。

ありがとうございました。
879NAME IS NULL:04/07/07 01:12 ID:y0Sl8CNw
ログインユーザーを作成し、SQLServer認証にしました。
データベースアクセスにチェックを入れると
パスワードの確認を求められる。
パスワードを入れても違うって言われてしまう。
何故?
880NAME IS NULL:04/07/08 19:39 ID:???
SQL サーバーってイイ!ですネ!
ちょっと使ってみたらすぐに
虜になってしまった。
もう手放せません。
881NAME IS NULL:04/07/08 21:43 ID:UHY4o+5y
osqlを使用してSQLの結果をファイルに出力しているのですが
出力ファイルの上の行と下の方の行に

1>2>3>4>
-------------------

みたいなのが入ってしまいます。
これって消せないのでしょうか??




882NAME IS NULL:04/07/08 22:17 ID:???
DTSを実行してデータをコピーしようとしたら
「一括コピーが実行できませんでした。」
というエラーが発生します。
オブジェクトはテーブルで、権限やインデックスなどは
対象外にしております。
解決方法を知っている人がいましたら教えてください。
883名無しさん@そうだ選挙に行こう:04/07/11 13:46 ID:R7hMEKwd
DBCC CHECKTABLEコマンドは
どのように使われていますか?
データの整合性とかをチェック出来るようですが
整合性が取れてないとどのように表示されるのですか?
>>882
型変換やnullの扱いでこけてるんじゃないの?
885882:04/07/11 23:38 ID:R7hMEKwd
>>884
DTSでオブジェクトを作成してデータを追加してるのですが
このエラーが出ます、、、
なのでテーブル構成などは同じため、型変換やnullでエラーになるとは
思えないのですが・・・
886NAME IS NULL:04/07/11 23:42 ID:???
BACKUP LOGコマンドを実行後
トランザクションログの切り捨てをやっても
問題無いのですか?
887NAME IS NULL:04/07/12 22:18 ID:???
なんかハンドルリークが起きてるっぽいんだが、これは短時間の接続を
やめるしかないのか?
888NAME IS NULL:04/07/14 10:19 ID:???
2005のMSDEのBeta2がリリースされたようだが、人柱きぼんぬ♥
889NAME IS NULL:04/07/15 22:42 ID:???
>>885
dtsrunを使ったらもっと詳しいエラーメッセージが出てきたりしない?
今のままじゃ情報が少なすぎて何もわからんよ。

>>886
BACKUP LOGをやったらログの切捨てをする意味ないんじゃないの?
890NAME IS NULL:04/07/15 22:54 ID:nTkCbiEM
>>886
BACKUP LOGを実行するとログは自動的に切り捨てられますよ。
891NAME IS NULL:04/07/16 00:52 ID:228Fz8Km
これを広めるだけでアトピーが治る。
Kさん 好循環  Aさん 悪循環   <日本>
 (健康体)  (喘息)

1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K 変化なし    A 行動力、五感(嗅覚)が鈍り感性が変化する。

4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。
5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間   A 異常な人間(レッテル)
8.K&A 死  9.K&A      来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。
11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない  A 喘息である
13.K&A    1.に戻る
これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
絶対に直す方法:
よく海外に行ってアトピーが治る話を聞くが、その場所場所に霊界が存在するので
海外に行くとほとんどの場合体力をつけると治る。 日本の中であっても、体力をつ
けると治るはずだが、 様々な理由により、日本の霊界の存在がばれてしまい、 この失態が明
るみになるので、治さないようにしている。よって、絶対にアトピーを治すには、 海外
に行き体力をつける。
http://life.2ch.net/test/read.cgi/atopi/1035703616/l50を参照
892NAME IS NULL:04/07/16 13:31 ID:PQbpoalf
XMLファイルがあり、SQL Server 2000にインポートしようと思っています。
・・・が、やり方がわかりません。
Access 2003からSQL ServerをリンクしてImportXML(ファイル名)ってするのもどうかと思って・・・
[Enterprise Manager]や[データのインポートとエクスポート]からやれないものでしょうか?
環境はWin2k ServerとSQL 2k Developerで、XMLファイルはVB.netの.writeXmlで出力したものです。
893NAME IS NULL:04/07/16 20:30 ID:???
>>892
FOR XMLは使えないの?
894NAME IS NULL:04/07/17 00:13 ID:ALdlMyfT
すいません、素人です。皆様、教えてください。

今、ストアドプロシージャにdeleteのSQL文を書いているのですが、
どうもエラー208というのが出て上手くいきません。

色々と調べたのですが、sysobjectsというのが関係してそうです。
これについて詳しい方、教えていただけませんか?
895NAME IS NULL:04/07/17 00:30 ID:???
エラー 208
重大度レベル 16
メッセージ
オブジェクト名 ''%1!'' は無効です。

要するに指定したテーブルが見つからないって言われるんだが。
カレントデータベースが違ってたりしないか?
896NAME IS NULL:04/07/17 10:54 ID:p3AJIBAL
質問

10秒以上とかの重い処理をすると
「時間切れになりました。」のエラーがでて
止まってしまうんですが、タイムアウトの時間設定って
どこでするかわかりますか?
EnterpriseManagerでサクっと設定できるものなんですか?
897NAME IS NULL:04/07/17 17:07 ID:???
ADOならQueryTimeoutダロ
898NAME IS NULL:04/07/17 19:01 ID:???
データベースの勉強用に買いたいのですが
個人で買うにはかなり高いですねえ
みなさんやはり職場のCDからパクってるんですか?
899NAME IS NULL:04/07/17 19:07 ID:???
バカか?
勉強するならMSDEでいいだろ
900NAME IS NULL:04/07/17 19:26 ID:???
>>898
899の言うようにMSDEでもいい気はするが、こんなものもあるよ。

「SQL Server 2000 120日間限定評価版 Release A」
ttp://www.microsoft.com/japan/sql/evaluation/trial/2000/
書籍に添付されていることもある。

ちなみに自分自身ではOffice XP Developer付属のを使ってるが。
901NAME IS NULL:04/07/17 20:22 ID:???
>>898
俺割れSQL Server使ってるけどこれは許せんな
902NAME IS NULL:04/07/17 20:41 ID:Iqxr+fPq
DBCC CHECKTABLEでデータの整合性の不正を
検出するみたいですが、整合性の不正ってどんな状態ですか?
そんな状態になったりするのですか?
903NAME IS NULL:04/07/17 20:57 ID:???
>898
Developer Edition は如何でしょう?
904898:04/07/17 21:08 ID:???
うわああっ
さっき通販で20万のスタンダード版注文しちゃいましたよ
仕事でなかなかスキル上がらなくて焦ってて…
カード決済終わってるからキャンセルできないかも
書き込み見てからにすればよかった・゚・(ノД`)・゚・
905NAME IS NULL:04/07/17 23:00 ID:???
ああ20まんもあれば
あんなことや
こんなことや
やべ、電話かかってきた。。。
906NAME IS NULL:04/07/18 00:24 ID:60zoO0M5
>>895

有難う御座います。

ところで、次のようなSQL文を書いているんですが、
そこでエラー208が出ます。

sysobjectsってどこにあるテーブルなのですか?

if exists (select * from sysobjects where id = object_id('dbo.log_delete1') and sysstat & 0xf = 4)
drop procedure dbo.log_delete1
GO
以下省略

907NAME IS NULL:04/07/18 00:35 ID:Lsnupz7j
MSDEでAccessをフロントエンドとして使うという手法やってみてるんですが、
表示できるだけで、デザインビューにすることも、内容を編集する事もできません。

なんで?
908NAME IS NULL:04/07/18 01:08 ID:???
>>906
sysobjectsテーブルはmasterデータベースにあります。

Enterprise Managerを使ってストアドプロシージャの削除のSQLを生成させてみたら
下のようなやつになった。

if exists (select * from dbo.sysobjects where id = object_id(N'dbo.log_delete1 ')
and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure dbo.log_delete1
GO
909NAME IS NULL:04/07/18 02:04 ID:???
>>908
sysobjectsは全てのデータベースにある。
別にmasterだけじゃない。
910NAME IS NULL:04/07/18 02:11 ID:8cJAbu7U
>>898は釣りか?
デベロッパ版のSQLサーバーなら9000円で買えるぞ
911NAME IS NULL:04/07/18 03:30 ID:???
>>910
それで開発して、納品はMSDEって蟻?
912908:04/07/18 08:41 ID:???
>>909
どうも、今確認してみたけどたしかに各データベースにありました。
・・・今までmasterで一元管理してると思い込んでた。
913NAME IS NULL:04/07/18 13:33 ID:???
>>911
まあ、それも蟻じゃない?
ところで、客のところで問題が起きたときはクエリアナライザもEnterpriseManagerもない環境でどうするつもりだ?
(osql使いまくれれば無問題だが)。
914NAME IS NULL:04/07/18 14:50 ID:???
>>902
>整合性の不正ってどんな状態ですか?

インデックスがとんでもないページを指してたりとか色々。
SQLServerのバグで起こることもあれば、
ハードウェアの異常で起こることもある。
915NAME IS NULL:04/07/18 19:17 ID:???
>>907

どうなった?
916NAME IS NULL:04/07/18 20:11 ID:Mx4CXRqG
>>914
>インデックスがとんでもないページを指してたりとか色々。
これによってどんな障害が発生するのですか?
この状態のテーブルをCHECKTABLEすると
どのような結果が返るのですか?
今までCHECKTABLEをやっても
ページ数と行数しか表示されないので、どういった結果が
表示されるのか知りたいです。
917NAME IS NULL:04/07/18 20:49 ID:???
918NAME IS NULL:04/07/19 00:00 ID:???
>>915
naorimasita
919627 SQL Server Reporting Service:04/07/19 13:57 ID:???
>>627 Reporting ServiceをインストールしたらHDDがパンクした件
決算期にかかっていたためReporting Serviceを止めておいただけで
何も手が付けられなかったが、Reporting ServiceのSP1がリリース
されたんでインストールし、1週間たったが今のところ異常なし。
もしかしてSP1がこんな早く出たのはこのため?
920NAME IS NULL:04/07/19 15:45 ID:qFRs1PXu
>>912
色々有難う御座います。
ところで、DB調べたのですが、
sysobjectsってどこにも無いのですが。。。

6.5を使ってるんですが、そういうのも関係有るのですかね?

後、先ほど書いた下のSQLなのですが、
すでにlog_deleteというプロシージャがあり、
それを参考に新たにSQLを書けと言われて、
log_delete1というのを書こうとしているのですが、
それも関係してますかね?

if exists (select * from sysobjects where id = object_id('dbo.log_delete1') and sysstat & 0xf = 4)
drop procedure dbo.log_delete1
GO
921NAME IS NULL:04/07/19 18:45 ID:???
>>920
6.5にもsysobjectsはある。権限不足で見えてないのかもね。
一度saで試してみれば?

922NAME IS NULL:04/07/19 20:39 ID:???
>>918

やり方教えてくれませんか。
923NAME IS NULL:04/07/19 21:41 ID:RYmJLFqA
BACKUP DATABASEの実行中に
DBCC SHOWCONTIGやDBCC DEFRAGINDEXを実行しても
問題無いのでしょうか?
924NAME IS NULL:04/07/19 21:53 ID:???
>919
M$相変わらずだな。もう本当ムカつく。
925NAME IS NULL:04/07/19 21:57 ID:RYmJLFqA
>>919
パッチはReportingServiceをインストールしたWebサーバ側に適用するの?
それともWebサーバが接続するDBサーバ側に適用?
926NAME IS NULL:04/07/20 09:02 ID:???
>>925
ReportingServiceはSQL Server 2000 のアドオンプログラムだから
DBサーバ側にインストール。
ReportingServiceの説明URL -> http://www.microsoft.com/japan/sql/reporting/
Service Pack 1 の説明URL -> http://www.microsoft.com/japan/sql/reporting/downloads/sp1.mspx
927NAME IS NULL:04/07/20 09:05 ID:???
>>924
まあ、いつもの事だから。
本番環境にインストールしてトラぶった人は他にもいるのかな?
普通はいきなり本番しないよね。
928NAME IS NULL:04/07/20 22:21 ID:nv5x7Ysk
>>926
ReportingServicesってDBサーバにインストールしてるの?
IISが必須だからWebサーバに入れてるんだけど。
で、インストール過程で使用するDBサーバを選択すると
DBサーバ側にReportServerとReportTEMPが作られる。

DBサーバにインストールしてる人って
DBサーバにIIS立ててるの?
929926:04/07/21 06:35 ID:WeQ/iFDx
>>928
すみません、小規模ユーザなのでDBとIIS一緒です。
http://www.microsoft.com/japan/sql/reporting/productinfo/sysreqs.asp (下のほう)
別でもいいんですね(IIS必須と書いてなかったんで)。わかりました。
930NAME IS NULL:04/07/23 21:32 ID:0Eia9sP3
Reporting Servicesについて詳細に書いてある
個人サイトとか無いっすか?
931930:04/07/23 22:14 ID:0Eia9sP3
ReportingServicesで、Accessのレポートオブジェクトのようなことは可能でしょうか?
VBアプリケーションからSQLServerに接続し、データを取得し
そのデータをpdfで出力したいのですが、そんなことが
ReportingServicesを使用することで可能でしょうか?
932NAME IS NULL:04/07/24 09:32 ID:kjXf9cAh
>>929
IISが入ってないと警告が出て
クライアントツールしかインストール出来ませんよ。
933NAME IS NULL:04/07/25 01:06 ID:8BAvL6MA
http://www.microsoft.com/japan/sql/reporting/howtobuy/howtolicensers.asp
DBとIISが別マシンの場合、IISマシン側にもSQLのライセンス必要なのだろうか?
934NAME IS NULL:04/07/28 23:30 ID:GYfNrr9g
>>933
必要無いのでは?

935NAME IS NULL:04/07/29 23:29 ID:E3c6nq/5
質問です。

「マイクロソフト社のACCESSのようなGUIがあるのに、SQLを勉強する
理由を書け。」 という問題の解答はどのように書けばいいか教えて
下さい。
936NAME IS NULL:04/07/30 00:10 ID:???
http://pc5.2ch.net/test/read.cgi/db/1057041973

992 :NAME IS NULL :04/07/29 20:01 ID:KBv2c9nX
なんでACCESSとかあんのにSQLを学ばなきゃいけないんですか?

に対する回答がありますから、参考にされては如何でしょう。
937NAME IS NULL:04/07/30 00:23 ID:???
>>935
それって何の問題だろ?立場によっても回答は違いそうだな。

AccessのGUIで簡単に作れるようなSQLしか必要としないユーザーさんの場合は
「SQLなんぞ勉強する必要はない」って回答でもよさそうだし。

一般的なシステム開発者だと
・DBMSに対してどのような操作が可能か理解できる。
・プログラム中に埋め込む場合にはSQL文への理解は必要。
 Accessに雛形作らせてもいいけど、理解できないSQLをプログラムに埋め込むのは
 まずいだろ。
・AccessのGUIは万能ではない。副問い合わせを含むような場合だと
 たぶんSQL知らないと記述できない。
938NAME IS NULL:04/07/30 11:23 ID:???
自宅と職場でMSDNを用いて開発してるのですが
妙な症状が出て困っています

自宅PC:DBの構造変更&データの変更(コミット済み)
自宅PC:デフラグ
自宅PC:DBの完全Dump(Hogehoge.dmp)

職場PC:Hogehoge.dmpの復元(完全上書き)
職場PC:DBの変更が戻ってる・・・・

のような感じです
デフラグするとデータが壊れるってありますか?
HDDは最近買ったばかりのもので不良セクタ等のチェックも大丈夫でした
939NAME IS NULL:04/07/30 23:49 ID:t+NXlAf4
>892
OPENXMLかBULKLOAD使うといいよ。
ずいぶん日がたってるけど。
940NAME IS NULL:04/07/31 01:20 ID:???
>938
MicroSoft Developer Networkで開発とはまた珍しいでつね!!w
とつまらんツッコミはおいといて
つまり、自宅PCでバックアップしたファイルを職場PCに復旧すると、自宅PCで
やったはずの変更が適用されていないって事か?
単にバックアップ/リカバリの操作ミスっぽい気がするが。
941NAME IS NULL:04/07/31 09:19 ID:???
>>938
DBCC CHECKDB はやってみたの?
942938:04/07/31 12:21 ID:???
>>940-941
おはようございます
傷心のうちに書き込んでいたのでMSDNと書いてしまいました(w
MSDEです

DBCCでエラー内容を見たのですが件数は0
復旧できなかったDBのDMPファイルサイズが50MB
普段は25MBぐらいなのでアルェ〜???ってかんじです

いろいろやってみて結果が出ましたらご報告させていただきます
ありがとうございました
943名無しさん :04/08/01 14:48 ID:ea7lsVVs
シロウトのような質問で申し訳ないが、
テキストファイルをインポートしようとすると、
ウイザードが走るのだけど、2バイトごとにしか区切れないんです。
1バイトごとにできんのかな?
944NAME IS NULL:04/08/02 13:55 ID:KpgbeP4M
SQL Serverで
OracleのNVLに当たるものがISNULL
では、NVL2に当たるものは何かありますか?
945NAME IS NULL:04/08/02 15:44 ID:???
NVL2はないのでCASE文を・・・
ファンクション作った方が手っ取り早いかも
946大肉呆:04/08/02 16:52 ID:AzUtkbNE
すごく馬鹿な質問ですが、SQL Server 2000は WindowsXP_Proにはインストール可能でしょうか。
昨日、インストールしてみたら、このオペレーションにはサポートしていないと言われていました。
947NAME IS NULL:04/08/02 18:14 ID:???
Enterpriseはだめ
DeveloperかデスクトップならOK
948TORO:04/08/02 21:47 ID:wZHL5VGj
"*"が規則性無しに文字列に含まれていて、この文字列を"*"区切りに配列へ代入したいんだけど、
どうしたらいいの?言語はVBA。

文字列→ ttt*i*ss

mozi(0)= ttt
mozi(1)= i
mozi(2)= ss
949NAME IS NULL:04/08/02 22:27 ID:???
>>948
激しくスレ違いな気がするが・・・

Split関数でいけるんでないの。
950NAME IS NULL:04/08/07 02:53 ID:b3We31b9
>>907

フォームで書式変更がむずいとかなんとかあったかもしれないけど
普通にフォームもウェブページもできるよ。。。。

メモリが足りないかインストールがおかしいかだけだと思うよ。

普通になんでもjetと同じくらいのこと全部大体できるよん。
951NAME IS NULL:04/08/11 11:13 ID:???
SQL Server 2005 Express EditionはGUI上で操作できないんでしょうか?
ttp://www.microsoft.com/japan/msdn/vstudio/2005/express/sql/
952NAME IS NULL:04/08/11 14:38 ID:???
GUI付属してくるんじゃないの?説明読む限りだと

SQL Server Express は、ストアド プロシージャ、ビュー、トリガ、カーソル、CLR サポート、XML サポートなど、
SQL Server データベース エンジンの豊富な機能をすべて含んだ、SQL Server 2005 の軽量バージョンです。
また、SQL Server Express は、無料で簡単に使用できる管理ツールである SQL Server Express Manager が付属する形で提供されます。
詳細については、SQL Server 2005 Express Edition page の「主な特長」セクションを参照してください
953NAME IS NULL:04/08/11 17:16 ID:???
>>952
レスありがとうございます。
もうちょっといじって確かめたいと思います。
954NAME IS NULL:04/08/13 13:17 ID:QpjalcsX
素人質問ですいませんが、
クエリアナライザの
ユーザーテーブル→HOGE_TABLE→開くと
読み取り専用で開いて編集出来ません。
 誰か知りませんか?
955NAME IS NULL:04/08/13 13:50 ID:QpjalcsX
自己レスです
プライマリーキーを付け忘れてました。
956NAME IS NULL:04/08/13 18:23 ID:???
MSSQLのJDBCドライバの性能が激しく悪いのは仕様なんですかね。
特にPreparedStatementでプリコンパイルされたカーソルを使った
検索がアフォみたいに遅いです。常にそうなるのか分かりませんが、
CHAR型のPKに対して検索すると、普通のStatementでの検索の
数十倍程度遅かったですね。CPUもまわりっぱなしなので
どうもドライバが著しく無駄な仕事をMSSQLにさせているらしい。

プロファイルを採ってみると、sp_opencursor, sp_fetchcursorを
使ってるのは同じなんですが、パラメタ用の領域として
nvarchar(4000)なんてのを決め打ちで確保してるのが悪そうな感じでした。

ま、PreparedStatementを使わなきゃいいんですが、それでも
.NETのSqlClientやADOに比べると、数倍程度は遅いんですよねえ。
957NAME IS NULL:04/08/14 22:01 ID:???
>>956
パラメータでnvarchar(4000)になるのは
.NETのSqlCommandでParameter使った場合も同じだったような…。
958NAME IS NULL:04/08/15 12:40 ID:???
>>957
.NETだと、そもそもsp_opencursorを使っていませんし、
そういうバカげたことにはならなかったですね。

ADOおよびADO.NETのCommandインタフェースのパラメタは、
明示的に型と型長を指定しますから、
そういうことにはならないのだと思いますが。
これはユーザ側にとって面倒でもあるんですがね。
959NAME IS NULL:04/08/16 21:18 ID:???
SQL 2000をWS2003にインストールするにはSP3以降が必要らしいですが、どうすればSP3になるのでしょうが?
WindowsのようにSPと統合できるのですか?
分かる方おしえてください。
960age2ch:04/08/16 23:04 ID:???
age
961NAME IS NULL:04/08/17 00:09 ID:???
>>959
マイクロソフトWebサイトのサポート技術情報にインストール方法が
記載されているので調べてみて。(URLは忘れてしまったので勘弁)
SQLServer2000のページから辿っていける。
962959:04/08/17 02:20 ID:???
>961
アップグレードして適用する方法らしきものは見つかったのですが、直接導入する方法は見つかりません。
http://www.microsoft.com/japan/sql/howtobuy/windowsnetsupport.asp

もう少し検索してみます。。。
今日も徹夜orz
963959:04/08/17 02:35 ID:???
http://support.microsoft.com/default.aspx?scid=kb;ja;329329
普通にセットアップしてsp3をすぐいれればいいのか。。。

でも、ws2003インストールあとすぐにSQL Server 2000インストールじゃなくてもいいのかなぁ?
分かる方情報希望。
964NAME IS NULL:04/08/17 04:30 ID:xbONUM4Q
SBS2003でやったけど
SQL2000入れて、直後にSP3でOK
セットアップ起動後エラーがでるけど無視して続行
965NAME IS NULL:04/08/17 23:28 ID:???
初歩的な質問なんですが、ビューとストアードプロシージャの
使い分けがどうもピンと来ません。
例えば、常に同じSELECT文を実行したい時などは、どっちを
使うのがより一般的なのでしょう?
966NAME IS NULL:04/08/18 00:53 ID:???
>>965
何をどう混同したらその二つで悩むことになるのだ・・
ストアドプロシージャは名前のとおりプロシージャにつかっとけ。

ただ、単にSELECT発行したいだけならどっちもいらんだろ。
967NAME IS NULL:04/08/18 23:30 ID:???
ビューとテーブルの間違いじゃないのけ?
968NAME IS NULL:04/08/19 02:43 ID:q/wDTfp7
郵政公社の郵便番号CSVをインポートして
都道府県・市区町村・町域にフルテキストインデックスを付けたのですが
検索でヒットする住所とヒットしない(何故か全件出る)住所が出てきます

OK:五日市
NG:佐伯区五日市

フルテキストインデックスを使うのが初めてなので
お知恵を拝借したいのですが<m(__)m>

実行したSQLは
SELECT * FROM KEN_ALL
WHERE FREETEXT(*, ”ここに住所” )
969NAME IS NULL:04/08/19 10:36 ID:???
>>966

ビュー・・・パラメータ入力不可
ストアド・・・パラメータ入力可

970NAME IS NULL:04/08/19 13:51 ID:C0Dekmyz
いまさらながら、SQL Server 6.5の評価版が手に入る方法ってないですかね。。。。。

971NAME IS NULL:04/08/19 14:36 ID:???
テーブルの項目名の付け方なんですが
T_01
T_02
...
T_99
とするのか
s_code
s_name
s_tanka
...
とするのか名前は保守を考えるとどうするのがベターですか?
972NAME IS NULL:04/08/19 16:27 ID:6PtYNdGY
業務ではまっていますぅ・・・
すみません。どなたか助けて下さい・・・

以下のような2つのテーブルがあります

testtab1

 key_cd
 -------
 1111
 2222

testtab2
 key_cd
 -------
 8888
 9999

testtab1を用いたビュー testview があり、
'12345' というリテラル定数を使用しています。

 CREATE VIEW testview
 AS
 SELECT key_cd , '12345' seq FROM testtab1

testtab2とtestviewを外部結合した結果、
seqは NULL が帰ってくると思われるのに '12345' が帰ってきます。

select a.key_cd,b.seq from testtab2 a left outer join testview b on a.key_cd = b.key_cd

key_cd seq
------- -----
8888 12345
9999 12345

oracleやUDBでもテストしましたが、seqはちゃんと NULL が帰ってきます。
SQLServerでは、これは仕様と思って(どんな仕様じゃぁ〜!)あきらめるしかないでつか?
それともなにか上記を回避するコマンドがあるのでしょうか?
ご存知の方がいたら、助けてください。お願いしまつ。。。
973NAME IS NULL:04/08/19 16:48 ID:???
>>972
同じようにやってみたけど、こっちではちゃんと NULL になるよ。
SQL Server のバージョンは?
こちらは SQL Server 2000 SP3a (8.00.818) だけど。
974NAME IS NULL:04/08/19 16:54 ID:???
>>970
MSDN でさえ、SQL Server 6.5 の英語版しかないねぇ。(7.0なんて、もう無い…)
とりあえず、駄目もとで、MS に問い合わせてみたら?
975NAME IS NULL:04/08/19 17:04 ID:6PtYNdGY
>>973
SQLServer 2000の 8.00.382 となっています。
原因はこの辺の違いでしょうか?
976NAME IS NULL:04/08/19 17:11 ID:???
>>975
8.00.382 は SP1だね。
SP によって T-SQL の動作に変化があるようだし、セキュリティ的にも良くないから、
当てるのが難しい理由が無いのなら SP3a を当てては?
977976:04/08/19 17:30 ID:???
978NAME IS NULL:04/08/19 17:35 ID:6PtYNdGY
>>976
原因はそれしか考えられませんね。。。
実はパッチを当てるのは難しいのです。
現在稼働しているシステムを止められるかどうかということと、
パッチを当てるにあたり、決定的な説得材料がない事です。
MSのサイトにこの不具合の事が記載されていれば良いのですが・・・
2chで聞いたでは管理者を説得できません・・・
ですが大変参考になりました。
すばやいレスをしていただき、ありがとうございました。
979978:04/08/19 17:38 ID:6PtYNdGY
>>975
977さん
大変失礼しました。
ありがとうございます!!!!
これで管理者を説得できそうです。
976さんもありがとうございました!!!!
980NAME IS NULL:04/08/19 22:13 ID:???
>>971
テーブル1の T_01 とテーブル2の T_02 が同じ項目(たとえば商品コード)
だった時に混乱しないか?
981NAME IS NULL:04/08/19 23:24 ID:???
>>971
T_01,T_02・・・この名まえ付け規則にした場合になにかメリットあります?
項目名がわかる名前のほうがいいと思うのだが。
982NAME IS NULL:04/08/20 01:01 ID:???
>>969
意味がわからん。
ビューは仮想表でストアドプロシージャはロジック書ける処理じゃん。
なんでパラメータとかしか見ないわけ?
983NAME IS NULL
>>971
連番つけるようなCOBOLerみたいなことするなよ・・