5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

MS SQL Server 総合スレ

1 :<NULL>:03/07/01 21:11 ID:???
Microsoft SQL Server (Transact-SQL) の総合スレッドです。

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

952 :NAME IS NULL:04/08/11 14:38 ID:???
GUI付属してくるんじゃないの?説明読む限りだと

SQL Server Express は、ストアド プロシージャ、ビュー、トリガ、カーソル、CLR サポート、XML サポートなど、
SQL Server データベース エンジンの豊富な機能をすべて含んだ、SQL Server 2005 の軽量バージョンです。
また、SQL Server Express は、無料で簡単に使用できる管理ツールである SQL Server Express Manager が付属する形で提供されます。
詳細については、SQL Server 2005 Express Edition page の「主な特長」セクションを参照してください

953 :NAME IS NULL:04/08/11 17:16 ID:???
>>952
レスありがとうございます。
もうちょっといじって確かめたいと思います。

954 :NAME IS NULL:04/08/13 13:17 ID:QpjalcsX
素人質問ですいませんが、
クエリアナライザの
ユーザーテーブル→HOGE_TABLE→開くと
読み取り専用で開いて編集出来ません。
 誰か知りませんか?

955 :NAME IS NULL:04/08/13 13:50 ID:QpjalcsX
自己レスです
プライマリーキーを付け忘れてました。

956 :NAME IS NULL:04/08/13 18:23 ID:???
MSSQLのJDBCドライバの性能が激しく悪いのは仕様なんですかね。
特にPreparedStatementでプリコンパイルされたカーソルを使った
検索がアフォみたいに遅いです。常にそうなるのか分かりませんが、
CHAR型のPKに対して検索すると、普通のStatementでの検索の
数十倍程度遅かったですね。CPUもまわりっぱなしなので
どうもドライバが著しく無駄な仕事をMSSQLにさせているらしい。

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

ま、PreparedStatementを使わなきゃいいんですが、それでも
.NETのSqlClientやADOに比べると、数倍程度は遅いんですよねえ。


957 :NAME IS NULL:04/08/14 22:01 ID:???
>>956
パラメータでnvarchar(4000)になるのは
.NETのSqlCommandでParameter使った場合も同じだったような…。

958 :NAME IS NULL:04/08/15 12:40 ID:???
>>957
.NETだと、そもそもsp_opencursorを使っていませんし、
そういうバカげたことにはならなかったですね。

ADOおよびADO.NETのCommandインタフェースのパラメタは、
明示的に型と型長を指定しますから、
そういうことにはならないのだと思いますが。
これはユーザ側にとって面倒でもあるんですがね。

959 :NAME IS NULL:04/08/16 21:18 ID:???
SQL 2000をWS2003にインストールするにはSP3以降が必要らしいですが、どうすればSP3になるのでしょうが?
WindowsのようにSPと統合できるのですか?
分かる方おしえてください。

960 :age2ch:04/08/16 23:04 ID:???
age

961 :NAME IS NULL:04/08/17 00:09 ID:???
>>959
マイクロソフトWebサイトのサポート技術情報にインストール方法が
記載されているので調べてみて。(URLは忘れてしまったので勘弁)
SQLServer2000のページから辿っていける。

962 :959:04/08/17 02:20 ID:???
>961
アップグレードして適用する方法らしきものは見つかったのですが、直接導入する方法は見つかりません。
http://www.microsoft.com/japan/sql/howtobuy/windowsnetsupport.asp

もう少し検索してみます。。。
今日も徹夜orz

963 :959:04/08/17 02:35 ID:???
http://support.microsoft.com/default.aspx?scid=kb;ja;329329
普通にセットアップしてsp3をすぐいれればいいのか。。。

でも、ws2003インストールあとすぐにSQL Server 2000インストールじゃなくてもいいのかなぁ?
分かる方情報希望。

964 :NAME IS NULL:04/08/17 04:30 ID:xbONUM4Q
SBS2003でやったけど
SQL2000入れて、直後にSP3でOK
セットアップ起動後エラーがでるけど無視して続行

