トップページ⇒db
1001コメント339KB

MS SQL Server 総合スレ

レス数が1000を超えています。これ以上書き込みはできません。
0001<NULL>03/07/01 21:11ID:???
Microsoft SQL Server (Transact-SQL) の総合スレッドです。

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

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

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


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

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

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

という記事を見つけていたので、今日ビックカメラに買いに行ったら
相変わらず7万円でした。この記事って本当なんでしょうか?
0022名無しさん@お腹いっぱい。03/08/03 21:56ID:WYyDJl9m
MSDEに対してADOで接続するとき、レコードセットにうまく排他ロックが
掛かりません。Lock Typeプロパティはpessimisticにしているんですが、
出来ないようです。何か他の方法はありませんか?
また、自己Writeの失敗のログってどこかに残るのでしょうか?
0023名無しさん@お腹いっぱい。03/08/04 10:07ID:???
>22
SQLにロックヒント付けないとダメかも?
0024名無しさん@お腹いっぱい。03/08/06 16:58ID:???
>>15
遅くなったけど msdb も一緒にバクアプしたらいいんでないの?
0025名無しさん@お腹いっぱい。03/08/07 22:26ID: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
0026名無しさん@お腹いっぱい。03/08/08 11:27ID:1Pt/oRTP
MSSQLServerは7以降でスケーラビリティが向上して、マルチプロセッサの恩恵を
より受けやすくなった(←教科書まんま)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

となり何もできません。

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

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

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

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

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

#つーか、SP3aをMSからダウンロードすれば……
0060名無しさん@お腹いっぱい。03/09/08 16:39ID:VNXPoBK9
SQL Server 2000 120日間限定評価版 Release Aって
どうやってインストールするの?
ダウンロードして解凍したけど、インストーラとか
ないんだけど・・・。
0061名無しさん@お腹いっぱい。03/09/08 17:32ID:zCzjrhxm
setup.bat
0062名無しさん@お腹いっぱい。03/09/09 13:15ID:???
えーとすいません。
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の類はインストールしていません。
0063名無しさん@お腹いっぱい。03/09/11 05:27ID:27rlHfYT
ストアドプロシージャ内で作った一時テーブルを
ストアドプロシージャ外(呼び出し元)から利用することは
できますか?
できそうなものですが・・・そんなテーブルは無いと怒られました
0064名無しさん@お腹いっぱい。03/09/14 18:24ID:T0nvba1V
MCP板ってあるの?みつからないんだけど、
0065名無しさん@お腹いっぱい。03/09/18 09:40ID:zyOaYKQh
Windows2000にtomcat4とSQL Server7を連携させたWebシステムを
開発しているのですが、commitがうまくいくときといかないときが
あります。
データ更新SQLとcommitはストアドに記述しているのですが、この方法って
問題あるのでしょうか?
JDBCはjtds-0.5.1を使ってます。
だれかたすけて〜〜〜〜
0066名無しさん@お腹いっぱい。03/09/19 07:59ID:/Xt5vCla
MSのサイトからSQL Server 2000のSP3aをダウンロードしようとしているのですが
「ページを表示できません」となってしまいます。
Windows UpdateはできたのでFWとかのせいではないと思うのですが、
サーバー側の問題でしょうか?
他の方はどうですか?
0067名無しさん@お腹いっぱい。03/09/19 12:22ID:???
>>66
普通に落ちてくるが。
ttp://download.microsoft.com/download/f/7/d/f7dfc004-7b80-480f-9287-719885eb0030/jpn_sql2ksp3.exe
00686603/09/20 01:16ID:???
ほんとだ、できますね。
何だったのかな??
0069名無しさん@お腹いっぱい。03/09/20 16:11ID:rRQMKVbe
ACCESSのMDB から SQL SERVER 7.0 に先日移行しました。
ひとつ問題が出たのですがMDBのファイルだと3年半で1.1GBであったのに対し
SQL SERVER 7.0 のバックアップファイルは1日10MBづつ容量が増え
このままだと半年もしないで1GBを消費してしまいそうです。
「データベースの圧縮」を実行してみたのですが、mdfファイルの容量は
変わらないので、バックアップファイルの容量も変化なしです。
何とか容量の増加を抑える方法はありませんでしょうか?


0070名無しさん@お腹いっぱい。03/09/21 17:03ID:???
トランザクションログが溜まってるのでわ?
0071名無しさん@お腹いっぱい。03/09/23 11:46ID:Or9By2o2
1.1GBのMDBファイルって...
0072名無しさん@お腹いっぱい。03/09/23 19:02ID:w74Jjv3+
SQL Serverのimage型にASPを使って画像を保存する
には、どうしたらよいのでしょうか?
0073名無しさん@お腹いっぱい。03/09/24 13:33ID:???
winNT4.0かwin2K(サービスパックは最新)にインストールできる
SQL Serverの最新版のバージョンを教えてください。
自分の調べではSQL Server2000にSP3aを当てたものと思うのですが
ちがっていたらご教授おねがいします。
0074名無しさん@お腹いっぱい。03/09/24 20:13ID:???
>>73
それで合ってる
0075名無しさん@お腹いっぱい。03/09/25 14:56ID:9aQaZ91v
SQL Server7.0で銀行型丸め(四捨六入)はどうすれば出来ますか?
0076名無しさん@お腹いっぱい。03/09/25 18:43ID:???
銀行型丸めと四捨六入とは違うのでは?
0077名無しさん@お腹いっぱい。03/09/25 18:56ID:???
なるほどねえ
http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom.asp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp196%2F6%2F52.asp
0078名無しさん@お腹いっぱい。03/09/26 08:17ID:???
銀行型丸め=四捨六入 じゃないの?
0079名無しさん@お腹いっぱい。03/09/26 10:40ID:???
このスレってさ、営業スレだろ?
すげー笑えるんだけどw
0080名無しさん@お腹いっぱい。03/09/26 12:46ID:???
>>78 ちゃう>>77参照
0081名無しさん@お腹いっぱい。03/09/26 23:50ID:???
>>80
んーと、銀行型丸めはちょうど.5の場合で、四捨六入は
丸める桁の数字が5の場合ってことでいいのかな?
0082名無しさん@お腹いっぱい。03/09/28 07:42ID:???
OracleのSQL*Plusライクなツールって、SQL-Server2000にもありまつか?
あったら名前おしえてちょ。
0083名無しさん@お腹いっぱい。03/09/28 08:55ID:???
osql?
0084名無しさん@お腹いっぱい。03/09/29 11:51ID:???
銀行型丸めは四捨六入の一種であって、イコールではないということかと
0085名無しさん@お腹いっぱい。03/09/29 21:36ID:???
>>84
偶数と奇数で0.5の処理が違う。

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

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

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

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

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

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

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


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


  OI2O-69-OI96


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

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

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

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

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

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

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

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

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

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

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

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

ロック(ry
0115名無しさん@お腹いっぱい。03/10/12 16:51ID:UDvjpkZa
MSDEってどこまで業務で使ってよいのかわからない・・・
MSの所以外で解りやすく説明しているサイトとかある?
0116名無しさん@お腹いっぱい。03/10/12 17:01ID:???
>>115
http://www.google.com/search?as_q=MSDE&num=10&hl=ja&ie=UTF-8&oe=UTF-8&c2coff=1&btnG=Google+%E6%A4%9C%E7%B4%A2&as_epq=&as_oq=&as_eq=&lr=lang_ja&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=e&as_sitesearch=microsoft.com
0117NAME IS NULL03/10/14 04:29ID:ceEV+Vmp
>>115

http://www.akizuki.co.jp/book/default.htm
0118NAME IS NULL03/10/14 12:39ID:aKkE+ZIH
MSDEって何ですか

SQLServerの書籍を読んでいると、
時々このMSDEがどうのこうのって話が書いてありますが・・・
0119NAME IS NULL03/10/14 13:10ID:???
>118
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=MSDE%E3%81%A8%E3%81%AF
0120NAME IS NULL03/10/14 20:16ID:???
>>118
Microsoft Stupid Desktop Engine
マイクロソフトくだらないデスクトップエンジン
0121NAME IS NULL03/10/16 18:51ID:sySt/eay
この人に何か言ってやってください
ttp://www7.big.or.jp/~pinball/discus/sqls/22699.html
0122NAME IS NULL03/10/16 18:57ID:???
>>121
maxell.co.jp(日立マクセル株式会社)だって
0123NAME IS NULL03/10/17 23:12ID:cDOUHUgl
マジで困ってます。
教えてください。
MSDEをインストールしました。
次に、SQL Server サービスマネージャ というツールを起動しました。
画面には

サーバー:DEFAULT
サービス:

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

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

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


のようになっております。
0132NAME IS NULL03/10/18 11:18ID:???
>>131
俺の画面と全然違うな。
バージョン幾つだよ。
レジストリめんどくせぇな。
レジストリエディタを開いてHKEY_LOCAL_MACHINE\SOFTWARE\ODBCにどんなのがある?
0133NAME IS NULL03/10/18 11:28ID:/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
・・・
・・・
・・・
・・・
・・・

のような感じになっております。。
0134NAME IS NULL03/10/18 11:37ID:???
>>133
バージョンが違うから対応し切れないかもしれないが
取り敢えずODBCINST.INIのODBC DriversとSQL Serverっての有か見て。
んでODBC DriversにSQL Serverってのが有って、値データがInstalledになってるか見て。
値データも書かないと回答出来ないよ。
それとAccessは入ってるよな?
Accessはちゃんと動くのか?
0135NAME IS NULL03/10/18 11:42ID:/FTgWjTp
>>134
ODBC DriversのSQL Serverのデータは"Installed"になってます!!!
Access2000は入っております。
起動も確認しました。
0136NAME IS NULL03/10/18 11:52ID:???
んじゃあ、次のキーを新規に書く。
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
0137NAME IS NULL03/10/18 11:56ID:???
それが済んだら今度は
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Clientの
データを書いてくれ。
0138NAME IS NULL03/10/18 11:58ID:/FTgWjTp
>>136
すいません、「種類」とは何でしょうか?
そのような記述がありません。。。
「名前」と「データ」しかありません。
また作成するときに「文字列」「バイナリ」「DWORD値」の3つから
選択するようなのですが「文字列」でOKでしょうか?
0139NAME IS NULL03/10/18 12:04ID:???
>>138
そういやOSも違うからレジストリエディタも違うのか。
種類は全部一緒だから無視して良いでしょ。
文字列書くんだから文字列で。


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

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

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


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

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

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

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

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

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

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

あまりにも、あまりにも、だから笑える。
0158NAME IS NULL03/10/23 00:21ID:???
確信犯だろ・・・
そうでなけりゃマジで知障。
会社にチクればヘタすればクビだ。
0159NAME IS NULL03/10/23 20:54ID:???
>>158
こーゆう恥かしいの放し飼いにしてるのは会社自体が2流だから、首にはならんだろ。
恥かしいのすら出てこない、5流以下の会社も多いけどな(w
0160NAME IS NULL03/10/24 01:41ID:???
>>156
コイツ、SQL ServerエンジンとAnalysisが同じもんだと思ってそうだな。
しかし何が言いたいのかまったくよくわらん文章だな(w
0161NAME IS NULL03/10/24 06:45ID:???
>>158-160
だが藻前らよりも遥かに給料が多い
0162NAME IS NULL03/10/24 09:01ID:???
>161=156のリンク先の中の人
0163NAME IS NULL03/10/24 14:52ID:I68UZVLD
VBでSQL Serverのあるサーバーにアクセスするプログラムを
作ったのですが、いざ客先でEXEを起動すると
<初期化文字列の形式はOLE DB仕様に準拠していません>
というダイアログが出て終了してしまいました。
何が原因なのでしょう?
0164NAME IS NULL03/10/24 15:57ID:QHM+8JsC
おまえの頭
0165NAME IS NULL03/10/24 19:58ID:???
>>163
とりあえず、インスコしよう。
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c
0166NAME IS NULL03/10/26 02:55ID:???
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

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

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

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

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

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

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

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

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

回避策ってあります?
名前付インスタンスを作ってインスタンスを分けるのって効果あるのでしょうか?
メモリやCPUのリソース配分は同じような気がするのですが。
0183NAME IS NULL03/11/04 07:12ID:???
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文で任意の範囲のレコードセットを取得したいです。
0184NAME IS NULL03/11/04 11:44ID:???
where (ID => 3 and ID <= 5)
0185NAME IS NULL03/11/04 11:45ID:???
where (ID => 3 and ID <= 5)
018618303/11/04 23:16ID:???
ちょっと言い方間違ってました。
order byでならべたレコードセットのx番目からx+1番目、x+2番目までの3個取り出したいです。
0187NAME IS NULL03/11/05 00:34ID:???
となるとopenした後にmovenextの回数とxを比較していくしかないのでわ(;´Д`)
018818303/11/05 01:00ID:???
>>187
わたしもそれがおもいついてたのですが、
ASPにはDoeventに相当するメソッドがないみたいなのではげしくrs.movenextをしたくないなあとおもってたところだったのです。
SQLにはTOPキーワードしかないようですし。
結局movenextで最初の数レコードをスルーして目的のレコードを操作することになるようです。
0189NAME IS NULL03/11/05 01:38ID:SZeIyv6y
mdfからのDB復旧方法についてご存知のかた,教えてください
0190NAME IS NULL03/11/05 20:39ID:???
>>189
これがやりたいのか?
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/howtosql/ht_7_design_4wq1.asp

てか、ちゃんとdumpとれよ。
0191NAME IS NULL03/11/06 03:53ID:???
>>183
orderした結果に順位をつけるクエリーはチラホラ見るから
それの応用でできるのでは?

あとはoederした結果をidentityつきのtemp tableに放り込むくらいか
019218303/11/06 20:07ID:???
>>191
むぅそうですか。
0193NAME IS NULL03/11/07 16:59ID:vIZH227m
SQL鯖2KでDB設計しております。
Oracle用としてはObjectBrowserなんかがありますが、SQL鯖に対応しているモデリングツールって無いでしょうか?
0194NAME IS NULL03/11/08 02:16ID:???
>>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

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

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

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

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

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

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

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

JOIN の事だと思われ

>>205

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

実際にテキストを吐き出すようにして、そのテキストをコピーし、SQLをクエリアナライザで実行すると
通常に処理されてしまう現象です。
お心あたりのある方いましたら、ご教授ください。
0247NAME IS NULL03/11/29 20:59ID:???
>>246
先ずは、ADOを最新のものにしてみなはれ。

http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c
0248NAME IS NULL03/11/30 03:07ID:???
>>246
俺も同じエラー見たことある。nvarcharの最大文字数を減らした後だ。
元に戻したら直った。原因不明。解明しといてね。
0249NAME IS NULL03/11/30 14:25ID:???
>>246,248
SET ANSI_WARNINGSの設定だろう
クエリアナライザのデフォルトはオフだったと思う
0250NAME IS NULL03/12/02 10:41ID:QQHwkYSO
t-sqlでdatetime型のデータを文字列に変換して出力する方法ありますか?
たとえば
2003/12/02というデータを20031202として取得したいです。
oracleのto_charのようなものがほしいです。
025125003/12/02 11:01ID:???
自己解決しました。
0252NAME IS NULL03/12/06 17:31ID:XlUqzbM8
SQLで好きな位置に列を追加するにはどうしたらいいですか?
0253NAME IS NULL03/12/06 17:46ID:???
>>252
select * じゃなくて、ちゃんとフィールド名を並べればいい
0254NAME IS NULL03/12/06 21:26ID:???
ALTER TABLE の事を逝ってると思われ
025525203/12/06 21:46ID:XlUqzbM8
>>253,254
254さんの言う通り、ALTER TABLE ADDで列を追加したいんですけど、そのときに列の位置を指定したいんです。
ヘルプは一応見ましたけどよく分かりませんでした。
0256NAME IS NULL03/12/06 23:40ID:???
>>255
ALTER TABLE ではカラムは最後にしか追加できないと思われ。
間に追加したいのなら、データエクスポート、DROP TABLE、CREATE TABLE
データインポートするあるよろし。
0257NAME IS NULL03/12/06 23:52ID:VH/5jfLI
ORACLEのexpコマンドと同等のものってありますか?
教えてください。
0258NAME IS NULL03/12/07 00:50ID:???
>>257
DTS, bcp
0259NAME IS NULL03/12/07 02:46ID:???
初心者のうちにはかなりの率で出るけど
覚えてくると必要ないとわかるものの代表だな
カラム位置指定の追加
0260NAME IS NULL03/12/07 08:13ID:s/ypUrGF
>>259
>カラム位置指定の追加

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

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

create procedure yobareru as
select hoge_name from hoge
go

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


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

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

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

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

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

>>269
bcpする前にcreate tableなりgrantなりすればいいだけの話では?
必要なクエリはEnterpriseManagerで作れるはず。
DBかテーブルを選んでおいて[ツール]-[SQLスクリプト生成]
0284NAME IS NULL03/12/10 10:15ID:???
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をどのように修正すればよいでしょうか?
設計を見直せってのはなしの方向でお願いいたします。
028527203/12/10 10:48ID:???
ストアドプロシージャでテストしたところ、数秒程度の違いしか出ませんでした。
>>278の方法は少し調べてみましたが、構文が出てきませんでした。おそらく調べ方
が悪いのだろうとは思うので、時間があるときに調べてみたいと思います。

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

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

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

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

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

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

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

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

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

0295NAME IS NULL03/12/13 00:30ID:???
>>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

0296NAME IS NULL03/12/13 03:12ID:QcgkDHTn
>>295
皆の会社ではGUIでやってますか?
CUIでバックアップするにはbcpしかないのでしょうか?
それだとデータしか抽出出来ないんですよね?
0297NAME IS NULL03/12/13 08:39ID:???
>>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のウイザードでスケジューリングさせるのが一番簡単だが。
0298NAME IS NULL03/12/13 16:53ID:IfFk24TF
テーブルのデフォルト値にファンクションを指定するとデータ登録時ってやっぱり遅くなる?
ファンクションの内が
BEGIN RETURN 1 END
だけだとしても、1と指定するよりも遅くなるんですかね?
0299NAME IS NULL03/12/15 23:32ID:???
>>298
その程度なら遅かったとしても大した違いではないだろう
Insertのパフォーマンスを気にするなら
余計なインデックスやトリガをつけないようにするのが先。
0300NAME IS NULL03/12/16 10:17ID:K8q4ocRg
SQLでテーブルのリネーム方法を教えてください
0301NAME IS NULL03/12/16 18:36ID:K8q4ocRg
テーブルをコピーするSQL教えて
0302NAME IS NULL03/12/16 21:51ID:???
>>300は答えようと思ったが>>301見たら答える気が無くなった
0303NAME IS NULL03/12/16 22:12ID:???
"Select 〜 into 〜 From 〜"すら見つけられないのだろうか・・・

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

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

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

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

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

この2つのテーブルから

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

のようなテーブルを作りたいのですが
SQL文はどのように書いたらいいのでしょう
0311NAME IS NULL03/12/18 17:08ID: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にアクセスする場合でも、ちゃんと
トランザクションになるんでしょうか?
0312NAME IS NULL03/12/18 17:20ID:???
何がどうなれば「ちゃんとトランザクションになる」と判断できるのさ?
0313NAME IS NULL03/12/19 01:01ID:???
>>310
select 出荷商品コード, 商品1.商品名 as 出荷商品名, 返品商品コード, 商品2.商品名 as 返品商品名
from 出荷テーブル as 出荷
join 商品テーブル as 商品1 on 商品1.コードNO = 出荷.出荷商品コード
join 商品テーブル as 商品2 on 商品2.コードNO = 出荷.返品商品コード
031431003/12/19 14:04ID:???
>>313
解決しました。
ありがとうございました。
0315NAME IS NULL03/12/20 12:15ID:BpQcc6bY
オラクルでの
CREATE TABLE テーブル名 AS SELECT * FROM テーブル名;
がSQLServerでは、ないようなのですが
かわりの機能ってありますか?
SQL文で。




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

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

0320NAME IS NULL03/12/22 10:39ID:???
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として返したいのですが
できますでしょうか?
0321NAME IS NULL03/12/22 16:22ID:WsKC2EWy
Enterprise Manager5.0において、SQL Server7 SP4上のとあるDBを
オフラインにしたら、Enterprize Mangaerがハングアップしてしまいました。
その後、あらゆる端末から、このSQL Server上のデータベースが
見えなくなってしまいました(アイテムなし と出ます)

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

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

可能ならばDBを停止しないで復旧させたいのですが、何か方法は
ありませんでしょうか?
0322NAME IS NULL03/12/22 22:08ID:???
>>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()関数を使って書き直せるだろう
0323NAME IS NULL03/12/22 22:10ID:???
スマン、INSULL()じゃないISNULL()だ
032432003/12/24 12:26ID:???
>>322
神!
0325NAME IS NULL03/12/24 22:21ID:+/2I63y6
フィールドのデフォルト句を変更するSQLってどう書くの?
0326NAME IS NULL03/12/25 00:11ID:???
>>325
クリスマスなのに・・・w
0327NAME IS NULL03/12/25 12:07ID: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を受かった方法や参考書や問題集はどうよ。
0328NAME IS NULL03/12/25 14:14ID:???
教えてください

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9.K&A      来世

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

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

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

13.K&A    1.に戻る

これは事実。広めようぜ

解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
    アトピーも快癒に向かう。
    目安としてグランドを10週くらい。
あとはウォーキング
    2.3時間を目安にウインドーショッピングや本屋めぐり
0353NAME IS NULL04/01/02 20:42ID:fEnsN8pJ
ORACLEの
dba_users
dba_tables
v$session
にあたるものってSQLServerでは何でしょうか?
0354NAME IS NULL04/01/06 11:44ID:???
t-sqlのストアドプロシージャ内で定数を定義する方法はありますか?
vbのconstみたいなやつです。
0355NAME IS NULL04/01/06 13:08ID:???
age
0356NAME IS NULL04/01/06 19:17ID:???
XPにAccessドライバデフォであるが、SQLでcreate tableやったらエラーでんだが
Access入ってないとドライバだけあってもデータベース操作できねえ?
0357NAME IS NULL04/01/06 22:34ID:???
adp使え
0358NAME IS NULL04/01/06 23:13ID:???
>>356
書式間違ってんじゃねえの?
0359NAME IS NULL04/01/07 10:16ID:???
SQLServer同士のリンクサーバーってテーブルとビューしかリンクできないんですか?
0360sage04/01/07 12:08ID:YG/+fCEk
nvarchar型の変数に 123,456,789 という値があった場合、
これをtable変数に
123
456
789
と変換したいのですが、どのようにすればよいでしょうか?
ご教授お願いします (ぺこり
0361教えてください04/01/07 20:32ID: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
0362NAME IS NULL04/01/07 20:47ID:???
排他ロックならそもそもレコードセットのOpen自体が出来ないはず。
判断に10秒かかってるのでわなくて待ち状態になっているだけでわ?
クライアントツール持ってるなら、クエリアナライザを2つ開いて実行すればよろし
0363教えてください04/01/07 23:08ID:JkzBNx1p
>>362
ありがとうございます。
たぶん待ち状態なんでしょう。
排他ロックのかかってるレコードはopenさせたくないんですが・・・
直ぐに判断できるクエリーないんでしょうか?
036448*804/01/08 04:35ID: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を参照
0365NAME IS NULL04/01/09 11:00ID:Dj5F0mmv
このスレ全体および検索サイトにていろいろ調査してみたのですが、
解決できなかったため、ご存じの方がいらっしゃいましたら、お教え下さい。

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

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

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

詳しくは、BooksOnline見て。
0367NAME IS NULL04/01/10 04:04ID: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 ' + 式)

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

sqlmaintって2000からだっけ?
0369NAME IS NULL04/01/10 10:23ID:l4wgLYoU
http://bbs.enjoykorea.naver.co.jp/jaction/read.php?id=enjoyjapan_16&nid=258734&work=list&st=&sw=&cp=3
2chに攻撃するらしい
037036704/01/11 15:24ID:D6U2Pv7p
とりあえず、カーソル使って1件づつ更新することにしました。
でも1万件更新するのに1分近くかかります。
20秒ぐらいで終わって欲しいのに...
0371070-229落ちた04/01/11 16:10ID:CRQFEbL3
MCSE板から来ました。
070-229(SQL Server 2000 DBの設計と実装)の問題の質問でつ。
クエリのパフォーマンスが下がった時の処置として、
update statistics と DBCC REINDEXの使い分ける状況ってなんでしょう
3問くらいあったのを全部update statisticsと答えて玉砕しました
赤本見てもわからない〜
来週リベンジするのでその前に教えてちょ
0372東芝不買運動04/01/11 16:20ID:+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/
みんなどんどんいろんなスレに張りまくれ!
0373NAME IS NULL04/01/12 03:02ID:Ru02ZAxd
SQL Server 6.5 の Books Online を入手する方法ってありますか?
もしくは、SQL Server 6.5 の CDROMはあるので、WinXPproで見る方法はありますか?
0374NAME IS NULL04/01/12 04:46ID:???
>>371
このへんでも読んでみたら?
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_ua-uz_1mpf.asp
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_dbcc_94mw.asp
0375NAME IS NULL04/01/12 18:46ID:???
>>367,370
試してないけどこれでどう?
update AAA
from AAA,(select 式 as B1) as BBB
set 数値 = BBB.B1
037636704/01/12 20:29ID:z2H6BkUs
>>375
試してみる前に構文エラーでした。

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

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

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

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

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

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

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

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

でも1件ずつ処理するにしてもやり方次第では今より若干早くなるかも。
ありがとうございました。
ちょっと試してみます。
0383NAME IS NULL04/01/19 10:47ID:???
oracleとsql serverのユーザーの概念の違いをわかりやすく説明している
サイトはありませんか?
0384NAME IS NULL04/01/19 11:47ID:???
>>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/
038537104/01/19 18:14ID:QKrv9wRp
今日、二度目の70-229受験で合格しました。
パフォーマンス関連が弱いとわかったので、SQL鯖の入門書を読んで、
PASS-Jを見直しました。
>>374 さんありがとうございました。
0386NAME IS NULL04/01/20 01:08ID:???
同時アクセス数について質問です・・・・

現在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
0387NAME IS NULL04/01/20 01:46ID:???
MSDEは性能じゃなくてライセンス数の問題があるんだよ。
0388NAME IS NULL04/01/20 14:32ID:???

決算期ごとにデータベースを変更している
会社の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

のように最新の決算期に対応するレコードを
抽出する方法はどうするのでしょう?
0389NAME IS NULL04/01/20 20:05ID:???
データベースの変更ってなんだよ。
(いや、知ってるけどさ・・・)
039037804/01/20 20:25ID:Dw0+LfuC
select *
from DBマスタ A
join (select 会社コード,max(決算期) as Max決算期 from DBマスタ
group by 会社コード) B on A.会社コード = B.会社コード and 決算期 = Max決算期
でいかがでしょうか?
039137804/01/20 20:40ID: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)
039237804/01/20 20:48ID:Dw0+LfuC
頭の「union」切ってなかった

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

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

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

でどうかな?

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

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

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

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

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

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

よい方法があれば教えてください。
0400NAME IS NULL04/01/21 18:52ID:???
あるアプリが突然 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 を開けませんでした。

とあります。

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

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

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

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

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

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

宜しくお願いします。

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

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

0409NAME IS NULL04/01/23 01:07ID:???
>>404
スペースがまずいのでわ?
CAST('20040401' AS datetime)
0410NAME IS NULL04/01/23 03:36ID:???
>>399
isqlw.exe(クエリアナライザ)にコマンドラインパラメータを与えて
isql.exe風に使うのは駄目?
041140404/01/23 09:06ID:???
客先のデータベースの仕様で
変えちゃいけないんです。
'20030401'とかならよかったんですけど。
0412NAME IS NULL04/01/23 11:52ID:cXiQyUAq
クエリアナライザで、数値の項目の表示を
右揃えにしたいんだけど…。
0413NAME IS NULL04/01/23 12:14ID:???
STRでキャストするとか
041437804/01/23 21:48ID:yuRNMIDd
replace関数使ってスペースを0に変換汁
041540404/01/24 13:16ID:???
@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'になったのですがスペースがなぜか全角。
これを書き込むストアドで型が違うとはじかれます。
041637804/01/24 16:07ID: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)
0417NAME IS NULL04/01/25 02:56ID:ZUbpceFV
>>412
接続オプションかなんかで、右揃えという項目があったような気がするぞ。
0418NAME IS NULL04/01/26 00:14ID:la5fi1L2
EnterpriseManagerでバックアップとったものと
ADPでつないで[ツール]-[データベースユーティリティ]-[バックアップ]でとったものは
互換性があるのでしょうか?
0419NAME IS NULL04/01/26 00:57ID:y082M5Ab
SQL Server 6.5を使ってます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ADO.Net は何処へ?
0451NAME IS NULL04/01/30 23:42ID:???
つか、Win32 API なんてコテコテのCだと思うが。。
0452NAME IS NULL04/01/30 23:59ID:???
WIN16はpascal風味だったような微かな記憶(←捏造?)
0453NAME IS NULL04/01/31 15:07ID:???
そういやPASCALだったねえ。
Cの可変長引数とPASCALの利点を組み合わせて今に至る、か?
04545304/02/02 17:16ID: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だった事です。
これが原因の可能性はあるでしょうか?
0455NAME IS NULL04/02/02 20:55ID:???
>>450
ODBCのくだりは分からんが、
Whidbeyをインストールしたら
「Whidbey\SDK\v1.2\QuickStart\howto\doc\adoplus」
なんていうディレクトリがあったy。

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

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

元データ
商品   科目   エラー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

こんな感じに出力したいのですがどのようにすれば
よいでしょうか。
0461NAME IS NULL04/02/03 23:46ID:???
>>459
MDAC 再インスコしてみれば?
0462NAME IS NULL04/02/04 00:20ID:???
>>454
ポート閉じてるとか
046345404/02/04 01:31ID: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とか)から入れてみてどこで解決している問題か
突き止めても良かったのですが時間がなかったので今回はあきらめました。
ネットワークとかの問題ではなかったです。
0464NAME IS NULL04/02/04 02:28ID:???
>>463
MDACはなぁ。やらしいトラブルの元なんだよなぁ。
漏れも以前、こういうネットワーク系のエラーではなかったが、SQL鯖に特定のSQLを
投げるとダンマリになってしまうという現象にハマったことがあったよ。2.6の時だったか?
そん時の解決法は、MDACのバージョンを鯖とクライアントで合わせる、と。
なんだそりゃと思ったよ。

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

そういやまたMDACのパッチが出たけど、だれか人柱になってみておくれ(w
0465NAME IS NULL04/02/04 15:45ID:IdTYgpiu
bcpツールを使用してデータを外部ファイルへ出力したいんだけど、
カラム名を同時に出力させることはできますか?
何らかのオプションをつければ大丈夫ですか?
0466NAME IS NULL04/02/04 20:46ID:???
>>465
予めカラム名を書いたファイルを作っておいて
copyコマンドでくっつければいいじゃない
0467NAME IS NULL04/02/05 12:18ID:???
DTSでエクセルにエクスポートしる
自動的にカラム名つくぞ
0468NAME IS NULL04/02/05 13:55ID:qyxB+XUK
SLLServer2000のデタッチ・アタッチについて教えてください。
データベースのファイル名を変更するために、一度デタッチします。
その後、ファイル名を変更してアタッチするのですが、
EnterpriseManagerでmdfファイルを指定すると、
CurrentFile(s)Location に昔のパスが出てきます。
これを新しいファイル名のパスに変更しようとしているのですが、
べりファイをすると、元に戻ってしまいます。
どのようにすればいいのか、ご存知の方教えてください。
0469NAME IS NULL04/02/05 19:57ID: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.
どうも、何かがログインしてるみたいで、それを消さないといけないんだけど、
どうやればいいんでつか?
0470NAME IS NULL04/02/05 20:02ID:???
そのスクリプトが出してるメッセージじゃないの?
中身嫁。
0471NAME IS NULL04/02/05 20:16ID:qyxB+XUK
そうだよ、スクリプトが出してるメッセージ。
ようは、ログインしているユーザーを、探してログアウトさせないと
いけないのかな?どうやるの?
0472NAME IS NULL04/02/05 20:26ID:???
ログインしている、じゃなくてSQL Serverのlogin IDのことだべ。
0473NAME IS NULL04/02/05 20:45ID:qyxB+XUK
loginIDを消すわけ?どうやって?
0474NAME IS NULL04/02/05 20:53ID:???
そのくらい調べてちょんまぎ。
0475NAME IS NULL04/02/05 21:03ID:qyxB+XUK
すまぬ、調べているところなんだが、なんせDBの知識ないんで・・・
期限がせまっとる。ヒントでもいいからくれるとありがたい。
0476NAME IS NULL04/02/05 21:06ID:???
期限がどうのとかいうなら、素直にサポセンへどうぞ。
回答急かすのイクナイ。
0477NAME IS NULL04/02/06 11:52ID:vOcrI91v
やり方わかった。しかし、やる前にバックアップを取っておきたいなぁ
0478NAME IS NULL04/02/06 23:37ID:+5a7+TWW
アバウトな質問です。
SQLServer6.5 + WindowsNTの環境です。
ストアドで正常にテーブルの内容を返している状態から
テーブルをtruncateしてbcpinしなおした後に、
同じストアドを実行しても、結果が返ってきません。
(エラーではなく、結果が空)
ほんでもってストアドをリコンパイルするときちんと
元の状態に戻って結果を返してくれるようになります。

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

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

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

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

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

なるほど〜。

0499NAME IS NULL04/02/12 23:30ID:YyPPKpB6
ログ配布を行う条件って何ですか?
0500NAME IS NULL04/02/13 02:05ID:???
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が効いてない?)。
揃えなくていいのに…ていうか揃えて欲しくないのに…。

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

パスワードは普通なら先輩が残してくれたドキュメントにあるのでは?
ドキュメントがあるくらいならここにか着込まないか・・・
0504NAME IS NULL04/02/13 23:53ID:???
>>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」の様な)
0505NAME IS NULL04/02/14 00:43ID:QzrJY8Q2
ORACLEのSORT AREA SIZEにあたるものってありますか?


0506NAME IS NULL04/02/14 01:50ID:UrORhSm7
ストアドプロシージャの引数にストアドファンクションを渡すと
構文エラーが発生するのですが、ストアドファンクションは渡せないの?
0507NAME IS NULL04/02/14 04:25ID:???
ちょっとネタが古いが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
パラメータとして使いたければユーザー定義関数を使う。
0508NAME IS NULL04/02/14 13:17ID:LIdzC4tn
>>507
ファンクション=ユーザー定義関数なのでは?
0509NAME IS NULL04/02/14 14:22ID:???
>>488
なんか、この著者の「松本美穂」さんて、#当然ペンネームだろうが。
ニキータさんとおなじ匂いがするんだよなぁ。
ちがうのかなあ。
0510NAME IS NULL04/02/14 15:14ID:pEx+adIK
>>509
この人マイクロソフトのセミナーで講師やってたりするんだよね。
結構綺麗というのを聞いた事がある。

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

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

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

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

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

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

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

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

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

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

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

再セットアップさせてくれれば早いんですけど…はぁ。
0531NAME IS NULL04/02/21 00:53ID:???
それで言語道断は言いすぎだと思うが。
0532NAME IS NULL04/02/22 00:38ID:???
いや、w2ksにインターネットセキュリティ2002は言語道断だろう。
0533NAME IS NULL04/02/23 10:17ID:???
>>530
漢になれ。
http://pc2.2ch.net/test/read.cgi/win/1077077766/l50
0534NAME IS NULL04/02/24 15:13ID:???

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

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

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

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

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

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

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

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

0543NAME IS NULL04/02/25 21:56ID: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値フラグをビットでひとまとめにして管理することです。
0544NAME IS NULL04/02/25 23:52ID:???
>>543
0xffffみたく16進数で書けば?
054554304/02/26 02:04ID:???
自己解決。
POWER(CAST(2 AS bigint), 2) または
POWER(CONVERT(bigint, 2), 40)
でOKでした。
なるほど、引数の型か……。
0546NAME IS NULL04/02/29 15:49ID:ndQREWYg
バッファキャッシュのサイズってオラクルのように設定できるの?
ソートのサイズとかも。
0547NAME IS NULL04/03/02 22:56ID:7lF50t+o
教えてください。
普段は日本語Win2K上で英語版のSQLServer2Kを使っています。

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

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

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

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

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

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

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

>>548
varcharとtextが同じなのはPostgresだけの話
0551NAME IS NULL04/03/05 15:31ID:???
以下の様なテーブル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ではどの様にするのが一般的なのでしょうか?
クエリ一発で出来ちゃったりするのでしょうか?
ヒントだけでもいいので教えてください。
055255104/03/05 15:37ID:???
すいません。ずれまくりましたのでもう一度、

  テーブル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
  ------------------

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

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

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

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

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

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

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

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

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

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

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

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

定期的な集計処理を数分おきにして似非リアルタイムにするというのもあり
0592NAME IS NULL04/03/11 21:48ID:9opjoTop
>>583
Oracle のデベロッパーエディションは只ですが。
0593NAME IS NULL04/03/12 10:35ID:LJGVGwgP
TCPのソケットバッファとかって皆さん変更したりしてますか?
インターネットで言うところの、上り用のチューニングにあたるやつです
Bフレッツだと上りが3M→20Mとかになりますが、LANでも効果でるんでしょうか?
0594NAME IS NULL04/03/13 10:39ID:???
ADO.NETで、フィールドのタイプやサイズを所得したいのですが。
ADOのFieldsオブジェクトみたいなのは無いのでしょうか?
0595NAME IS NULL04/03/16 13:10ID:???
>>594
DataColumn オブジェクトのメンバで取得できますよ。
0596NAME IS NULL04/03/16 20:03ID:???
Windows Server 2003で運用してる方いますかー。
調子はどうですかー。
0597NAME IS NULL04/03/17 13:27ID:???
>>596
自宅はSmall BusinessServer2003PremiumEditionで、もう1ヶ月以上
運用しているけど、特になんとも。(まあ、負荷が少ないせいか)
Celeron1.2GHz+メモリ512MBでやってて、WindowsServer2003+SQL2000
のときに比べExchangeServer2003が重い感じがしていたけど、
メモリ768MBにしたら少しよくなった。
会社のWindowsServer2003+SQL2000は、Xeon2.4GHz×2+メモリ2GBなんで
激速
0598NAME IS NULL04/03/18 10:48ID:???
>>562
SQL Server 2000 Reporting Services ただ今、到着しました。
0599NAME IS NULL04/03/19 15:20ID:???
>>597
事業所でも、もう2003でSQL2000を運用してるんですね。参考になりました。
0600NAME IS NULL04/03/20 02:41ID: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
0601NAME IS NULL04/03/20 13:19ID:???
CASEは式の中でないと使えない
普通の言語に慣れてると戸惑うところかもな
0602NAME IS NULL04/03/20 14:11ID:???
もしマシンを悪意ある人間にいいようにいじられまくったとして、
DBのパスワードだけは(DB以外の場所からは)バレなかったとして、
DBのデータを勝手に読まれる危険ってのはどんなもんなんでしょう?

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

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

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

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

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


>>609
SQLでのCASEは関数だということが飲み込めれば問題ないかと
061260604/03/22 00:09ID: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に分割してもいいんですけど。一つずつしか見ないので。
061360604/03/22 00:14ID:vFiAjQBl
それと、上記のクエリだとテーブル結合してから抽出するのでしょうか?
それだと遅そうですよね。「抽出してから、抽出分に対して結合」って
どうするんでしょうか?
0614NAME IS NULL04/03/23 05:33ID:???
シャレにならない顧客情報流出事件が多い昨今、
なるべくセキュリティは万全にしたいのですが、
IIS+ASP+SQLServerで、
Windows認証と混合認証ではどちらのほうがより安全なのでしょう?

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

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

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

データを TTP://〜〜.asp で表示させる際、アドレスなどをハイパーリンク機能させたいのですが
その場合、データ型はどのようにしておけばいいのでしょうか。
0626NAME IS NULL04/03/31 23:05ID:???
>>625
リンクを作るのはASP側の仕事。
DBのデータ型が問題になるような話じゃない。
0627598 SQL Server Reporting Service実験中04/04/01 20:38ID:???
本日の朝、久しぶりに鯖の画面見たら、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をインストールしただけのマシン)
試しに、アプリケーションを作成して鯖配置したマシンだけの障害。
0628NAME IS NULL04/04/02 09:36ID:zKVMD3Op
トランザクション中はテーブル全体にロックがかかるんですか?
062962704/04/02 12:33ID:???
本日の朝、作成したファイルが保存(共有フォルダ)できなかった。
社内用鯖のCドライブのDISKスペースが残り0バイトになっていた。
今度は、C:\WINDOWS\system32\besnmp.TRC が、5,932,790KBとなってDISKを
使い果たしていた。こちらの鯖はReporting Serviceをインストールしただけ
なのだが。とりあえずこちらもReporting Serviceを止めた。
0630NAME IS NULL04/04/02 13:15ID:???
>>628
かかりません。
トランザクション内で、テーブル内の殆どのレコードを対象とする処理を行うか、
TABLOCK ヒントを用いないと、テーブルロックにはならないと思いますよ。
0631NAME IS NULL04/04/07 20:18ID:ItX9MY9J
VBからSQL Serverを使用して、DBのバックアップを行っているのですが
DBを削除して再作成すると前のDBのバックアップが戻せません。
なぜでしょうか?
削除したDBと新規に作成したDBの構造はまったく同じなんですが…
(両方ともVBから同一ルーチンで作成)
0632NAME IS NULL04/04/07 21:07ID:???
>>631
意味不明
0633NAME IS NULL04/04/07 21:20ID:???
>>631
 復元の際に選択出来るオプションの問題だと思うが。
0634NAME IS NULL04/04/08 14:11ID:GMR9kcP/
>>631
既存のデータベース上に強制的に上書きにチェックをつける
0635NAME IS NULL04/04/09 00:54ID:???
何をどう操作してどんなエラーメッセージが出たかも書かずに答えられるかボケ
0636NAME IS NULL04/04/12 14:31ID:???
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.
0637NAME IS NULL04/04/12 15:49ID:???
someone?
0638NAME IS NULL04/04/12 17:48ID:???
hey guys ok?
0639NAME IS NULL04/04/13 14:39ID:???
>636
テーブル・クエリのDLLファイルを再構築すれば直るんじゃないかな。
0640NAME IS NULL04/04/13 15:10ID:???
>>636
Do you remember Perl Harbor?
0641NAME IS NULL04/04/15 10:26ID:rU4Z4aNp
現在利用中のノートPC(大量にあります)に、SQLServer 2000 PersonalとSP3aをインストールしなくてはいけなくなりました。
SQLServer本体とSP3aを両方インストールしていると時間がかかりすぎるので困っています。
WindowsXPや2000の様に、SP3a適用済みSQLServerというのは作れないものでしょうか?

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0699NAME IS NULL04/05/06 18:18ID:DO2nPoNd
SQL Server7.0の頃のMSDEはOLAPやフルテキストが使えなかったようですが、
MSDE2000では使えるようになってるのかな?
0700NAME IS NULL04/05/07 15:27ID: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 と同一のデータが
存在した場合は、そこで中断したい。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

select replace(replace(rtrim(replace(replace(rtrim(colA), ' ', '♪'), ' ', ' ')), ' ', ' '), '♪', ' ')
077569404/05/29 18:23ID:???
最後が全角スペースだったら長さ-1文字を返す。
SELECT CASE WHEN RIGHT(colA,1) = (' ') THEN LEFT(colA,LEN(colA)-1) ELSE colA END FROM hogehoge
0776NAME IS NULL04/05/30 18:19ID:???
>>775
最後2文字が全角スペースだったら?
0777NAME IS NULL04/05/30 19:26ID:???
自分で言うのも何だが、>>768で決まりだと思う。
半角スペースと全角スペースが混在していても削除できるし。
0778NAME IS NULL04/06/04 09:22ID:???
かわいいな
ttp://www.sqlpassj.org/communication/report/book/review029.aspx
0779NAME IS NULL04/06/05 21:53ID:/NvzgXj/
SQL*plusみたいに
>col column_name for a30
とかいうカラムサイズを簡単に変えられるコマンドないの?
0780NAME IS NULL04/06/08 08:24ID:???
WITH (NOLOCK)
ってなんですか?
0781NAME IS NULL04/06/08 12:04ID:???
WITHOUT LOCK
0782NAME IS NULL04/06/09 03:04ID:???
>>780
BooksOnlineでNOLOCKを調べれ
0783NAME IS NULL04/06/10 10:32ID: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
こんなことやってみたりしたのですがどれもエラーとなってしまいます。

どうすればよいのでしょうか。ご教示お願いします。
0784NAME IS NULL04/06/10 11:33ID:???
テーブル名は変数じゃ指定できないんじゃないのか?
動的にSQL文作ってEXEC
078578304/06/10 11:48ID:???
なるほど、そういうことでしたか。
ありがとうございました。
0786NAME IS NULL04/06/10 12:29ID:???
OracleのDESCに当たるものは何ですか?
0787NAME IS NULL04/06/10 16:42ID:???
もっといい方法があるのならスマソだが、syscolumnsとsysobjectsを
使えばいいんでは無いだろうか。
0788NAME IS NULL04/06/10 21:04ID:???
(´-`).。oO一瞬だけORDER BY … DESC だと思ってしまった。
0789NAME IS NULL04/06/10 23:34ID:7MeCOMSq
皆がよく使うDBCCコマンドは何?
0790NAME IS NULL04/06/11 01:22ID:???
showcontig
updateusage
checkdb
dbreindex
0791NAME IS NULL04/06/13 20:49ID: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を学んだ方って、こんなにレベル低いのは
ごく一部か?
0792NAME IS NULL04/06/13 21:35ID: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系では、
これを推奨していると、豪語しているのですが
本当なのですか?
0793NAME IS NULL04/06/13 21:39ID:SZI/iiZk
792ですが、コピペを間違えました。
2.SELECT Min(a1) as a1 from t1 と修正しておきます。
0794NAME IS NULL04/06/13 21:40ID:???
そんな内輪ネタを一般論として披露されても。
0795NAME IS NULL04/06/13 22:01ID:???
SQLプロファイラで実行速度を比較して突きつければ?
0796NAME IS NULL04/06/14 02:23ID:???
>>791-793はそのうちプロジェクトから追放されるに1票
0797NAME IS NULL04/06/14 13:25ID:UFEjJPyg
日付型のフィールドの検索をLIKEを使用して、

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

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

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

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

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

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

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

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

YEAR,MONTHで試してみます。
0800NAME IS NULL04/06/14 15:13ID:???
んじゃ、
WHERE CONVERT(〜,日付型フィールド,望みの書式) LIKE '%2004/02%'
とか。
0801NAME IS NULL04/06/14 15:21ID:UFEjJPyg
このまま実行したら、構文エラーになってしまいました。
"〜"には、なにが入るのですか?
0802NAME IS NULL04/06/14 16:02ID:???
ヘルプ嫁
0803NAME IS NULL04/06/14 16:07ID:???
藻前は797にあげた文を書いたときにCONVERTについて調べなかったのか?
0804NAME IS NULL04/06/14 16:20ID:UFEjJPyg
失礼しました。
しかし、必要なデータは取得できませんでした。
無理っぽいので、プログラムで制御するようにします。
0805NAME IS NULL04/06/14 17:24ID:???
( ´_ゝ`)フーン
0806NAME IS NULL04/06/14 17:38ID:iQeeg+UC
すいません、ちょっと教えてください。
MySQLにて文字列を大文字・小文字区別なしに検索したい場合は
どのようにすればよいのでしょうか?
0807NAME IS NULL04/06/14 18:13ID:???
スレタイも読めない人は放置して次の質問ドゾー
0808NAME IS NULL04/06/14 19:12ID:???
>>804
あんたには無理っぽいが、一般には無理ではないぞ。
0809NAME IS NULL04/06/14 21:51ID:vKQjEhzN
ORDER BY ASC,ORDER BY DESC,MAXと比較したら、
やっぱりMAX関数が速かった。
0810to:sage04/06/14 21:55ID:vKQjEhzN
>>805 意味不明
081180604/06/14 22:02ID:iQeeg+UC
あ。。すいませんでした。
0812NAME IS NULL04/06/14 22:09ID:???
どうしても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'
0813NAME IS NULL04/06/14 22:44ID:???
「二月末」を簡単に表す方法はありますか?
0814NAME IS NULL04/06/14 23:06ID:???
>>813
翌月頭の前日と考えればうるう年でも大丈夫。
dateadd(d,-1,dateadd(m,1,'2004/2/1'))
0815NAME IS NULL04/06/14 23:29ID:???
>>814
素直に3月1日の前日のほうがいいと思う。
わざわざ2月1日に1ヶ月足さなくても。
0816NAME IS NULL04/06/15 00:30ID:???
>>815
固定ならその通りだけどパラメータ渡しの事も考えてたのでね。
0817NAME IS NULL04/06/15 08:03ID:???
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権限を与えてあげる、みたいな方法が有ればよいのですが、
それもできそうにないので困ってしまいました。
どなた様かご教示お願いします。
0818NAME IS NULL04/06/15 23:49ID:???
>>817
グローバル一時テーブルにこだわらないで
普通に普段使っているDB上にテーブル作るのじゃ駄目なのか?
hostnameをカラムとして持てば
ホスト別にテーブルを分ける必要もないと思うのだけど。
0819NAME IS NULL04/06/16 22:27ID:Ky2FO1ZC
WebサーバにReporting Servicesをインストールしました。
DBサーバに接続し、レポートを表示させようと思いましたが
DBの接続で失敗してしまいます。
イベントビューアを見ると
イベントID:107
ソース:Report Server
というのがあります。

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

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

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

用意する2台は予算などにもよりますが、同等のものを2台用意するか、予備機の
方はメインの修理中の間だけしかDBサーバとしては使わないので、少しメインより
スペックを落としてレスポンスが落ちることを我慢するか。
うちのお客さんの場合には、クライアント側のうち1台だけほかのクライアントより
CPU,メモリ、HDDを強化したものを納品して、いざというときにはそれをサーバの
代わりにするという話になっていました。
083783604/06/26 01:04ID:???
>短いスパンでトランザクションログをバックアップしておいて、障害発生時は安い予備機に
>バックアップを元に復旧、みたいな事も可能なんでしょうか。
これは可能でしょう。バックアップは1日1回フルバックアップをとり、それ以外に一定時間ごとに
トランザクションログを取得。
リカバリ時には、最初にフルバックアップのデータをリストアし、その後トランザクションログを
かけあわせていけばよかったと思います。
083883604/06/26 01:54ID:???
最近この手の仕事をしてないので練習がてら考えてみた。
ハードは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は必要数がわからないので適当に設定。
0839NAME IS NULL04/06/27 00:17ID:???
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'
で、希望通りの動作が出来るのですが、どこが間違っているのでしょうか。
0840NAME IS NULL04/06/27 00:53ID:???
それだと
WHERE hiduke = '2004-06-23 00:00:00'
と等価になるんじゃないか?
084182704/06/27 11:34ID:???
>836-838
おぉぉ実体験と具体的な例ありがとうございます。(感涙)
いざという時はクライアントをサーバ代わりにというのは目から鱗です。
今は色々なメーカーのサイトを巡ってハードの事を勉強中です。
オンサイト保守の対応時間一つとってもメーカーごとに多種多様で迷います。
OSもWindows2003SBSってのもあるやうですね。
迷いまする。

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

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

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

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

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

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

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

わかる方いたら教えてください。
0853NAME IS NULL04/06/28 20:43ID:???
クライアント側で制御すればすむって話じゃないのか?
085484804/06/28 20:50ID:???
上は無能なのでもう仕様変更できませぬ
085585004/06/28 21:42ID:???
>>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
0856NAME IS NULL04/06/29 10:40ID:???
>>855
うおっ!?
できた!できますた!

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

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

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

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

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

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

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

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

ところでコールドバックアップしなければならない状況ってどんなの?
バックアップ中にデータ更新されたくないのなら
ALTER DATABASE で RESTRICTED_USER にすればいいと思うのだけど。
0863NAME IS NULL04/07/03 10:19ID:ugQL0hQR
ログ配布の勉強をしたいのですが
1台のマシンでログ配布って可能でしょうか?
0864NAME IS NULL04/07/03 12:26ID:???
>>863
名前つきインスタンスで1台のマシンに
SQLServerを複数インストールすればいいんじゃない?
0865NAME IS NULL04/07/03 22:19ID:ugQL0hQR
DTSでデータをセットした場合も
トランザクションログに記録されるのでしょうか?
0866NAME IS NULL04/07/03 22:19ID:ugQL0hQR
>>864
ありがとうございます。
そのやり方で1台に複数のデータベースを構築してみます。
0867NAME IS NULL04/07/03 23:36ID:ugQL0hQR
>>865
記録されることを確認出来ました。。。
0868NAME IS NULL04/07/04 00:09ID:???
masterデータベースが更新されるときって
どんな場合なんですか?
0869NAME IS NULL04/07/04 14:52ID:???
master dbにあるテーブルが更新されるとき。
0870NAME IS NULL04/07/04 22:33ID:???
master dbにあるテーブルが更新されるときって
どんな場合なんですか?
0871NAME IS NULL04/07/05 12:20ID:???
masterデータベースが更新されるときって
どんな場合なんですか?
0872NAME IS NULL04/07/05 15:17ID:???
つまんないのでやめませんか?
0873NAME IS NULL04/07/05 17:57ID:???
master dbのバックアップって
必要なんですか?
0874NAME IS NULL04/07/05 19:32ID:???
masterに格納されている内容を調べれば、必要かどうかわかりますよ。
0875NAME IS NULL04/07/06 01:51ID:jQqWUtHu
SQLServerが入っているサーバとは別のサーバに
テープデバイスがあるんだけど、そのテープに
ファイルが作成されるように、BACKUP DATABASEコマンド
って実行できる?
0876NAME IS NULL04/07/06 19:58ID: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するようにしたいのですが、どうすればこのような結果セットに
できるのでしょうか?

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

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

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

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

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




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

>>886
BACKUP LOGをやったらログの切捨てをする意味ないんじゃないの?
0890NAME IS NULL04/07/15 22:54ID:nTkCbiEM
>>886
BACKUP LOGを実行するとログは自動的に切り捨てられますよ。
0891NAME IS NULL04/07/16 00:52ID: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を参照
0892NAME IS NULL04/07/16 13:31ID:PQbpoalf
XMLファイルがあり、SQL Server 2000にインポートしようと思っています。
・・・が、やり方がわかりません。
Access 2003からSQL ServerをリンクしてImportXML(ファイル名)ってするのもどうかと思って・・・
[Enterprise Manager]や[データのインポートとエクスポート]からやれないものでしょうか?
環境はWin2k ServerとSQL 2k Developerで、XMLファイルはVB.netの.writeXmlで出力したものです。
0893NAME IS NULL04/07/16 20:30ID:???
>>892
FOR XMLは使えないの?
0894NAME IS NULL04/07/17 00:13ID:ALdlMyfT
すいません、素人です。皆様、教えてください。

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

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

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

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

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

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

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

なんで?
0908NAME IS NULL04/07/18 01:08ID:???
>>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
0909NAME IS NULL04/07/18 02:04ID:???
>>908
sysobjectsは全てのデータベースにある。
別にmasterだけじゃない。
0910NAME IS NULL04/07/18 02:11ID:8cJAbu7U
>>898は釣りか?
デベロッパ版のSQLサーバーなら9000円で買えるぞ
0911NAME IS NULL04/07/18 03:30ID:???
>>910
それで開発して、納品はMSDEって蟻?
091290804/07/18 08:41ID:???
>>909
どうも、今確認してみたけどたしかに各データベースにありました。
・・・今までmasterで一元管理してると思い込んでた。
0913NAME IS NULL04/07/18 13:33ID:???
>>911
まあ、それも蟻じゃない?
ところで、客のところで問題が起きたときはクエリアナライザもEnterpriseManagerもない環境でどうするつもりだ?
(osql使いまくれれば無問題だが)。
0914NAME IS NULL04/07/18 14:50ID:???
>>902
>整合性の不正ってどんな状態ですか?

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

どうなった?
0916NAME IS NULL04/07/18 20:11ID:Mx4CXRqG
>>914
>インデックスがとんでもないページを指してたりとか色々。
これによってどんな障害が発生するのですか?
この状態のテーブルをCHECKTABLEすると
どのような結果が返るのですか?
今までCHECKTABLEをやっても
ページ数と行数しか表示されないので、どういった結果が
表示されるのか知りたいです。
0917NAME IS NULL04/07/18 20:49ID:???
>>916
http://support.microsoft.comでdbccを検索
0918NAME IS NULL04/07/19 00:00ID:???
>>915
naorimasita
0919627 SQL Server Reporting Service04/07/19 13:57ID:???
>>627 Reporting ServiceをインストールしたらHDDがパンクした件
決算期にかかっていたためReporting Serviceを止めておいただけで
何も手が付けられなかったが、Reporting ServiceのSP1がリリース
されたんでインストールし、1週間たったが今のところ異常なし。
もしかしてSP1がこんな早く出たのはこのため?
0920NAME IS NULL04/07/19 15:45ID: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
0921NAME IS NULL04/07/19 18:45ID:???
>>920
6.5にもsysobjectsはある。権限不足で見えてないのかもね。
一度saで試してみれば?

0922NAME IS NULL04/07/19 20:39ID:???
>>918

やり方教えてくれませんか。
0923NAME IS NULL04/07/19 21:41ID:RYmJLFqA
BACKUP DATABASEの実行中に
DBCC SHOWCONTIGやDBCC DEFRAGINDEXを実行しても
問題無いのでしょうか?
0924NAME IS NULL04/07/19 21:53ID:???
>919
M$相変わらずだな。もう本当ムカつく。
0925NAME IS NULL04/07/19 21:57ID:RYmJLFqA
>>919
パッチはReportingServiceをインストールしたWebサーバ側に適用するの?
それともWebサーバが接続するDBサーバ側に適用?
0926NAME IS NULL04/07/20 09:02ID:???
>>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
0927NAME IS NULL04/07/20 09:05ID:???
>>924
まあ、いつもの事だから。
本番環境にインストールしてトラぶった人は他にもいるのかな?
普通はいきなり本番しないよね。
0928NAME IS NULL04/07/20 22:21ID:nv5x7Ysk
>>926
ReportingServicesってDBサーバにインストールしてるの?
IISが必須だからWebサーバに入れてるんだけど。
で、インストール過程で使用するDBサーバを選択すると
DBサーバ側にReportServerとReportTEMPが作られる。

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

0935NAME IS NULL04/07/29 23:29ID:E3c6nq/5
質問です。

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

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

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

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

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

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

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

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

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

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

文字列→ ttt*i*ss

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0971NAME IS NULL04/08/19 14:36ID:???
テーブルの項目名の付け方なんですが
T_01
T_02
...
T_99
とするのか
s_code
s_name
s_tanka
...
とするのか名前は保守を考えるとどうするのがベターですか?
0972NAME IS NULL04/08/19 16:27ID: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では、これは仕様と思って(どんな仕様じゃぁ〜!)あきらめるしかないでつか?
それともなにか上記を回避するコマンドがあるのでしょうか?
ご存知の方がいたら、助けてください。お願いしまつ。。。
0973NAME IS NULL04/08/19 16:48ID:???
>>972
同じようにやってみたけど、こっちではちゃんと NULL になるよ。
SQL Server のバージョンは?
こちらは SQL Server 2000 SP3a (8.00.818) だけど。
0974NAME IS NULL04/08/19 16:54ID:???
>>970
MSDN でさえ、SQL Server 6.5 の英語版しかないねぇ。(7.0なんて、もう無い…)
とりあえず、駄目もとで、MS に問い合わせてみたら?
0975NAME IS NULL04/08/19 17:04ID:6PtYNdGY
>>973
SQLServer 2000の 8.00.382 となっています。
原因はこの辺の違いでしょうか?
0976NAME IS NULL04/08/19 17:11ID:???
>>975
8.00.382 は SP1だね。
SP によって T-SQL の動作に変化があるようだし、セキュリティ的にも良くないから、
当てるのが難しい理由が無いのなら SP3a を当てては?
097797604/08/19 17:30ID:???
>>975
これっぽいかな?

http://support.microsoft.com/default.aspx?scid=kb;JA;321541&Product=sqlserverJPN
0978NAME IS NULL04/08/19 17:35ID:6PtYNdGY
>>976
原因はそれしか考えられませんね。。。
実はパッチを当てるのは難しいのです。
現在稼働しているシステムを止められるかどうかということと、
パッチを当てるにあたり、決定的な説得材料がない事です。
MSのサイトにこの不具合の事が記載されていれば良いのですが・・・
2chで聞いたでは管理者を説得できません・・・
ですが大変参考になりました。
すばやいレスをしていただき、ありがとうございました。
097997804/08/19 17:38ID:6PtYNdGY
>>975
977さん
大変失礼しました。
ありがとうございます!!!!
これで管理者を説得できそうです。
976さんもありがとうございました!!!!
0980NAME IS NULL04/08/19 22:13ID:???
>>971
テーブル1の T_01 とテーブル2の T_02 が同じ項目(たとえば商品コード)
だった時に混乱しないか?
0981NAME IS NULL04/08/19 23:24ID:???
>>971
T_01,T_02・・・この名まえ付け規則にした場合になにかメリットあります?
項目名がわかる名前のほうがいいと思うのだが。
0982NAME IS NULL04/08/20 01:01ID:???
>>969
意味がわからん。
ビューは仮想表でストアドプロシージャはロジック書ける処理じゃん。
なんでパラメータとかしか見ないわけ?
0983NAME IS NULL04/08/20 01:02ID:???
>>971
連番つけるようなCOBOLerみたいなことするなよ・・
0984NAME IS NULL04/08/20 01:43ID:APMjmQeA
あるDBのデータファイルが壊れたときの最新の状態までの復元方法について教えてください。
(バックアップ、トランザクションログファイルは全て残っている。)

ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/adminsql/ad_bkprst_565v.asp

に手順はあるのですが、
-----抜粋
最後に作成したデータベースのバックアップを使ってデータベースを復元します。
1.現在アクティブなトランザクション ログのバックアップを作成します。
-----
でいきなりつまずいております。

データファイルが壊れた状態でどうやってトランザクションログのバックアップ
を取ればいいのでしょうか。
0985NAME IS NULL04/08/20 02:14ID:???
>>971
前者のメリットを教えてくれ。
0986NAME IS NULL04/08/20 10:03ID:???
>>980
混乱するのは確かです。
まだ、PG1年目で王道を知りません

>>981
>T_01,T_02・・・この名まえ付け規則にした場合になにかメリットあります?
>項目名がわかる名前のほうがいいと思うのだが。
会社全体がこうなので、私は従うしか。。。
メリットはこのやりかたを覚えれば、この会社の仕事がスムーズに
いくことぐらいでしょうか。。。

>>983
当たりです。
みなさん子ぼらーです


098797104/08/20 10:06ID:???
>>985

>前者のメリットを教えてくれ。
・項目名を考えなくてよい
・このやり方を覚えるとこの会社で生きていける
ぐらいです
0988NAME IS NULL04/08/20 14:19ID:???
>>987
選択の余地がないな。保身のためにもT_01方式を採用しておけ。
あんた一人がs_codeとか名付けても他のテーブルが腐ってちゃあまり意味がないし。
098997104/08/20 14:43ID:???
>>988
わかりました。T_01の方向でいきます。

第一線のデータベース設計とは連番が主流かと思い込むところでした
もっとトレンドなDBを勉強したいですが、なかなか難しいですね

DBの扱いも、ISAMファイルを扱うようにぐるぐるまわしてますから
古きよき時代の勉強になります
0990NAME IS NULL04/08/20 16:05ID:???
ところでs_codeのs_ってなに?
0991NAME IS NULL04/08/20 16:11ID:???
short
099297104/08/20 16:33ID:???
>ところでs_codeのs_ってなに?

データベースの項目名の付け方がわかりません
s_codeは即興で書いたものですが
商品コード = s_code = shouhin_codeの意味で書きました

ちなみにVBからSQLServer2000を読み込んで
印刷のためにAccess2000に流しこんでいるといったことをしています
さらにAccess2000に付けている項目名は、商品名1とかの漢字です
0993NAME IS NULL04/08/20 19:16ID:???
拡張ストアドを登録して実行したところ

ライブラリ 'hogehoge.dll' のストアド関数 xp_hoge でアクセス違反が発生しました。SQL Server はプロセス 52 を終了しています

と表示され実行できません
DLL自体は市販のものでVBやCで組み込んで実行できるものです

拡張ストアドの呼出し手順が悪いのか
そもそも専用に作られていないDLLが呼び出せないものなのか

よろしくおながいします
0994NAME IS NULL04/08/20 22:21ID:???
>>983
真のコボラーならテーブル定義のカラムは2つしか定義しない。Key と Data だけだ。
Data の中をプログラム内で REDEFINE して使うのが真のコボラーである。
0995NAME IS NULL04/08/20 22:26ID:???
>>989
T_01 方式でカラムが99個を超えたらどうするのだ?
どうせそんな設計だと第1正規形にもなってないだろ。
0996NAME IS NULL04/08/20 23:27ID:???
>>995
商品テーブル1と商品テーブル2があるんじゃない?
主キーは完全に同一ね。

てかそろそろ次スレを誰か。
0997次スレ104/08/20 23:37ID:19KWsGbt
たてたよ
http://pc5.2ch.net/test/read.cgi/db/1093012583/
0998NAME IS NULL04/08/21 00:09ID:VEnMX5Yk
もつかれ
0999NAME IS NULL04/08/21 00:19ID:???
>>992
項目名を省略しながらつけるんだったら、システムで扱いたいデータ項目にとって
重要じゃないほうを短くしたほうがいいよ。
今の例だと「商品」ってのが想像できない名前はよくないと思う。
1000NAME IS NULL04/08/21 00:20ID:???
1000!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。