965 :NAME IS NULL:04/08/17 23:28 ID:???
初歩的な質問なんですが、ビューとストアードプロシージャの
使い分けがどうもピンと来ません。
例えば、常に同じSELECT文を実行したい時などは、どっちを
使うのがより一般的なのでしょう?

966 :NAME IS NULL:04/08/18 00:53 ID:???
>>965
何をどう混同したらその二つで悩むことになるのだ・・
ストアドプロシージャは名前のとおりプロシージャにつかっとけ。

ただ、単にSELECT発行したいだけならどっちもいらんだろ。

967 :NAME IS NULL:04/08/18 23:30 ID:???
ビューとテーブルの間違いじゃないのけ?


968 :NAME IS NULL:04/08/19 02:43 ID:q/wDTfp7
郵政公社の郵便番号CSVをインポートして
都道府県・市区町村・町域にフルテキストインデックスを付けたのですが
検索でヒットする住所とヒットしない(何故か全件出る)住所が出てきます

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

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

実行したSQLは
SELECT * FROM KEN_ALL
WHERE FREETEXT(*, ”ここに住所” )

969 :NAME IS NULL:04/08/19 10:36 ID:???
>>966

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



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



971 :NAME IS NULL:04/08/19 14:36 ID:???
テーブルの項目名の付け方なんですが
T_01
T_02
...
T_99
とするのか
s_code
s_name
s_tanka
...
とするのか名前は保守を考えるとどうするのがベターですか?

972 :NAME IS NULL:04/08/19 16:27 ID:6PtYNdGY
業務ではまっていますぅ・・・
すみません。どなたか助けて下さい・・・

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

testtab1

 key_cd
 -------
 1111
 2222

testtab2
 key_cd
 -------
 8888
 9999

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

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

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

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

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

oracleやUDBでもテストしましたが、seqはちゃんと NULL が帰ってきます。
SQLServerでは、これは仕様と思って(どんな仕様じゃぁ〜!)あきらめるしかないでつか?
それともなにか上記を回避するコマンドがあるのでしょうか?
ご存知の方がいたら、助けてください。お願いしまつ。。。

973 :NAME IS NULL:04/08/19 16:48 ID:???
>>972
同じようにやってみたけど、こっちではちゃんと NULL になるよ。
SQL Server のバージョンは?
こちらは SQL Server 2000 SP3a (8.00.818) だけど。

974 :NAME IS NULL:04/08/19 16:54 ID:???
>>970
MSDN でさえ、SQL Server 6.5 の英語版しかないねぇ。(7.0なんて、もう無い…)
とりあえず、駄目もとで、MS に問い合わせてみたら?

975 :NAME IS NULL:04/08/19 17:04 ID:6PtYNdGY
>>973
SQLServer 2000の 8.00.382 となっています。
原因はこの辺の違いでしょうか?


976 :NAME IS NULL:04/08/19 17:11 ID:???
>>975
8.00.382 は SP1だね。
SP によって T-SQL の動作に変化があるようだし、セキュリティ的にも良くないから、
当てるのが難しい理由が無いのなら SP3a を当てては?

977 :976:04/08/19 17:30 ID:???
>>975
これっぽいかな?

http://support.microsoft.com/default.aspx?scid=kb;JA;321541&Product=sqlserverJPN


978 :NAME IS NULL:04/08/19 17:35 ID:6PtYNdGY
>>976
原因はそれしか考えられませんね。。。
実はパッチを当てるのは難しいのです。
現在稼働しているシステムを止められるかどうかということと、
パッチを当てるにあたり、決定的な説得材料がない事です。
MSのサイトにこの不具合の事が記載されていれば良いのですが・・・
2chで聞いたでは管理者を説得できません・・・
ですが大変参考になりました。
すばやいレスをしていただき、ありがとうございました。

979 :978:04/08/19 17:38 ID:6PtYNdGY
>>975
977さん
大変失礼しました。
ありがとうございます!!!!
これで管理者を説得できそうです。
976さんもありがとうございました!!!!


980 :NAME IS NULL:04/08/19 22:13 ID:???
>>971
テーブル1の T_01 とテーブル2の T_02 が同じ項目(たとえば商品コード)
だった時に混乱しないか?


981 :NAME IS NULL:04/08/19 23:24 ID:???
>>971
T_01,T_02・・・この名まえ付け規則にした場合になにかメリットあります?
項目名がわかる名前のほうがいいと思うのだが。

982 :NAME IS NULL:04/08/20 01:01 ID:???
>>969
意味がわからん。
ビューは仮想表でストアドプロシージャはロジック書ける処理じゃん。
なんでパラメータとかしか見ないわけ?

983 :NAME IS NULL:04/08/20 01:02 ID:???
>>971
連番つけるようなCOBOLerみたいなことするなよ・・

984 :NAME IS NULL:04/08/20 01:43 ID:APMjmQeA
あるDBのデータファイルが壊れたときの最新の状態までの復元方法について教えてください。
(バックアップ、トランザクションログファイルは全て残っている。)

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

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

データファイルが壊れた状態でどうやってトランザクションログのバックアップ
を取ればいいのでしょうか。


985 :NAME IS NULL:04/08/20 02:14 ID:???
>>971
前者のメリットを教えてくれ。

986 :NAME IS NULL:04/08/20 10:03 ID:???
>>980
混乱するのは確かです。
まだ、PG1年目で王道を知りません

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

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




987 :971:04/08/20 10:06 ID:???
>>985

>前者のメリットを教えてくれ。
・項目名を考えなくてよい
・このやり方を覚えるとこの会社で生きていける
ぐらいです


988 :NAME IS NULL:04/08/20 14:19 ID:???
>>987
選択の余地がないな。保身のためにもT_01方式を採用しておけ。
あんた一人がs_codeとか名付けても他のテーブルが腐ってちゃあまり意味がないし。


989 :971:04/08/20 14:43 ID:???
>>988
わかりました。T_01の方向でいきます。

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

DBの扱いも、ISAMファイルを扱うようにぐるぐるまわしてますから
古きよき時代の勉強になります


990 :NAME IS NULL:04/08/20 16:05 ID:???
ところでs_codeのs_ってなに?

991 :NAME IS NULL:04/08/20 16:11 ID:???
short

992 :971:04/08/20 16:33 ID:???
>ところでs_codeのs_ってなに?

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

ちなみにVBからSQLServer2000を読み込んで
印刷のためにAccess2000に流しこんでいるといったことをしています
さらにAccess2000に付けている項目名は、商品名1とかの漢字です


993 :NAME IS NULL:04/08/20 19:16 ID:???
拡張ストアドを登録して実行したところ

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

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

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

よろしくおながいします

994 :NAME IS NULL:04/08/20 22:21 ID:???
>>983
真のコボラーならテーブル定義のカラムは2つしか定義しない。Key と Data だけだ。
Data の中をプログラム内で REDEFINE して使うのが真のコボラーである。


995 :NAME IS NULL:04/08/20 22:26 ID:???
>>989
T_01 方式でカラムが99個を超えたらどうするのだ?
どうせそんな設計だと第1正規形にもなってないだろ。

996 :NAME IS NULL:04/08/20 23:27 ID:???
>>995
商品テーブル1と商品テーブル2があるんじゃない?
主キーは完全に同一ね。

てかそろそろ次スレを誰か。

997 :次スレ1:04/08/20 23:37 ID:19KWsGbt
たてたよ
http://pc5.2ch.net/test/read.cgi/db/1093012583/

998 :NAME IS NULL:04/08/21 00:09 ID:VEnMX5Yk
もつかれ

999 :NAME IS NULL:04/08/21 00:19 ID:???
>>992
項目名を省略しながらつけるんだったら、システムで扱いたいデータ項目にとって
重要じゃないほうを短くしたほうがいいよ。
今の例だと「商品」ってのが想像できない名前はよくないと思う。

1000 :NAME IS NULL:04/08/21 00:20 ID:???
1000!

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

267 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)