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

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

Microsoft SQL Server 総合スレ 8

1 :NAME IS NULL:2009/11/28(土) 21:01:18 ID:???
Microsoft SQL Server 総合スレ 8

Microsoft SQL Server (Transact-SQL) の総合スレッドです。

・Microsoft 公式サイト
http://www.microsoft.com/japan/sql/


・過去スレ
Microsoft SQL Server 総合スレ 7
http://pc11.2ch.net/test/read.cgi/db/1231665917/

Microsoft SQL Server 総合スレ 6
http://pc11.2ch.net/test/read.cgi/db/1207377114/l50

Microsoft SQL Server 総合スレ 5
http://pc11.2ch.net/test/read.cgi/db/1175091880/l50

Microsoft SQL Server 総合スレ 4
http://pc11.2ch.net/test/read.cgi/db/1142315583/l50

Microsoft SQL Server 総合スレ3【MS SQL】
http://pc11.2ch.net/test/read.cgi/db/1123981539/l50

MS SQL Server 総合スレ2
http://pc11.2ch.net/test/read.cgi/db/1093012583/l50


2 :NAME IS NULL:2009/11/29(日) 17:05:59 ID:???
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < Oracle RAC と同等の機能まだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  愛媛みかん |/


3 :NAME IS NULL:2009/11/30(月) 13:16:44 ID:???
皆さんはSQL Serverのデータベースサイズ見積もりとか
どのようにやってますか?

何かOracleみたいにツールとかないんですかね?

今新しいシステムでSQL Server使うことになったので
調べてるんですが、SQL Server7.0のExcelは
発見したんですが、どうも使い勝手が悪いのと
バージョンが古すぎるので心配で・・・

MSDN見ながら自力でやるしかないのかなぁ

4 :NAME IS NULL:2009/12/01(火) 01:05:18 ID:???
>データベースサイズ見積もり
テスト環境に実際にデータ放り込んでから考える

5 :NAME IS NULL:2009/12/01(火) 19:46:45 ID:???
そろそろ正規表現を実装して欲しいな
2008R2ではどうなることやら

6 :NAME IS NULL:2009/12/02(水) 19:00:02 ID:???
SELECT * FROM hoge JOIN table_kansu(hoge.id) on 1 = 1

ってなイメージじで、hogeテーブルの1行ごとにテーブル関数の結果をjoinしたのですが、
どのように書けばよいのでしょうか?


7 :NAME IS NULL:2009/12/02(水) 20:42:51 ID:???
select *, table_kansu(id) from hoge

8 :NAME IS NULL:2009/12/05(土) 15:40:12 ID:???
マイクロソフトの正規表現って使いづらくない?

9 :NAME IS NULL:2009/12/05(土) 21:25:18 ID:???
初めにgrepとかで覚えた人だとちょっと戸惑うかもしれないけど
慣れちゃえば結構使いやすいと思うけどなぁ

10 :NAME IS NULL:2009/12/12(土) 18:03:36 ID:iz5RvqdP
age

11 :NAME IS NULL:2009/12/12(土) 23:22:54 ID:???
以下のスレから誘導されてきました。
http://pc11.2ch.net/test/read.cgi/db/1234077152/
先のスレでも回答いただいたのですが、どうやら私の理解が不足している様でして
出来れば初心者にも判りやすく回答いただけないでしょうか。

質問の内容はこの通りです。
環境はVS2008pro C# SQLServer2005EEです。
SQL分でLIKE抽出するときなのですが、%っていうのは「なくても」or「何が何文字あっても」って感じですか?
ワイルドカード文字数を指定してLIKE抽出したい場合*を使うのでしょうか?
又、*は「とりあえず何らかの文字が1文字以上ある」なのでしょうか?
やりたいことは (0は何らかの数字/A,Bはアルファベットが入ります)
000A000
000B000
000A000B
000B000A
の中から4文字目にBがくるものだけ抽出したいのです。
LIKE %B% では000A000Bも拾ってしまいます。
この場合*B*でいいのでしょうか?
(正規表現も試しましたがかなり遅い感じを受けましたので出来れば避けたいです)
よろしくお願いいたします。

一文字ワイルドカードは_だと教えて頂きましたが、___B%ではまるで抽出できませんでした

12 :NAME IS NULL:2009/12/12(土) 23:24:02 ID:???
ちなみにデータの型はCHAR(8)です。
よろしくお願いいたします。

13 :NAME IS NULL:2009/12/12(土) 23:27:55 ID:???
>>11
like '___B%' でいいと思うんだけどだめなのか。
じゃ、like '???B*' は?



14 :11:2009/12/12(土) 23:33:07 ID:???
>>13
ありがとうございます。
SQLServerでは一文字ワイルドカードは*なのですか?
それとも_なのでしょうか。まずそれすらもわかりません。すみません。
*では抽出できるのですが_だとできません。
又*ですと一文字だけマッチではなさそうな動きをします。
?も試しましたが思うような動きになりません。

15 :NAME IS NULL:2009/12/13(日) 00:19:53 ID:???
>>14
私も初心者ですが・・・。
下記の「正規表現」を参考にされてはいかがでしょうか?
http://dobon.net/vb/dotnet/index.html


16 :NAME IS NULL:2009/12/13(日) 00:22:24 ID:???
うちで試してみたが>>13で動く。
つーか向こうのスレで言われてたsubstringは試したんだろうね

17 :NAME IS NULL:2009/12/13(日) 00:26:24 ID:???
Microsoft SQL Server 2008 Express with Tools をインストールしたのですが、
定期的にエラーが出ています。

動作自体は正常ですがこのエラーをなくす方法はないでしょうか?
http://sylphys.ddo.jp/upld2nd/pc3/src/1260630714073.jpg

すべてをアンインストールして、
Microsoft SQL Server 2008 Express Edition SP1
Microsoft SQL Server 2008 Express
Microsoft SQL Server 2008 Management Studio Express
などを入れても同じ症状です。

18 :NAME IS NULL:2009/12/13(日) 01:13:06 ID:???
そのエラーは見たこと無いけど
該当ファイルの代替データストリームを削除しろと言ってるように見える

19 :11:2009/12/13(日) 21:05:17 ID:???
>>15
ありがとうございました。正規表現って遅くなりませんか?私の勘違いでしょうか。
>>16
SQL文でsubstringが使えるのですか?
よろしければご教示下さい。

20 :NAME IS NULL:2009/12/13(日) 21:17:12 ID:???
なんでヘルプ読まないの?

21 :11:2009/12/13(日) 21:22:51 ID:???
>>20
すみません。
やりたいことは以下の方と同じ抽出なのですが
http://oshiete1.goo.ne.jp/qa1060057.html
substringで抽出は出来ないのでしょうか。。。

22 :NAME IS NULL:2009/12/13(日) 21:25:47 ID:???
だからヘルプ読めよ。そうしたらわかるから。

23 :NAME IS NULL:2009/12/15(火) 09:14:01 ID:???
今知ったが、SQL Server 2008って、データ型に HierarchyID なんてのが
追加されてたんだ。Transact-SQLからじゃないと使いにくいけど。

24 :NAME IS NULL:2009/12/15(火) 18:19:18 ID:???
>>20
妄想は脳内で
公開は無用です

25 :NAME IS NULL:2009/12/15(火) 22:14:10 ID:???
ヘルプじゃなくてオンラインブックだろ

26 :NAME IS NULL:2009/12/16(水) 10:50:26 ID:wo+YmiKq
名前はどうあれドキュメント嫁ということは正しいだろう?
SMSでたたけばすぐ分かることをやんない奴は辞めたほうがいいと思うぞ

27 :NAME IS NULL:2009/12/18(金) 14:34:30 ID:???
顧客が意地でも現在使用しているWindows2000鯖を流用してシステムを組んでほしいみたいなので
SQL Server2008を考えていたシステムが2005にせざるを得なくなりました。

しかし現在5Cal付きのMicrosoft SQL Server 2005 Workgroup Edition はどこにも売っていないんですね・・・
どこか売ってる情報とか、ダウンロード販売してるよ とかあったら教えていただけませんか?



28 :NAME IS NULL:2009/12/18(金) 14:50:52 ID:???
データベースサイズが 2GB 超えないなら無料版でも使わせておけ

29 :NAME IS NULL:2009/12/18(金) 21:57:26 ID:???
ダウングレードで

30 :NAME IS NULL:2009/12/18(金) 22:30:41 ID:???
モノは MSDN で落として、ダウングレード権を行使、だな。

31 :NAME IS NULL:2009/12/21(月) 20:36:50 ID:???
MSSQL Serverの運用経験者募集というとどういう事が出来ればいいのかな
前に小規模なものを管理していて実務経験としてやった事があるのは

インストールやSP、パッチ適用
DBサービスの停止、再起動、サーバー再起動
DB作成、テーブル作成
マネージャを使用しての中身の項目いじる、簡単なSQL文で抽出
DBサイズの確認やログ切捨てなどのサイズ管理
定期バックアップの計画作成、実設定やテープ交換
バージョンアップ及びデータ移行
ハードウェアの増設やリプレースなど

って感じなんだけどこれは運用経験ありますと言える内容ですか?

32 :NAME IS NULL:2009/12/21(月) 20:49:16 ID:???
>>31
会社によって求めるものが違うでしょ。聞いてみたら?

33 :NAME IS NULL:2009/12/22(火) 21:52:37 ID:???
とりあえず職務経歴書送っとけば

2000と2005以降だと随分ルック&フィール違うけど
そういうところは無視なんだろうな

34 :NAME IS NULL:2009/12/24(木) 11:34:34 ID:zE5y6xe0
SQL Server 2005 SP3 です。
LANケーブルを抜くまたは切断すると、サーバー内でも
DBのエラーとなります。
これは仕様ですか?
改善策ありましたら教えてくださいませ。

35 :NAME IS NULL:2009/12/25(金) 11:34:01 ID:???
>>34
DBのエラーにもいろいろあるだろ…
エラーの内容くらい晒せよ

以下接続エラーとみなして
DBのエラーを何で確認してるのか知らんが
接続先の指定にサーバー名とか使ってない?
名前解決できなくてエラーのような気がする


36 :NAME IS NULL:2009/12/27(日) 13:03:52 ID:???
>>34
昔、LANケーブルを抜くと「ping 127.0.0.1」が返ってこなくなる
PC(というかNIC?)に出会ったことがある。
F社製のノートPCだったけど。

37 :NAME IS NULL:2010/01/06(水) 00:55:19 ID:???
↓を今でもダウンロードできるところはないでしょうか?
ttp://www.microsoft.com/japan/sqlserver/2005/prodinfo/previousversions/trial/2000/download.mspx

38 :NAME IS NULL:2010/01/07(木) 01:12:26 ID:???
マルチすんなよ

39 :NAME IS NULL:2010/01/07(木) 01:27:11 ID:EbEc0qRu
AccessからSQLServerへ接続する方法で悩んでいます。
ADP作ってOLEDBで接続するのと
odbcデータソースを事前に作成し、mdbでリンクテーブルで接続する2つの方法では
運用面は置いといてodbc側になにかメリットがありますか?
OLEDBの方が高速ですし、単純にどちらも使える環境だと
ADPを使えばよいと思うのですが何か誤解していないか心配です。
いかがでしょうか。



40 :NAME IS NULL:2010/01/07(木) 03:09:56 ID:???
SQLの構文が若干変わるんじゃなかったっけ


41 :NAME IS NULL:2010/01/07(木) 10:53:02 ID:dDKzhp85
>odbc側になにかメリットがありますか?
デメリットしかないんじゃね?
#そういえばリンクして使ったときがないなぁw


42 :NAME IS NULL:2010/01/07(木) 21:53:43 ID:???
メリットはMDBをローカルテーブルとして使えるくらいかな

ODBCから持ってきたデータをMDBに置いて表示編集して
書き戻しってプログラムを作ったことがある

ってすれ違い

43 :NAME IS NULL:2010/01/12(火) 01:22:32 ID:???
300項目あるテーブルAから50項目、
50項目あるテーブルBから3項目を
テーブルCにinsertするっていう処理を
ストアドでやろうとしてます。

カーソルでテーブルAを取得して
1行ずつ読み込んでいき
テーブルBの項目を取得して
テーブルCにinsertする、ということを考えていたんですけど
当方の勉強不足で、Transact-SQLにはPL/SQLでいう%ROWTYPEがないことを
最近気が付きました。。。

このような処理のときって
多少、複雑でも1つのSQLで全部済ませたほうが
いいのでしょうか?
お知恵をお貸しください。


44 :NAME IS NULL:2010/01/12(火) 03:02:20 ID:???
>>43
PL/SQLでもいちいち変数にいったん代入するとかしないよな。
INSERT SELECTで直接やるか、事情があってカーソル使うケースでも
暗黙のカーソルをつかえば十分。
Transact-SQLの場合もINSERT SELECTが推奨だが、
平行運用などしてて長時間READ Lockをかけたくないとか、
途中で複雑な処理をしたい場合は、一時テーブルを使えばスマートに書ける。

45 :NAME IS NULL:2010/01/12(火) 03:07:24 ID:???
INSERT INTO テーブルC (col1, col2,,,)
SELECT col1, col2,,, FROM テーブルA
INNER JOIN テーブルB
ON テーブルA.項目 = テーブルB.項目 AND ...

もしくは複雑な条件があっても一時テーブルを挿んで
SELECT INTOとかにするかな

後はMSDNでも見ればわかるでしょ
http://msdn.microsoft.com/ja-jp/library/ms188263.aspx

46 :NAME IS NULL:2010/01/12(火) 11:48:07 ID:k33beZ1z
新たにインスタンスをインスコしたけどつながらん
Windowsファイアウォールを外すとつながるので
この設定だと思うけど、対象のsqlservr.exeを受信送信で許可するだけじゃだめなんですか?

47 :NAME IS NULL:2010/01/12(火) 12:53:01 ID:???
自己レス

ポートを開いて SQL Server Browser サービスを公開するには、
[ポートの追加] をクリックし、[名前] ボックスに「SQL Server Browser」と入力します。
次に、[ポート番号] ボックスに「1434」と入力し、[UDP] をクリックして、[OK] をクリックします。

SQL Server Browserが1434なんて常識!?

48 :NAME IS NULL:2010/01/12(火) 13:20:18 ID:???
SQL ServerでTCP 1433とUDP 1434は常識

49 :NAME IS NULL:2010/01/15(金) 00:13:06 ID:???
ファイル共有してるmdbへのリンクサーバーが遅い・・・。遅すぎる・・・。
仕方ないから、ストアドで一度一時テーブルに入れてから、それを
結合して組み立ててる・・・。はあ・・・。遅いのはわかってたけど、
想像以上に遅い・・・。なんとかうまく早くする工夫はないですかね・・・。

50 :NAME IS NULL:2010/01/16(土) 17:32:20 ID:???
文章を簡潔、かつ分かりやすく書く努力から始めてはどうか。

51 :NAME IS NULL:2010/01/17(日) 15:22:09 ID:???
mdbへのリンクサーバー?

52 :NAME IS NULL:2010/01/17(日) 17:45:24 ID:???
SQL Server 2005 Service Pack 3 の累積的な更新プログラム パッケージ 7
http://support.microsoft.com/kb/976951/LN/

53 :NAME IS NULL:2010/01/17(日) 18:39:37 ID:???
>>49
mdbを経由する必要はあるの?
sharepointのリストを参照したいとか?

54 :NAME IS NULL:2010/01/19(火) 00:48:57 ID:???
>>53
mdbは別の部署のシステムなのです・・・。

55 :NAME IS NULL:2010/01/20(水) 10:16:15 ID:vkZJcbao
>>54
Accessならすれ違い
SQLServerにリンクテーブル張っているAccessMDBをファイル共有?

56 :NAME IS NULL:2010/01/20(水) 12:38:23 ID:???
SQL Server 2000の質問です。

ttp://www.atmarkit.co.jp/fwin2k/tutor/sql02/sql02_04.html
に、「コマンドライン・ツールは、SQL Server 2000をインストールすると自動的にハードディスクにコピーされる。」とあるのですが、
クライアント接続のみをインストールした場合、
コマンドライン・ツールってインストールされますか?

57 :NAME IS NULL:2010/01/20(水) 21:27:15 ID:???
>>55
リンクサーバーでぐぐれカス。
カスの分際で仕切るな。

58 :NAME IS NULL:2010/01/21(木) 00:20:45 ID:???
>>56
2000は忘れたけど2005はサーバ側も入れないとsqlcmd使えなかった気がする
まぁ普通に考えてサーバ機能が無いのにosqlとか無理っぽいけどね

59 :NAME IS NULL:2010/01/21(木) 00:37:35 ID:???
mdbへのリンクサーバー、x64 じゃ無理なんだよね
かなりガッカリした

60 :NAME IS NULL:2010/01/21(木) 01:25:20 ID:???
>>59
WOW64

61 :NAME IS NULL:2010/01/21(木) 08:06:37 ID:???
OLEDBプロバイダやらODBCドライバやらの64ビット版がないから無理。

62 :NAME IS NULL:2010/01/28(木) 07:55:39 ID:???
質問になります。宜しくお願いします。
ロックの解析のため、トレースを取得しているのですが、
Lock:AcquiredイベントでType=7:Key,Mode=14:共有キー範囲/更新 (LCK_M_RS_U)
が発生しています。これは、キー範囲ロックのRangeS-Uに相当するのでしょうか?
http://www.dbtuna.com/article.asp?id=28
などを見ると同等に思えるのですが、
DACコンポーネント経由のアクセスでトランザクション分離レベル
を変更した場合に、
READ COMMITTEDでもSERIALIZABLEでも発生していることに困惑しています。
RangeS-U相当ならSERIALIZABLE以外では発生しないはずですので、
原因がわからず困っています。なにか見当違いをしているのでしょうか…


63 :NAME IS NULL:2010/01/29(金) 07:53:55 ID:???
何も知らずに、客先で >> 62 のリンク踏んだら大変だな・w・

64 :NAME IS NULL:2010/01/29(金) 18:07:49 ID:???
なんで?

65 :NAME IS NULL:2010/01/31(日) 00:42:18 ID:i/zQY3Zu
すいません。マルチですが。。
SQLSERVER2000を混合認証(Windows,SQL認証)で使用しているのですが、
SQLSERVERを起動するとログイン画面がでてこないで、ログイン状態で開きます。
(windows認証にするか、SQLServer認証するかを聞いてくる画面が2005だとでてくる)
どのようにして、2000でログイン画面を出すようにすればよいのでしょうか?
というのはsaのパスワードがあっているかどうか試したいだけなのです。。


66 :NAME IS NULL:2010/01/31(日) 06:18:28 ID:???
そもそもSQL Serverの本体に画面なんてないんだがな
お前はなんの事を言ってるんだ?

saでログインしてみたいだけだなら、クエリアナライザなり
エンタープライズマネージャなりで新規に接続してみればいいだけだろう


67 :NAME IS NULL:2010/02/02(火) 22:03:51 ID:???
sqlが通らないです。
誰か助けてママン

SELECT COUNT(*) FROM (SELECT * FROM A UNION SELECT * FROM B)
※AとBは同構成

ストアドでデータが同一なのを確認ってどうやってするのさ?


68 :NAME IS NULL:2010/02/02(火) 22:10:50 ID:???
>>67
SELECT COUNT(*) FROM (SELECT * FROM A UNION SELECT * FROM B) AS A

69 :NAME IS NULL:2010/02/02(火) 22:21:15 ID:???
>>68

ありがとうママン。
明日試してみるよ。

70 :NAME IS NULL:2010/02/02(火) 23:27:35 ID:???
セキュリティを気にする必要がなければ、tablediff.exeでも蹴り飛ばせ

71 :NAME IS NULL:2010/02/03(水) 06:08:36 ID:???
UNIONしてCOUNTとってもデータが同一とみなさないだろw

72 :NAME IS NULL:2010/02/03(水) 10:17:08 ID:???
EXCEPTかINTERSECT使えばいいんじゃない?

73 :NAME IS NULL:2010/02/03(水) 21:33:49 ID:???
おいしいくに microsoft

74 :NAME IS NULL:2010/02/04(木) 23:53:31 ID:???
SELECT * FROM A
UNION
SELECT * FROM B
EXCEPT (
SELECT * FROM A
INTERSECT
SELECT * FROM B
)

75 :NAME IS NULL:2010/02/05(金) 17:11:50 ID:i0MtKB/o
SQL Server 2008のExpressエディションは、
WEBアプリのバックエンドとして使ってもいいのかな?
それがインターネット上の商用サイトでも。

WorkgroupやStandardエディションならプロセッサライセンスを買えばOKなのかな?
公式見ても具体的にOKもとNGとも見つからなかったので・・・。

76 :NAME IS NULL:2010/02/05(金) 21:43:30 ID:???
>>75
Expressはライセンスの概念がないからOK。
ただしServerのほうは必要。WebEditionなら気にしないでいい。


77 :NAME IS NULL:2010/02/05(金) 22:16:00 ID:???
test

78 :NAME IS NULL:2010/02/07(日) 01:10:06 ID:S6iuWy/F
くっそー…
ノートブックに
@SQL Server 2008 Enteprise edition
ASQL Server 2008 SP1
BVS2008
CVS2008SP1
を上記の順番で入れようとしたら@のインストール時に
0x84B20001
というエラーが出てきて進めない。ググっても英語サイトばかり…。
これら4つをインストールする順番って何かあるものなの?
このエラーコードを見たことある人いますか?

79 :NAME IS NULL:2010/02/07(日) 02:38:32 ID:???
以前にSQL SERVER 2008に限らず過去のVerをインストール
またはVS2005とかをインストールしたことがある?

80 :NAME IS NULL:2010/02/07(日) 10:59:32 ID:S6iuWy/F
>>79
リカバリー直後に行っており、SQLサーバーやVS関連はインストールされていません。

81 :NAME IS NULL:2010/02/07(日) 11:43:13 ID:???
Enterprise?
OSは?
クライアントOSにはDeveloperかExpressしか入んなかったような気がする

82 :NAME IS NULL:2010/02/07(日) 16:41:55 ID:???
>>78
OSくらいかけよあほか

83 :NAME IS NULL:2010/02/07(日) 17:47:03 ID:???
>>78
まずはその英語サイトの内容を読んで判断しろよ。

84 :NAME IS NULL:2010/02/08(月) 00:13:35 ID:bTbof5Zc
OSはvistaです。
別の事務所のデスクトップ1台(vista)に導入したときは問題なくできました。
自宅のノートブック(vista)にも同様の環境を整備しようとして、別途インストールしようとしたときにエラーになります。
ノートブックのOSに問題があるのでしょうか…。

85 :NAME IS NULL:2010/02/08(月) 08:57:08 ID:???
>>84
vistaて言ってもいろいろあるだろう。ちゃんとエディションまで書けよ
あとSQL ServerもVistaも32ビット版と64ビット版があるのは理解してるのか?

まあhttp://msdn.microsoft.com/ja-jp/library/ms143506.aspxを見ると
EnterpriseはVistaではサポートされないがな

86 :NAME IS NULL:2010/02/08(月) 12:59:18 ID:???
Oracle ストアドで言うところの

SELECT A,B INTO @A,@B
FROM TABLE

を SQL Server でやらすためには、カーソルを定義して書かないとダメなん?

87 :NAME IS NULL:2010/02/08(月) 13:51:46 ID:???
select @A=A,@B=B from TABLE
でできた気がする

88 :NAME IS NULL:2010/02/08(月) 17:35:08 ID:???
SQL Azureはここでええんかい?

89 :NAME IS NULL:2010/02/08(月) 20:38:31 ID:???
>>84
Enterpriseなんてん百万もするのをデスクトップPCに
入れるなんて金持ちだね。
あ、もしかしたら・・

90 :NAME IS NULL:2010/02/08(月) 20:40:08 ID:???
ん百万もしない。

91 :NAME IS NULL:2010/02/09(火) 01:52:36 ID:???
サブスクリプションだのSAだのライセンスはいろいろあるだろ

92 :NAME IS NULL:2010/02/10(水) 22:49:07 ID:???
Enterpriceなんて、MSDNで開発用に入れるだろ

93 :NAME IS NULL:2010/02/10(水) 22:54:19 ID:???
アカデミックが1万ぐらいであるんじゃねーの

94 :NAME IS NULL:2010/02/10(水) 22:57:52 ID:???
開発用はDeveloperエディション入れる

95 :NAME IS NULL:2010/02/10(水) 23:21:48 ID:???
2000と繋がってたJAVAのWEBシステムが2008に繋がらなくてピンチorz

96 :NAME IS NULL:2010/02/11(木) 00:14:24 ID:???
>>94
Standardでは動くのにDeveloperだと動かないみたいな微妙に差が出たことがあって
MSDNあるなら実運用環境に合わせたEnterpriseを入れたほうがいい気がする。
DeveloperはEnterprise相当なのでさすがにStandardみたいに違いが出るとは思いたくないけど。

97 :NAME IS NULL:2010/02/11(木) 02:57:44 ID:???
>Standardでは動くのにDeveloperだと動かない
逆はあってもこれは無いと思うんだが、動かなかった実例があるのか?


98 :NAME IS NULL:2010/02/11(木) 03:21:15 ID:???
RDOを使った処理の一部が2005のStandardでは動いてDeveloperというかEnterpriseでは動かないものがあった。
普通は逆だろうと思ったんだけどね。

99 :NAME IS NULL:2010/02/11(木) 09:04:14 ID:???
RDOってODBC用のだっけ?
MDACとかNative Clientのバージョンの違いとかそんなのではないの?


100 :NAME IS NULL:2010/02/11(木) 19:52:56 ID:???
実運用環境がEnterpriseって決定なのかよw

101 :NAME IS NULL:2010/02/17(水) 21:57:39 ID:???
どこか忘れたけど SQL Server 2008 sp2 は2010/4Q って書いてあった
R2が先なのね

102 :NAME IS NULL:2010/02/19(金) 17:43:45 ID:???
SQL Server 2000 を入れて Visual Studio 2008 Web deb. を入れて
SQL Server 2008 Express を入れて
SQL Server 2008 Express を停止しています。

osql や Visual Studio では接続できるのですが

java jdk1.6 jbdc2.0 eclipse 上で SQL server につなごうとしているのですが
うまくいきません。

こんな環境で大丈夫でしょうか?

103 :NAME IS NULL:2010/02/21(日) 00:13:54 ID:???
何が言いたいのかわからんが、SQLServerとSQLServerExpressの接続文字列はデフォだと違うぞ?


104 :NAME IS NULL:2010/02/27(土) 23:28:38 ID:mqmej+Dm
BCP(QUERYOUTを指定)コマンドでテーブルのレコードを
CSV形式でエクスポートした時、文字化けすることってある?

105 :NAME IS NULL:2010/02/28(日) 00:42:32 ID:ZQw2O84x
そいや普通Oracle->SQLServerとか
SQLServer->Oracleってのが普通に移行であったと思うけど
SQL2000->SQL2008とかある場合どうするのが適当なのかしら。。
DTSも非推奨だし、SSISも微妙なできだから悩ましい。

106 :NAME IS NULL:2010/02/28(日) 00:48:51 ID:???
それだったらデタッチしてアタッチすれば完了。
スキーマを多少見直したい場合もそれで簡単にデータ移行ができる。

107 :NAME IS NULL:2010/02/28(日) 00:52:21 ID:ZQw2O84x
いあいあ、ストレートにコンバートはそれでいいんだけど。
改修がある場合とかあるでしょ普通
マイグレーションのついでに、テーブルに項目追加するとかさ

108 :NAME IS NULL:2010/02/28(日) 01:09:23 ID:???
移行もとのデータベースが同一インスタンスのDB名違いでインポートできてれば、
データの加工や移し変えはできるだろ?

109 :NAME IS NULL:2010/02/28(日) 01:18:14 ID:???
>>105
2000->2005->2008ならできると思う

110 :NAME IS NULL:2010/02/28(日) 09:11:38 ID:???
>>104
むしろ、Excelで読み込んで文字化け、とかあるな。
UTF-8で出せば文字化けしないけど、ExcelはUTF-8読めないバージョンがあるので。

111 :NAME IS NULL:2010/02/28(日) 21:15:57 ID:fWLj85mi
>>108
そか、SQLでやればいいって話ですね


112 :NAME IS NULL:2010/03/01(月) 00:04:53 ID:???
>>110
それこわいよね。

113 :NAME IS NULL:2010/03/11(木) 01:24:57 ID:PrFMBD9z
2005でテーブル変数を使うと、一度接続を切っても
TEMPDBの一時テーブルにいつまでも残骸が残っているように見えるんだが、
これは正しい動きなんでしょうか?


114 :NAME IS NULL:2010/03/11(木) 21:32:11 ID:???
kwsk

115 :NAME IS NULL:2010/03/12(金) 11:31:29 ID:fJW0fowO
SELECT 2006 AS nendo
UNION ALL
SELECT 2007 AS nendo
UNION ALL
SELECT 2008 AS nendo
UNION ALL
SELECT 2009 AS nendo
UNION ALL
SELECT 2010 AS nendo


これをもっとスマートなSQLで書き直す方法はありますか?
教えてください。

116 :NAME IS NULL:2010/03/12(金) 17:40:40 ID:???
>>115
nendoのテーブルを作って、1900から2100くらいまであらかじめレコードを追加しておいて

select
nendo
from
nendo_tbl
where
nendo between 2006 and 2010

ではダメかい?

117 :NAME IS NULL:2010/03/13(土) 00:25:13 ID:???
WITH interval(f, t) AS (
SELECT 2006, 2010
), nendo(y) AS (
SELECT f FROM interval
UNION ALL
SELECT y + 1 FROM nendo
WHERE y + 1 <= (SELECT t FROM interval)
)
SELECT y FROM nendo
;

手元に環境ないからテストはしていないんで動かないかもしれん
任意の範囲を指定したいときはintervalのfとtの値を変えてくれ
数件程度のテスト目的ならUNION ALLだけで十分だと思うけどね

118 :NAME IS NULL:2010/03/13(土) 02:58:27 ID:???
再帰SQLが使えるバージョンなら、素直に
with t as(
select 2006 as nendo
union all
select nendo + 1 from t where nendo < 2010
)
select nendo from t
でいいんじゃねえか

119 :NAME IS NULL:2010/03/14(日) 02:57:38 ID:hwt6I+2j
SQLServer使うときはPen4のHT切っておけとどこかのblogに書いてあったのですが、
今のCore iのHTでも切るべきでしょうか?

120 :NAME IS NULL:2010/03/14(日) 03:09:58 ID:???
>>119
複数CPUがあって2つCPUを使うつもりで
実際には同じCPUを使っててパフォーマンスを落とすなんてことが起きるのでということだったと思う。
今のCore iもシングルコアでないのにHTを有効にする利点がわからない。

121 :NAME IS NULL:2010/03/14(日) 10:34:34 ID:???
>>120
サンクス。最近のXeonはHTで4コア8スレッドなので切った方がよさげですね。
面倒だ・・・

122 :NAME IS NULL:2010/03/14(日) 12:07:56 ID:???
んなバカな
Hyper-Threadingがパフォーマンスを落とすってのはどこのソース?

123 :NAME IS NULL:2010/03/14(日) 12:14:37 ID:???
>>122
とりあえずググって出てきた記事
ttp://japan.cnet.com/news/ent/story/0,2000056022,20091397,00.htm
高負荷掛けるとヤバイ時があると言うのは良く聞くけど、実際の測定データは出てないね。

124 :NAME IS NULL:2010/03/14(日) 12:19:32 ID:DtdqkEWk
>>122
Hyper-Threadingが出始めた、6年前あたりから常識です。
所詮コア数が倍になるまでの過渡期の技術。

125 :NAME IS NULL:2010/03/14(日) 13:17:49 ID:???
http://207.46.16.252/ja-jp/magazine/2007.10.sqlcpu.aspx

こんなのもあるな

126 :NAME IS NULL:2010/03/14(日) 14:26:40 ID:???
>>123
その記事は実測値が載せられていないし、Hyper-ThreadingのWikiでも取り上げられているが
Intelは否定しているけど、どっかに実測値付きのソースとかってないの?

>>124
常識じゃなくて噂でしょ
当時の自作板、Windows板でも散々話題に上がっていたけど
結局明示的なソースは上げられていなかったが

>>125
> SQL Server システムで、ハイパースレッディングを有効にした状態と無効にした状態の
> 両方でアプリケーションをテストしてから、運用システムに変更を実装するようにしてください。
それは両方試しましょうねって言ってるだけでしょ

127 :NAME IS NULL:2010/03/14(日) 14:27:57 ID:???
グラボのGPUだとコア数が数百個とか当たり前だしな。

128 :NAME IS NULL:2010/03/14(日) 15:05:33 ID:???
テストして実装しましょうなんて時点でマルチコアとHTが別物ってことだよな。
変なリスク負いたくないからHT切るわ。

129 :NAME IS NULL:2010/03/14(日) 16:38:58 ID:???
>>128
>125のリンク先読んだか?あくまでパフォーマンスについての話だぞ
まあ、特定の状況でHTオンの方がパフォーマンスが落ちる可能性があるのは確からしいな
そんな状況が一般的なのかどうかは知らんがな

それより2000以前のOSだと、OSそのものがHTでバグってたような記憶があるんだが

130 :NAME IS NULL:2010/03/14(日) 16:42:44 ID:???
デュアルCPU未対応とかだな。

131 :NAME IS NULL:2010/03/14(日) 17:04:05 ID:???
>>128
どうしてデフォルトで有効なHTを無効にしてまで
リスクを負いたくないからって発想になるんだ?
リスク云々がどこに書いてある
パフォーマンスについてはテストして確認してくれって書いてあるだけだろ

132 :NAME IS NULL:2010/03/14(日) 17:13:35 ID:???
高負荷で性能が著しく低下って普通リスクって言わないのかね?
まあ業務で使うこと無いから別にどうでもいいけど。

133 :NAME IS NULL:2010/03/14(日) 17:16:57 ID:???
> 高負荷で性能が著しく低下
どこにそんな記述が?

134 :NAME IS NULL:2010/03/14(日) 17:22:11 ID:???
>>123じゃないの?
なんでIntel擁護するんだろ。単にHTが微妙ってだけなのに。

135 :NAME IS NULL:2010/03/14(日) 18:58:26 ID:???
xeon55xx でCPUx2 でDB鯖組んだやついる?
NUMAどんな感じ?
メモリがCPUに付いてCPU間のデータ交換頻発して
パフォーマンスが落ちたりしない?

136 :NAME IS NULL:2010/03/14(日) 22:12:21 ID:???
>>131
業務で使うからだよ。
安定してパフォーマンスが落ちないことのほうが重要。
特定の状況で性能が劣化することがあるなんて明らかなリスクは取っ払うのが無難。

137 :NAME IS NULL:2010/03/15(月) 02:28:12 ID:???
DBサーバーのCPU負荷ってどの位が適切なんでしょうか。
平時30〜60%、ピーク時80〜90%なんですが。

138 :NAME IS NULL:2010/03/15(月) 07:29:05 ID:???
CoreDuoE6700でメモリ8G積んでますけど
Win2003SP2 32bitだったかな
平時1-10%くらいだな
ストアドでバッチとか走ると50%くらいいくけど


139 :NAME IS NULL:2010/03/15(月) 10:07:16 ID:???
ピーク時に100%いかなきゃ何でもいいだろ


140 :NAME IS NULL:2010/03/15(月) 21:22:23 ID:???
>>136
業務で使っているなら、HTの有効無効でパフォーマンステストも
していると思うが、その差を教えてくれよ
出来ればデータ対時間の関係も合わせて

141 :NAME IS NULL:2010/03/19(金) 17:50:53 ID:???
MS SQL Server 2000 のバックアップファイルが壊れていない(リストアできる)かどうかをVB6から調べる方法はありませんか。


142 :NAME IS NULL:2010/03/19(金) 17:58:17 ID:???
リストアさせてみればいいんでないか?
本番とは違うDB名で

143 :137:2010/03/21(日) 13:16:21 ID:???
>>138,139
遅くなりました。ありがとうございます。

144 :NAME IS NULL:2010/03/21(日) 19:23:47 ID:+5EBZGzW
ちょっと急ぎで教えていただきたいことがあるのですが・・・。

Management Studioのインポートウィザードを利用して
SQL Server 2008の既存テーブルにcsvファイルをインポートしようとしています。

(取込対象のcsvは既存テーブル内のデータと重複するレコードを多数含む20GB程度のファイルです。)

こういった場合に、重複レコードを無視(処理しない)でインポートする事は可能でしょうか?
実際試してみたところ、キー重複のレコードが1件でもあると一切取り込まれませんでした。


インポートウィザードを利用しない方法でも結構ですので、どなかたご存じの方ご教授ください。
宜しくお願い致します。



145 :NAME IS NULL:2010/03/21(日) 19:27:47 ID:???
無理。

146 :NAME IS NULL:2010/03/21(日) 19:33:54 ID:???
>>144
同じ様なことあったけど、結局諦めたわ。
主キーなしの別テーブルにインポートして、そこから条件抽出してお茶を濁した覚えが。

147 :NAME IS NULL:2010/03/21(日) 19:35:50 ID:???
テンポラリテーブルに取り込んで、NOT IN だな。

148 :NAME IS NULL:2010/03/22(月) 03:55:40 ID:???
>>144
これでいける
http://msdn.microsoft.com/ja-jp/library/ms190312.aspx
OPENROWSET(BULK...) を INSERT ステートメントまたは MERGE ステートメント内でソース テーブルとして使用すると、
データ ファイルから SQL Server テーブルにデータが一括インポートされます。
詳細については、「BULK INSERT または OPENROWSET(BULK...) を使用した一括データのインポート」を参照してください。

149 :NAME IS NULL:2010/03/22(月) 03:57:19 ID:???
一応言っとくけど、INSERTじゃなくMERGEな。

150 :144:2010/03/22(月) 07:25:54 ID:???
>>145-149 皆様ありがとうございます!

>>148の方法でテストしてみたところ上手くいきました。
本番もこの方法でやろうと思います。

ありがとうございました。


151 :NAME IS NULL:2010/03/25(木) 08:33:31 ID:???
ストアドの結果をカーソルで取得したいんですが
下記のようにするとエラーになって保存できません。
他に何か方法はありますでしょうか?
DECLARE curHoge CURSOR FOR
EXECUTE sp_hoge @hoge1, @hoge2


152 :NAME IS NULL:2010/03/25(木) 09:26:46 ID:???
特定行が行ロックされているか確認するSQLはどのように書けばよいのでしょうか?
ロックは更新ロック(WITH(UPDLOCK,ROWLOCK,NOWAIT))です。

153 :NAME IS NULL:2010/03/25(木) 22:31:52 ID:???
>>152
ロックされてたらどうするの?
どうしようもないよね?

154 :NAME IS NULL:2010/03/25(木) 22:36:18 ID:???
sp_lock?

155 :NAME IS NULL:2010/03/28(日) 23:18:10 ID:RtX0WDiI
もうロックエスカレーションっていらなくね?
今時メモリの節約って??ハア?って感じ。
サーバーならメモリ8GBぐらい当たり前に積んでるから、
素直に行ロックしてもらった方が全然いいんだが‥
更新ロックの対象が行じゃなくて範囲ロックになったり、
カーディナリティ低めのインデックス単位で
ロックがかかるのも迷惑すぎる。


156 :NAME IS NULL:2010/03/28(日) 23:19:23 ID:wwpovUix
まぁ適材適所でしょ。
てかSQLServer2005からは読み取り一貫性もサポートしてるだろうよ

157 :NAME IS NULL:2010/03/28(日) 23:52:47 ID:RtX0WDiI
>>156
確かに読み取り一貫性は読むだけの場合には解決策になるが、
各々まったく別の行をロック(更新)したい処理同士がぶつかって
意図しないロック待ちやデッドロックするのが嫌すぎる‥
読み取り一貫性だけじゃ、意図した行だけのロックがなされないことの
解決にはならないっしょ。


158 :NAME IS NULL:2010/03/29(月) 00:17:56 ID:???
>>155
メモリ8GBじゃ無理なくらいレコード数があるだろ。

そもそも、最近は想定外のレコードまで更新ロックされてデッドロックなんて起きてないから使い方次第だろう。
微妙なインデックスがあるとおかしな実行プランが発生して
予想外な範囲がロックされることはあるけど使用するインデックスを指定すれば解決するし。
プロファイラでも実行して負荷が不自然なクエリがないかチェックしたほうがいいんじゃないかな。

159 :NAME IS NULL:2010/03/29(月) 00:57:42 ID:???
>>158
>メモリ8GBじゃ無理なくらいレコード数があるだろ。
オンラインで(キー情報だけメモリに保持するとして)8GB超行ロック
したい場合とか普通ないよ。

>予想外な範囲がロックされることはあるけど使用するインデックスを指定すれば解決するし。
>プロファイラでも実行して負荷が不自然なクエリがないかチェックしたほうがいいんじゃないかな。
事前にそれをやるのはかなり大変‥実際問題が起きてから対処する形になるので、
結局稼動後に一度はトラブることになるwwwwww


160 :NAME IS NULL:2010/03/29(月) 02:06:50 ID:???
ロックエスカレーションしてデッドロックすることなんてあるの?

161 :NAME IS NULL:2010/03/29(月) 07:23:34 ID:???
>>160
実際なった事はない


162 :NAME IS NULL:2010/03/29(月) 09:04:34 ID:WMc45ShC
エスカレーションしてデッドロックは無いが、範囲外のデータが大量に巻き込まれてロックされた結果デッドロックになるのは良くある。
適切なインデックスを貼ると解消するケースがほとんどだが、サイクルデッドロックさせないためにインデックスを貼るって言う行為がそもそもおかしな話

163 :NAME IS NULL:2010/03/29(月) 09:22:39 ID:???
デッドロックしたらリトライすればいいじゃまいか

164 :NAME IS NULL:2010/03/29(月) 09:58:49 ID:V+Nn1nlX
>>151
一時テーブルに取り込んでから、カーソル開けばよいのでは?

INSERT INTO #hoge
EXEC sphoge

DECLARE curHoge CURSOR FOR
SELECT * FROM #hoge

165 :NAME IS NULL:2010/03/29(月) 10:48:22 ID:WMc45ShC
>>163
まれにしか起きないならそれでも通用するが、頻発すると誤魔化しきれん

166 :NAME IS NULL:2010/03/29(月) 13:36:40 ID:???
どうもデッドロックと単なるロックウェイトが混同されてる気がする

167 :NAME IS NULL:2010/03/29(月) 15:30:18 ID:???
即座に検出されるデッドロックより、延々ウェイトされる方がきついなぁ

168 :NAME IS NULL:2010/03/29(月) 15:36:15 ID:???
oracleの
select * from hoge for update wait 10
みたいなのないの?

169 :NAME IS NULL:2010/03/29(月) 19:28:16 ID:???
マイクロソフト擁護派の言い分だと100万件のうち95万件ロックする必要があるケースなんかを例にあげるけど、そんなこたぁそもそも誰も問題にしてない。
論点ズレまくり
100万件のうち1万件ロックしたいだけなのにエスカレーションするのが問題なんだよ


170 :NAME IS NULL:2010/03/29(月) 20:00:33 ID:J02J6Biu
access2007 ado 接続でsql2008は使用出来るんですか?


171 :NAME IS NULL:2010/03/29(月) 20:05:36 ID:???
うん。

172 :NAME IS NULL:2010/03/29(月) 20:17:17 ID:J02J6Biu
すみません adp接続なんです

間違つてました

再度お願いします

access2007 adp 接続でsql2008は使用出来るんですか?


173 :NAME IS NULL:2010/03/29(月) 20:17:50 ID:???
うん。

174 :NAME IS NULL:2010/03/29(月) 22:26:48 ID:sD/ndxo+
>169
M$を擁護するつもりはないが、モードを読み取り一貫性にすればいいだけじゃん。
しらんのか?

175 :NAME IS NULL:2010/03/29(月) 23:32:33 ID:???
>>168
SET LOCK_TIMEOUT

176 :NAME IS NULL:2010/03/29(月) 23:35:09 ID:???
オレの経験上ムキになるのはOracle厨だわ

177 :NAME IS NULL:2010/03/29(月) 23:41:28 ID:???
>>167
READPASTでも指定すればいいんじゃないかな?

178 :NAME IS NULL:2010/03/30(火) 00:51:44 ID:???
>>174
オラクルしか知らないヤツがそれだけで何とかなると思ってると痛い目にあうだよな


179 :NAME IS NULL:2010/03/30(火) 00:56:10 ID:???
>>174
読み取り一貫性にしてもロックがエスカレートするのは防げないと思うが
単に読み取り時のロックが不要になってロック数が下がるだけで、根本的な解決にはならん
分離レベルをREAD UNCOMMITTEDにするなら別だが

まあ、ロックエスカレーションして欲しくないなら禁止しとけばいいだけの話だろ
すくなくとも2000ではトレースフラグで禁止できたはずだ

2008からはテーブル単位で設定できるようになってるらしい
だれか実際にエスカレート禁止で運用してたら感想を聞いてみたい

180 :NAME IS NULL:2010/03/30(火) 09:53:56 ID:???
まずVMWare上で開発(テスト)環境を作ろうと思うんですが、
一台のSATA物理HDD上にSQL Serverを入れる場合、
パーティションはシステムと別にした方がいいでしょうか?

将来的にディスクが圧迫された際にシステムドライブは
拡張しにくいとか、パフォーマンス的にも少しはマシに
なるかなあ、と思ってるんですが。

181 :180:2010/03/30(火) 09:58:33 ID:???
>>一台のSATA物理HDD上にSQL Serverを入れる場合、

わかりにくくてすいません。
サーバ構成:物理HDDx2
仮想HDDのデータストア:システムじゃない方の物理HDD
仮想HDDの構成:一つの仮想ディスクにOSとSQLServer(PG)をインストール
SQLServerのデータストア:上の仮想HDD上の別パーティション?

・・・こんな感じで。

182 :NAME IS NULL:2010/03/30(火) 10:33:12 ID:???
VMWareって仮想マシンに物理HDDを直接渡すことできないんだっけ?仮想HDDじゃなくて。

将来的にディスクが圧迫うんぬんとパフォーマンスについては、物理マシンの時と同じように
考えればいいと思うよ。

物理HDD1 ホストOS SQLServerログ
物理HDD2 ゲストOS SQLServerデータ
とかどうだろ

183 :NAME IS NULL:2010/03/30(火) 11:09:36 ID:???
>>182
そうでした。仮想マシン以前に物理環境でのHDD構成をどう考えるかって話ですね・・・。

上の仮想マシンの話は忘れるとして、単純にOSの入ってる1台のHDDで構成する時、
パーティションを分けてSQLServerのプログラムはC:、データはD:みたいな感じに
するのが普通なのか、ディスク1台なら変わらないからどっちもC:に入れてOKなのか…
そんな質問です。

184 :NAME IS NULL:2010/03/30(火) 11:26:50 ID:???
あくまでも意見は参考にとどめておいて欲しいんだけど、と言い訳をした上で。

大きな効果は望めないと思うけど、OS、データ、ログ用にパーティションを分けたほうが
断片化が起こりにくいだけマシなんじゃないのかな?うちも一応分けてる。
ただ、実機での運用になるとまた話は変わってくるだろうから、あまり気にせず
作っちゃったほうがいいんじゃないかなぁ、とも。

185 :NAME IS NULL:2010/03/31(水) 13:13:26 ID:???
インストール時は、プログラムとデータの場所を聞かれるだけだけど、
これログがでかくなるね。

消しかたすらわからんのでどうにもできんけどw

186 :NAME IS NULL:2010/03/31(水) 15:34:47 ID:IjY7PXKY
SQL鯖2008EXPRESSを使用しています。

MDF,LDF共にめいっぱいの4Gを取っているのですが、
処理をずっと行っているとログのサイズがもういっぱいいっぱいだ!
といわれ追加とか更新ができない状態になっています。
(DBのサイズ自体は2G程度しか使用していません。)

今までのようにバックアップ時にログを削除することはできないのでしょうか?
(完全バックアップを取った後で、確かTrancateかなんかやって消えていたと思うんですが・・・・)

単純に完全バックアップ取るだけでいいのでしょうか?


ManageMentStudioは使わずPGからSQLを投げる方法を検討しています。

187 :NAME IS NULL:2010/03/31(水) 19:55:29 ID:???
2008からできなくなったはず。

188 :NAME IS NULL:2010/03/31(水) 20:52:08 ID:???
>>187
マジかと思って調べてみたら、BACKUP LOGのNO_LOGとTRUNCATE_ONLYが確かに廃止になっとる

>>186
普通にログのバックアップを取れば切り捨てられるらしい
つか、完全バックアップ取ってログ切り捨てって、いままでログのバックアップって取ってないのか?
それなら素直に単純復旧モデルでいいんじゃねえかと思うんだが

MSDEってもともと単純復旧モデルだったと思ったんだが、EXPRESSになって復旧モデル変わった?

189 :NAME IS NULL:2010/03/31(水) 21:11:13 ID:???
ロックエスカレーションは無効にできるだろ。
http://msdn.microsoft.com/ja-jp/library/ms188396.aspx

どこかで、エスカレーションを無効にするとパフォーマンスが向上したという結果をみた。

190 :NAME IS NULL:2010/03/31(水) 21:33:09 ID:/bU6v4xj
2008だけど復旧モデル”単純”にするとログ増えないと思ってたんだけど
すこしずつ増えるんだね?ldf不要なんだけど増やさない方法ってないのかな?

191 :NAME IS NULL:2010/03/31(水) 23:13:17 ID:???
>>190
テーブル全件更新とかしてなければ、単純モデルならログは増えないよ。
ただし、再起動しないとtempdb.mdbがなぜか増え続けたりするが‥

192 :NAME IS NULL:2010/03/31(水) 23:42:29 ID:???
ldfがなかったらロールフォワードできないんじゃないの?

193 :NAME IS NULL:2010/04/01(木) 00:19:08 ID:3R1QUkq+
>>191
あーなるほどね。更新しても増える時と増えない時があったから謎だったよ。
でも結局ぜんぜん増えない訳じゃないんだよね?
定期的にデタッチ→ログ消してアタッチとかして消すしかないんかな。

tmpdbは確かに再起動しないと消えないね。いつの間にか20GBとかなっててビビった。


194 :NAME IS NULL:2010/04/01(木) 01:01:43 ID:???
>>190
復旧モデルシンプルでも使わないわけじゃないので、自動圧縮で切り捨てれば?

195 :NAME IS NULL:2010/04/01(木) 01:30:27 ID:???
増えてるって言うのは、ログのサイズなのか、ログを格納してるファイルサイズなのか
ログのサイズは、すくなくともアクティブなトランザクションが使う分のサイズまでは増大する
単純復旧モデルは要はコミットしたトランザクションのログを捨てるだけだから

ログやデータが、溜まる−捨てるの繰り返しで少しずつファイルサイズが増えてるのかもな

196 :NAME IS NULL:2010/04/01(木) 21:44:30 ID:???
tempdb の巨大化に関しては Fix が出てたような

197 :NAME IS NULL:2010/04/02(金) 15:15:08 ID:???
外部結合されたテーブルに行ロック掛けたいんだが、ふつうに書いてもかからん。
誰かたすけてくれ。週末納期だ。


198 :NAME IS NULL:2010/04/02(金) 15:20:40 ID:???
>>197
もちっと具体的に書けよ

199 :NAME IS NULL:2010/04/02(金) 15:36:34 ID:???
週末納期?オワタ

200 :NAME IS NULL:2010/04/02(金) 15:39:17 ID:dLdYdsyS
もう時間が。。。。

201 :NAME IS NULL:2010/04/02(金) 15:40:51 ID:???
>>198
そうだよな。すまん。
実コードを抽象化したSQLはこんな感じ。

SELECT COUNT('X')
FROM A
LEFT OUTER JOIN B WITH(ROWLOCK,UPDLOCK)
ON A.フィールド1 = B.フィールド1
AND A.フィールド2 = B.フィールド2

で、A:Bは、n:1 の関係にある。
トランザクション開始後上記のSQL投げて中断させ、
別セッションからBに更新かけることができてしまう。



202 :NAME IS NULL:2010/04/02(金) 15:52:34 ID:???
with (xlock)


203 :NAME IS NULL:2010/04/02(金) 16:04:17 ID:???
ひょっとして更新かけるほうはwith lockしてないんじゃない?

204 :NAME IS NULL:2010/04/02(金) 16:07:33 ID:JImwfFqH
>>201
外部結合は関係ない。
COUNTだとクラスタ化インデックス(キー項目)にしかロックかからないよ!
業をロックしたいなら
SELECT * 〜
とするか
当たり障りのない項目UPDATEしとけ!

205 :NAME IS NULL:2010/04/02(金) 16:28:41 ID:???
>>202-204
ありがと、今からちょっと試してみるぜ!!


206 :NAME IS NULL:2010/04/02(金) 16:36:08 ID:???
>>202-204
試してみた。
性交したZeeee!!

よし、じゃあ今からこれ持って出かけるわ。
ちなみに、クエリでヒットするレコード以外にもロックがかかるんだが、
これはエスカレーションのせいだよな。

みんなありがおう!!!


207 :NAME IS NULL:2010/04/02(金) 16:37:36 ID:???
>>206
追記。

性交したのは、「SELECT *」にするやり方だ。
勉強になったよ。


208 :NAME IS NULL:2010/04/02(金) 18:29:12 ID:JImwfFqH
>>クエリでヒットするレコード以外にもロックがかかるんだが、
これはエスカレーションのせいだよな。

違う!テーブルロックになってなければエスカレーションではない、「テーブルスキャンによるロック待ち」とも違うMSブックオンラインでも説明されていない意図不明な範囲ロック
SQLSERVER擁護派にこれを言うとキレられるから気おつけろ!


209 :NAME IS NULL:2010/04/02(金) 18:30:28 ID:???
単なるページロックじゃないの?

210 :NAME IS NULL:2010/04/02(金) 19:30:51 ID:???
UPDLOCKをつけてるからページロックは起きないよ。

そもそも
oracleの行更新ロック(select 〜 for Update)がクエリにヒットした行のみを
物理的にロックするのに対して、
sql鯖の行レベル更新ロックヒント with(updlock,rowlock)は、「ロックの動作を行単位に行うこと」
を指示しているのであって、クエリにヒットしたデータ行だけが
物理的にロックされるという意味ではない。

oracleの(select 〜 for Update)と、sql鯖のwith(updlock)ヒントは似て非なるもで、
厳密にはoracleの行ロックに対応する機能は、sql鯖には存在しない。

sql鯖では狙った行だけを確実に更新ロックするのは簡単じゃない。

でも、これわかってない人大杉。


211 :NAME IS NULL:2010/04/02(金) 19:34:20 ID:???
訂正
>UPDLOCKをつけてるから
ROWLOCKをつけてるから


212 :NAME IS NULL:2010/04/06(火) 21:45:09 ID:w99IlC2O
>>210
マイクロソフトのSQL Server 2008 自習書シリーズ
「No.14 ロックと読み取り一貫性」
にもUPDLOCKで、オラクルのFOR UPDATEと同じことができるかのように
誤解をさせる記述があるんだよな。素人が書いてるのかMSの意図的なものかは知らないが


213 :NAME IS NULL:2010/04/07(水) 00:13:01 ID:???
確かにミスリード誘ってるのが何箇所かあるな。
「Oracleと同じです」と思わせたいみたい。

214 :NAME IS NULL:2010/04/07(水) 21:41:23 ID:???
こいつらどの分離レベルの話をしてるんだ?

215 :NAME IS NULL:2010/04/09(金) 01:08:50 ID:???
197です。
おまいらのおかげで、先週末無事「仮」納品できた。
なぜかアク禁で書き込みできんかった。ありがとう。

で、個人的には >>208、212、がすごく木になるんだが、kwsk。


216 :NAME IS NULL:2010/04/10(土) 00:43:19 ID:???
ラプターからIntel SLC SSDに変えたらはやくなったー


217 :NAME IS NULL:2010/04/10(土) 01:58:59 ID:???
SQL Serverのような共有ロック方式の場合は、
リピータブルリード分離レベルまでは明解なんだが
シリアライザブルになるととたんに複雑になる。
予想外の広範囲のロックなどはこの辺で発生しやすい。

他には索引に起因するもの、
カーディナリティの低い索引があった場合などは同じキーや
同じページに含まれるキーをもつ他のレコードのがロックされるケースがある。
これはOracleでも起きるのだが更新同士でしか起きないので気づかないことが多い。


218 :NAME IS NULL:2010/04/10(土) 02:25:36 ID:???
それって絞込みが足りないだけじゃ...

219 :NAME IS NULL:2010/04/10(土) 13:06:49 ID:???
行ロックならそうだけど、テーブルになるとそうでもないんじゃ

220 :NAME IS NULL:2010/04/13(火) 06:46:04 ID:???
SQL Server 2008 workgroup edition を使用しています。
トランザクションログを削除するコマンドを教えてください。
2008 からコマンドがかわったみたいで調べきれませんでした。

221 :NAME IS NULL:2010/04/13(火) 12:48:48 ID:???
>>220
ログバックアップ取れ。
ログファイル作りたくなけりゃ、単純モードにしれ。

222 :NAME IS NULL:2010/04/13(火) 20:57:11 ID:???
Tempdbをデータ格納ドライブと別にするのは常識として、
そのドライブはデータ容量に対してどの程度確保すべきでしょうか。
御伝授ねがいます。

その他、何かありましたら合わせて教えて下さい。

223 :220:2010/04/13(火) 21:34:45 ID:???
>>220 ありがとうございます。トランザクションログについて大分わかりました。

ちなみに、HDD に余裕があり、ログファイルのサイズは無視出来るとき、
復旧モデルの単純、完全、一括のうち、
DB の処理速度が一番早いものはどれでしょうか?
単純だと完全に比べ、ログ切り捨て処理がある分遅いような気がします。

また、1分間に1k/件の500件のデータを更新する場合に、データ参照の
最大応答時間を短くしたいのですが、 checkpoint を 1秒毎に実行する、
というのは方法としてどうでしょうか?
応答時間の平均が数倍になったとしても、最大応答時間を1割でも減らしたいです

最大応答時間をなるべく小さくするのに checkpoint を1秒ごとに実行する、
のはよくないでしょうか?



224 :NAME IS NULL:2010/04/14(水) 00:22:53 ID:???
シンプルで自動圧縮しなきゃいいだろ。

225 :NAME IS NULL:2010/04/14(水) 20:54:31 ID:???
トランザクションの内容もわからずに1秒おきに checkpoint っていわれてもな
適切なインデックスが張ってあれば問題にならないと思うが

226 :NAME IS NULL:2010/04/14(水) 22:15:29 ID:???
MSCSってADが必須ですか?
クラスタリングするとき、ADってどんな動きしてますか?

227 :NAME IS NULL:2010/04/15(木) 20:04:28 ID:???
必須。
詳しくは知らんが、調停役とか時刻同期などをやっていると思われ。

228 :NAME IS NULL:2010/04/20(火) 15:31:43 ID:???
ODBCでSQLServerを登録しようとしています。

『システムDSN > SQL Server > 追加 > データソース新規作成』

ここでSQL Serverを選択して完了を押しました。
サーバを「localhost」にして、次へを押して、
・ネットワークへのログインIDで、WindowsNTの認証メカニズムを使う にチェックして次へを押したところ

接続できませんでした
SQL State: 01000
SQL Serverエラー: 2
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
接続できませんでした。:
SQL State: 08001
SQL Server エラー: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Serverが存在しないか、アクセスが拒否されました

のようなエラーが出ます。
サービスを見るとSQL Serverは稼動していますし、SQL Server Management Studio ExpressでもWindows認証でログインができます。

229 :NAME IS NULL:2010/04/20(火) 19:48:42 ID:???
. か、(local) でやってみるとどう?

230 :NAME IS NULL:2010/04/20(火) 20:37:06 ID:???
SQLServer構成マネージャでTCP/IPを有効にして
Windowsファイアウォールに穴あけとけ

231 :228:2010/04/20(火) 23:13:01 ID:RD2cOdO0
>>229
ありがとうございます。
.も(local)もつながりませんでした。
エラー内容は
[Microsoft][ODBC SQL Server Driver][DBNETLIB]
ではなく、
[Microsoft][ODBC SQL Server Driver][Shard Memory]となっていました。

>>230
ありがとうございます。
ファイアウォールは無効にしてあります。
TCP/IPを有効にしても、同じエラーで接続ができません。
何かソフトが悪さしているのでしょうか・・・。
ウイルス系ソフトは導入しておりません。

232 :NAME IS NULL:2010/04/20(火) 23:50:01 ID:???
あれ? Express? ってことは、インスタンス名は (local)\SQLEXPRESS じゃない?

233 :NAME IS NULL:2010/04/20(火) 23:53:38 ID:RD2cOdO0
インスタンス名ってサーバー名かな?
『PC名\SQLEXPRESS』です。


234 :NAME IS NULL:2010/04/20(火) 23:56:15 ID:???
それ指定してもダメなの?

235 :NAME IS NULL:2010/04/21(水) 00:09:13 ID:???
Expressならデフォの1433指定していないだけじゃないの?

236 :NAME IS NULL:2010/04/21(水) 04:39:52 ID:???
Expressって標準でインストールしただけだと
外部からの接続要求を受け付けない設定じゃなかったっけ?

237 :NAME IS NULL:2010/04/21(水) 07:06:09 ID:???
localhost指定してんだから、外部とか関係ないだろうよ・・・

238 :NAME IS NULL:2010/04/21(水) 08:04:47 ID:???
そのインスタンスに対して接続するするユーザーの許可与えてる?

239 :NAME IS NULL:2010/04/21(水) 13:23:47 ID:???
まぁ突っ込みどころ満載だ(バージョンや稼動サービスについて書かないとか)
インスタンスで話が通じないところをみると初心者なのだろうか?
とりあえず質問する時はやった事を漏らさずに全て書けとしか言えないな


240 :NAME IS NULL:2010/04/21(水) 22:22:54 ID:???
これから SQL Server 始めようと思ってるおれより素人がいるな

241 :NAME IS NULL:2010/04/22(木) 03:25:00 ID:???
server compactもここでいいん?

242 :NAME IS NULL:2010/04/22(木) 08:25:10 ID:???
今、自営で販売ソフトの設定をしなきゃならなくなりServer2008やらSQLの勉強中の素人の俺が華麗にアドバイスをしよう
SQL2008をネットワークのユーザーが使えるようにする際に気をつける点は
 1.サーバ名とインスタンス名を間違えない
 2.SQL構成マネージャで対象のTCP/IPを有効にする
 3.接続するサーバの設定でログインするユーザーの登録とそのユーザーマッピングのチェック
 4.FireWallの設定でSQLServerとSQLBrowserを特例にする
俺が辿り着けたのはここまでだ。それ以上のことはわからんしセキュリティに穴があっても責任はもてん!

243 :NAME IS NULL:2010/04/22(木) 16:37:20 ID:???
>>237
TCP/IPで接続な時点で外部接続あつかいだったとおもた

244 :NAME IS NULL:2010/04/23(金) 18:31:08 ID:lEAWOGqr
http://oraclesqlpuzzle.hp.infoseek.co.jp/sqlserver2008-sql1-olap.html
勉強になった

245 :NAME IS NULL:2010/04/26(月) 12:53:14 ID:???
SQL鯖2008R2でワークグループは最大2CPUまで許容していますが、
仮に1CPU 2コア (HTで4スレッド)
になった場合、どこまで使ってくれるんでしょう?
ご存知の方がいらっしゃればお教えいただければと思うのですが・・・

ライセンス的には上記CPUは1CPUで認識してくれていいとのことなんですが・・・


246 :NAME IS NULL:2010/04/26(月) 14:08:54 ID:???
コア数は無視してCPUのソケット数で数えるよ。

247 :NAME IS NULL:2010/04/26(月) 14:10:20 ID:???
>>246
ありがとうございます。

なるほどです。
ということは・・・CPUの性能を一応フルには使ってくれそうですね。
ありがとうございました。



248 :NAME IS NULL:2010/04/27(火) 17:48:46 ID:miyeoaWO
SQLServer2000(Standard)とSQLServer2005(Express)でレプリケーションをしたいと思っています。
SQLS2000をメイン(ディストリビューション/パブリケーション)として、SQLS2005をプルサブスクリプションに
設定をしたつもりですが、SQLS2005で作成したDBに該当のテーブルが表示されません。
(DBは新規サブスクリプションのウィザードで作成しました。)

何か同期を取るような処理が必要なのでしょうか?

249 :NAME IS NULL:2010/04/29(木) 22:34:09 ID:HRJIlp7m
2000SP2からSP4にアップしたいんですが、ダウンロードしてインストール実行したのにSP2から変化しません
マイクロソフトとは別に、判りやすく解説してるページやブログは無いでしょうか

250 :NAME IS NULL:2010/04/30(金) 11:01:29 ID:???
スタンドアロンレベルでR2のメリットおせーて

251 :NAME IS NULL:2010/04/30(金) 13:54:42 ID:???
>>250
ないよね


252 :NAME IS NULL:2010/05/08(土) 12:39:18 ID:???
「変化しません」がどこを見て言ったことなのかさっぱり伝わってこないんだが、
select @@version で調べりゃバージョン番号でてくるよ。
あるいは「sql server 2000 sp4 確認」とかでググれ

253 :NAME IS NULL:2010/05/09(日) 23:32:56 ID:BbSQ4OK4
SQLServer ってInsert処理が行われるときに、内部的に物理読込も発生するの?

254 :NAME IS NULL:2010/05/10(月) 04:04:04 ID:???
INSERT位置の確定のためインデックスの読み込みがありますね

255 :NAME IS NULL:2010/05/12(水) 17:08:20 ID:???
ちょっとした疑問。2ソケットPCに1ソケットまでの2008Expressってインストールできるのかな?
今稼動してる2ソケットの2003マシンを2008R2にする際、SQLをExpressにしようと思うのだが
ダメならStandard買うかHyper-V上で動かす

256 :NAME IS NULL:2010/05/12(水) 18:29:18 ID:???
インストールはできるんじゃない?
ただ、いずれかのCPUのうち1コアしか使われないというだけかと。

257 :NAME IS NULL:2010/05/12(水) 21:27:35 ID:???
駄目なら140万追加とは豪気だな。
ライセンスが気になるわ。

258 :NAME IS NULL:2010/05/12(水) 21:46:54 ID:???
どこで買えば140万も取られるんだろ。

259 :NAME IS NULL:2010/05/12(水) 21:50:28 ID:???
Standardのプロセッサライセンスでも100万ちょっと?

260 :NAME IS NULL:2010/05/12(水) 21:51:13 ID:???
と思ったけどそんぐらいするんだな。
システム発注側ってのも大変なもんなんだなぁ

261 :NAME IS NULL:2010/05/12(水) 21:57:18 ID:???
あれえ、もしかして2008Expressを2ソケットPCにインストールすることがライセンス違反になるのかなぁ

262 :NAME IS NULL:2010/05/12(水) 22:00:11 ID:???
1個のCPUのすべてのコアが使われる、かな

263 :NAME IS NULL:2010/05/12(水) 22:00:48 ID:???
どう読めばExpressのライセンス違反になるんだよwww

264 :NAME IS NULL:2010/05/12(水) 22:03:28 ID:???
サポートしている数よりも多いCPUが搭載されたPCにインストールするのがありなのかなしなのかと思って。。。

265 :NAME IS NULL:2010/05/12(水) 22:31:05 ID:???
もう開発すんの諦めろよ

266 :NAME IS NULL:2010/05/13(木) 02:14:41 ID:???
開発はDevelopEditionだろ普通。

267 :NAME IS NULL:2010/05/14(金) 20:29:39 ID:???
>>266
運用もだろ普通。


268 :NAME IS NULL:2010/05/14(金) 20:34:08 ID:???
納品出来ないだろ

269 :NAME IS NULL:2010/05/15(土) 07:26:42 ID:???
通報しま(ry

270 :NAME IS NULL:2010/05/15(土) 13:42:49 ID:???
SQLのパフォーマンスに関する記事

ttp://www.atmarkit.co.jp/fdb/rensai/10_drk/01/drk01.html

の記事書いた人のリンク先がOracleになってるんだけど。

例のオラクル都市伝説シリーズに出てくる”K”って

このDr.Kと同じ人なのですか?

271 :NAME IS NULL:2010/05/15(土) 15:27:41 ID:???
○○システム、ライセンス違反が見つかり飛行機発着不能に
経産大臣とバルマーCEOが緊急会談
とかになるの?


272 :NAME IS NULL:2010/05/15(土) 15:33:35 ID:???
>>270
都市伝説シリーズはSQL Serverのプロダクトマネージャの人がぶち切れてたなあ
オラクルは何か反応したのだろうか

273 :NAME IS NULL:2010/05/15(土) 18:17:19 ID:???
NUMAで構成した場合ページキャッシュってどうなってるんだろうね
どこかのCPUの一箇所にしか存在しなかったら
QPIなりHTなりがボトルネックになりかねない気がする

274 :NAME IS NULL:2010/05/16(日) 01:34:04 ID:???
>>272
まあ、例えFIX済みのバグに起因するのであっても、
製品として販売されているバージョンについて、
データファイルが破損したケースが1件でも発見できれば、
このoracleの主張に正当性はあるんですよね。
確実に無いと言う事を証明(悪魔の証明)でもしない限りは。

275 :NAME IS NULL:2010/05/16(日) 02:51:57 ID:???
RAIDコントローラのバグで壊れたことはあるよ。
オラクルも同じように壊れたわけだけど。
負荷がでかくなるとキャッシュだけに書いてディスクには書いてなかったバグなので
キャッシュから追い出されたあとに読み直すとデータが違っていたとかひどいバグだった。
SQLIOSimを実行すると一瞬でエラーで埋まるなんて状態だったけど。
安売りされてるサーバーに付いているRAIDコントローラってこんなもんなのかぁと思ったけど。

276 :NAME IS NULL:2010/05/21(金) 09:08:16 ID:cuGZjYO6
俺に言わせろ第1回 SQL Server PM 北川
http://www.youtube.com/watch?v=Wq2j0RXLjC0

277 :NAME IS NULL:2010/05/22(土) 01:45:46 ID:o0WlONLE
http://www.youtube.com/watch?v=Te1L9K5ZiO8
http://www.youtube.com/watch?v=gHBwr_7AF1c

278 :NAME IS NULL:2010/05/27(木) 00:19:18 ID:???
PostgreSQLからSQL2k8 R2にデータを移行したいんだが、2つのDBに接続して、
一方からselectして、もう一方へinsertみたいなことができるツールってないだろうか。
データ型の不整合はないのが前提として、手っ取り早く移行できそうな気がするんだけど・・・?

279 :NAME IS NULL:2010/05/27(木) 01:19:42 ID:???
>278
SQL Serverで、昔のDTS 今のバージョンならIntegration Servicesってのがある
PostgreSQLのドライバさえあればこれでできるはず
ただ、Integration Services使ってみたけど、案外使いにくいんだよな
OLEDBのドライバあるなら、SQL ServerからリンクサーバでDBリンク張れると思うんだが
こっちのほうが簡単かも

280 :NAME IS NULL:2010/05/27(木) 01:28:08 ID:???
>>279
DBリンクできるならそっちの方がよさそう。
そういう手段もあったのね。試してみます。
情報thx!!

281 :NAME IS NULL:2010/06/04(金) 11:13:41 ID:???
Windows認証で運用しているSQL ServerにLinux or Mac OS Xから接続できる?

282 :NAME IS NULL:2010/06/04(金) 12:06:31 ID:???
混合モードにしてSQLServer認証を使うしかないんじゃ。

283 :NAME IS NULL:2010/06/04(金) 13:09:48 ID:???
ですよね…。
SQL Server 7なもんで、混合モードが無いので、無理だ…。
ありがとうございました。

284 :NAME IS NULL:2010/06/04(金) 18:02:03 ID:???
全部SQL鯖認証にすりゃ解決じゃん

285 :NAME IS NULL:2010/06/04(金) 22:15:32 ID:???
7.0なんてもう使う意味ねーだろ

286 :NAME IS NULL:2010/06/04(金) 22:58:55 ID:???
保守と拡張だろしかたないVB6と一緒なんだよ

287 :NAME IS NULL:2010/06/05(土) 15:24:43 ID:???
7.0のサポート期限、2010/12/31までだぞ
金出させて更新させるか完全放置しろ

288 :NAME IS NULL:2010/06/05(土) 15:30:22 ID:???
ローカル環境だとサポート云々言っても馬念仏だわ。
今まで動いていたのだから、これからも大丈夫でしょ。
え?問題無く動くのに金払うの?なんで?
とか言われたら・・・

289 :NAME IS NULL:2010/06/05(土) 15:58:06 ID:???
ローカル環境だから安全だと思ってるやつってまだいるんだ

290 :NAME IS NULL:2010/06/05(土) 16:12:33 ID:???
>>287
そんなに先だったのか。
ってことは、7.0ってWin2003もサポート対象だったんだな。

291 :NAME IS NULL:2010/06/05(土) 16:26:48 ID:???
ミラーリングで冗長性を・・・と言ってアップグレードだな
冗長性確保で2台にインスコするときはライセンスは1つでいいらしい。

292 :NAME IS NULL:2010/06/05(土) 19:33:57 ID:???
>>287
そうそう、2000もたしか同じだったはず
来年からは、2005以上として考えられるからいくらか楽になる
特にtry-catchとwithは使用できないと結構面倒くさい

293 :NAME IS NULL:2010/06/05(土) 21:20:50 ID:???
>>291
え まじで

294 :NAME IS NULL:2010/06/05(土) 21:46:35 ID:???
なかなか複雑だなぁ

295 :NAME IS NULL:2010/06/05(土) 21:50:13 ID:???
ごめ。貼り忘れ。
ttp://www.microsoft.com/japan/sqlserver/2008/r2/howtobuy/system.mspx

296 :NAME IS NULL:2010/06/05(土) 22:13:20 ID:???
もしかして今ままで監視含めて3ライセンス購入なんて言うなよw

297 :NAME IS NULL:2010/06/05(土) 22:56:27 ID:???
>>293
待機系はライセンス要らないよ
その待機系には、普段は別の仕事をさせてたり〜てなら、それ「待機系」じゃなくなるけど。

マイクロソフトの公式に書いてあるよ。
OSもSQL Serverも、待機系には本番系のライセンスで入れて運用して桶

298 :NAME IS NULL:2010/06/05(土) 22:57:47 ID:???
ああ >>295 の「フォールオーバー機能を利用する場合」にあるな

>フェールオーバー クラスタリング、データベース ミラーリング、ログ配布のいずれかのテクノロジーを使用し、
>SQL Server 2008 R2 のフェールオーバー機能を利用する場合、
>Passive 側 (待機サーバー) のライセンスを購入する必要はありません。

299 :NAME IS NULL:2010/06/05(土) 23:04:38 ID:???
それにしても正規表現を標準で取り入れて欲しい今日この頃

300 :NAME IS NULL:2010/06/05(土) 23:11:20 ID:???
いわゆるUnix由来の正規表現は、Shift-JISで問題が起こるからねぇ。
結局、アプリ側で対処してね、で終わる。

301 :NAME IS NULL:2010/06/05(土) 23:55:20 ID:???
>>299
欲しいよね
どうしてもという時はSQLCLRで関数作ってありがたく
使わせてもらってるけど

302 :NAME IS NULL:2010/06/07(月) 09:36:28 ID:???
IDENTITY列の最後に発行した値はIDENT_CURRENTで取得できますが
ROWGUIDCOL列の最後に発行した値はどのように取得すればよいでしょうか?


303 :NAME IS NULL:2010/06/08(火) 01:56:56 ID:???
どう使いたいかはわからんが、InsertやUpdate後の値が取りたいのならOUTPUT句を使いなさい。

304 :NAME IS NULL:2010/06/09(水) 11:29:29 ID:???
大きな文字列変数が欲しいので
declare @hoge text
とやってみたんですがtext型はだめみたいです。
大きな文字列をローカル変数で扱いたい場合に
オススメの型はありませんか?

305 :NAME IS NULL:2010/06/09(水) 11:33:00 ID:???
なにがだめなんですか
おおきいって100じくらいですか

306 :NAME IS NULL:2010/06/09(水) 20:05:21 ID:???
バージョンくらい書けよと
んで text では何がだめなんだ?

2005以降なら varchar(max)があるけど
どうしたいんだ?

307 :NAME IS NULL:2010/06/10(木) 02:00:09 ID:???
textは宣言できないだろ。
普通に確保するならvarchar(8000)かnvarchar(4000)だな。
それよりでかいのが欲しいなら処理方法とか考え直せ。

308 :NAME IS NULL:2010/06/10(木) 21:28:14 ID:???
SQL Serverの設定はここでいいのかな?

環境は
Win2008 R2 でhyper-vにwin2000Serverをいれ
その中でSQL7を動かしています
Win2008R2のCALは10
win2000が10CAL、SQLが5CAL

なのでマイクロソフトで聞いたら、SQL2008のCALかえばいいよとのことで
5CAL購入

かったのはいいけど、SQL7でのCALの設定画面は無し
マイクロソフトに聞いてもメインサポート切れてるからしらねー

win2000のコンパネから、ライセンスってのがあったので
そこでSQL7の接続ユーザー数?を5→10に変更したのですが
5人以上つなぐと、SQL ODBCエラー 最大接続ユーザー数が5をこえています
とエラーが出てしまいます。

どなたか回避方法を知っていれば教えてください。
よろしく願いします。

309 :NAME IS NULL:2010/06/14(月) 01:12:07 ID:bmiAekTJ
SQLServerではVARCHARなんかの可変長列を一切使わず、
レコードを固定長にした方が僅かでもパフォーマンスが良くなったりしますか?

310 :NAME IS NULL:2010/06/14(月) 12:05:16 ID:???
>>308
http://support.microsoft.com/kb/320728/

311 :NAME IS NULL:2010/06/15(火) 12:24:51 ID:???
>>309
まったくない。

312 :NAME IS NULL:2010/06/18(金) 18:45:11 ID:???
これ見てよ↓
http://livedoor.blogimg.jp/tekepo/imgs/3/4/3414dfca.jpg
ばらまこうぜ!


313 :NAME IS NULL:2010/06/21(月) 10:17:57 ID:???
R2ってコア部分なんか良くなってる?

314 :NAME IS NULL:2010/07/02(金) 16:59:05 ID:???
t-sqlで数値を16進数文字列に変換する方法ってありますでしょうか?
VBでいうところとHex関数のような。

315 :NAME IS NULL:2010/07/02(金) 17:50:17 ID:???
>>314
inttohex

316 :NAME IS NULL:2010/07/02(金) 20:54:34 ID:???
>>315
2000には無いようですねorz

317 :NAME IS NULL:2010/07/07(水) 18:09:49 ID:???
ストアドなどはエンタープライズマネージャで
複数選択してCtrl+Cをするとそれを一気にSQLにできますが
ジョブは同様のことができません。
何か方法はないものでしょうか?

318 :NAME IS NULL:2010/07/21(水) 18:41:13 ID:???
SQL Serverって、オススメなマニュアルは無いのでしょうか?
赤本とか読むしか無いのですかね?

TechnetとVisualStudio2008を持ってるのでライセンスはありますが、
本のマニュアルはついてないですよね。

OSだと昔はリソースキットとか青い本が何冊も出てたかと思うんですが、
最近、そういうのも書店で見かけなくなったような。
俺の目が節穴なだけですか?

319 :NAME IS NULL:2010/07/21(水) 21:16:10 ID:oL/WPo2R
オンラインブック

320 :NAME IS NULL:2010/07/21(水) 22:20:30 ID:???
自習書シリーズが結構掲載されてるからDLしてみれば
MSが作らずに外注しているだけあって、それなりに読み易くなってる

321 :NAME IS NULL:2010/07/22(木) 01:41:01 ID:???
>>318
Books Onlineとかのヘルプに目を通す。
普通に内容充実してるだろ。

322 :NAME IS NULL:2010/07/23(金) 00:31:33 ID:???
何を知りたいかによるけど、大概はオンラインヘルプで十分だわな。

323 :NAME IS NULL:2010/07/23(金) 14:30:34 ID:???
PCの知識が全くない者の質問ですが、よろしくお願いします。
今回仕事用のソフトがSQL Server云々とエラーが出てインストールできませんでした。
確認してみると確かに「SQL Serverシリーズを既にご利用の方はインストールできません」となっています。
PCを買い替えたばかりで最初からインストールされていたので利用している自覚はないのですが、
これらはアンインストールしても問題ないのでしょうか?

324 :NAME IS NULL:2010/07/23(金) 15:02:20 ID:???
>>323
他の人に頼めw

325 :NAME IS NULL:2010/07/23(金) 15:03:32 ID:???
問題あるに決まってんだろ。
何かアプリケーションがSQL Serverを使うからSQL Serverが入ってるんだろ?
それを消したら、そのアプリケーションが動かなくなる。
それってサーバじゃね?ログをブラウザで見る機能とか無いか?
もしあれば、そのログ管理にSQLServerを使ってると思う。

ま、俺のPCじゃねーし、好きにするがいいさ。

326 :NAME IS NULL:2010/07/23(金) 17:20:39 ID:???
最近のソフトウェアはSQL Serverを結構使ってるよな。
バックアップソフトとかも使ってて正直うざいというのはある。

327 :NAME IS NULL:2010/07/23(金) 19:33:15 ID:???
Expressだろうけどな。それかWID。

328 :NAME IS NULL:2010/07/24(土) 09:50:38 ID:???
今のExpressってインスタンス名変えられるの?
ソフトウェアにバンドルされてる奴はExpressじゃなくてCompactか
一応は正規版なんでないの。

329 :NAME IS NULL:2010/07/24(土) 17:32:50 ID:???
2008R2のExpressはたしかプロセッサは1個まで、データベース容量は10Gまでインスタンス変更可能

330 :NAME IS NULL:2010/07/26(月) 18:07:59 ID:???
昔は2Gとかじゃなかったっけ?
10あったら実用的だなあ。

インスタンス名を変えられるのであれば、
何個もインスコできるの?Express。

331 :NAME IS NULL:2010/07/26(月) 19:41:35 ID:???
リンクサーバーで、
ServerAにログインした状態で、ServerBのテーブルのデータをselectしたいのだ。

それで、リンクサーバーを作成した。
SQL Server Management Studioを起動
ServerAにログイン。認証の種類はWindows認証。
リンクサーバー ServerBを追加した。
セキュリティの設定
 ローカルサーバーのログインとリモートサーバーのログインのマッピング ... 空欄
 上記一覧で定義されるログインの接続方法
  ログインの現在のセキュリティコンテキストを使用する
ServerAのSQL Server Management Studioからクエリーを実行する
select * from ServerA.DBName.dbo.TableName ... データが取得できる。

しかし、クライアントPC(XP SP3)から同じように実行するとエラー。
メッセージ 18456、レベル 14、状態 1、行 1
ユーザー 'NT AUTHORITY\ANONYMOUS LOGON' はログインできませんでした。
※ このときのWindowsログオンユーザーは、domain_name\administratorでも、一般ユー
ザーでもだめだった。
ServerA、ServerBそれぞれには接続できる。

Active Directory環境で、サーバーはどちらもWin2003R2です。
@@version=9.00.4053.00
select USER ... dbo
select SUSER_NAME() ... domain_name\Administrator
サービスのアカウント domain_name\Administrator
認証はWindows認証のみ。

クライアントPCからなんとかリンクサーバーを利用したい。
おたすけ。


332 :331:2010/07/26(月) 19:44:08 ID:???
>ServerAのSQL Server Management Studioからクエリーを実行する
これは、ServerAのデスクトップから、という意味です。


333 :NAME IS NULL:2010/07/26(月) 19:47:02 ID:???
ダブルホップになってるような希ガス。

334 :331:2010/07/27(火) 20:03:35 ID:???
リンクサーバー ダブルホップとか、kerberos 委任とかでぐぐり、以下のページを読ん
で作業した。
リンク サーバーの委任用の構成
http://msdn.microsoft.com/ja-jp/library/ms189580.aspx
SQL Server サイト データベース サーバーの SPN の構成方法
http://technet.microsoft.com/ja-jp/library/bb735885.aspx

SQL ServerのSPNはなぜかすでにセットされていた。
Active Directory ユーザーとコンピュータを開き、domain_name\administratorの、
委任タブ「任意のサービスへの委任でこのユーザーを信頼する(Kerberosのみ)」にした

あと、ついでにServerBが実行されているコンピューターの委任タブも似たような設定項
目だったので、同じにしてやった。「任意のサービスへの委任でこのコンピュータを信
頼する(Kerberosのみ)」

そうしたら、クライアントPCからdomain_name\administratorでログインすれば、リンク
サーバーへのクエリー結果が返るようになった。

クライアントPCからdomain_name\一般ユーザー でログインして実行するとエラーが出る
のは変わらない。

>>333ありがとうだ。
でもやっぱりなんなのかよくわからぬ

悩んでるときにここの過去ログ見つけた。
http://www.unkar.org/read/pc11.2ch.net/db/1175091880
110からの質疑もよくわからないし。

リンクサーバーを使うには
 Windows認証の場合は、SQL Serverのサービス開始アカウントじゃないと使えない。
 またはSQL Server 認証を使うこと。
ということなのか?ちくしゃう、讃岐うどんとsaは大嫌いなんだ。

335 :NAME IS NULL:2010/07/28(水) 13:13:28 ID:???
ttp://technet.microsoft.com/ja-jp/library/ms188031.aspx
ここでsp_detach_dbは将来削除されると書いてありますが、
代わりのデタッチ処理はあるんでしょうか?

336 :NAME IS NULL:2010/07/28(水) 13:15:29 ID:???
よくみたらkeepfulltextindexfile の事のようでした
失礼しました。

337 :NAME IS NULL:2010/08/05(木) 09:43:49 ID:???
test

338 :NAME IS NULL:2010/08/06(金) 15:20:30 ID:SzObnq5+
質問です。
SQL-Server2008R1を購入しクライアントソフトのみをWindows7上にインストールして
Windows2000+SQL-Server2000のデータベースにアクセスできるものでしょうか?

もしこれが不可能だとすると職場のWorkStaion全てを一気にWindows2000からWindows7に
更新しなければ移行が不可能になります。労力と予算的に相当厳しいです。

339 :NAME IS NULL:2010/08/06(金) 15:31:36 ID:???
>>338
SQL2008ExpressのManagementStudio使えばいいんじゃないの?
Win7はまだ職場に無いけど、XPからWin2k+SQL2kなら実際に使ってる。

340 :NAME IS NULL:2010/08/06(金) 15:41:13 ID:???
やばい、俺には意味がわからなかった…。

341 :NAME IS NULL:2010/08/06(金) 15:50:14 ID:SzObnq5+
>>339
そういう手があるんですか、希望がでてきました。
ありがとうございます!!

(R1ではなくR2でした)

342 :NAME IS NULL:2010/08/06(金) 16:26:54 ID:???
もしそれが不可能な場合、Windows7にVirtualPC入れてWindows2000を動かせばよいような。


343 :NAME IS NULL:2010/08/06(金) 16:58:14 ID:???
クライアントってどういものを言っているのかいまいちわからんけど、
7であれば、普通のPCがアクセスに使うであろう、ODBCやADO.NETなら最初から入っていると思うが。

344 :NAME IS NULL:2010/08/06(金) 19:56:35 ID:???
2000なら適当な理由付けてでも、さっさと移行した方が良いと思うのは俺だけか。

345 :NAME IS NULL:2010/08/08(日) 22:08:13 ID:???
一つのSQL文のWHERE内で同じ計算式複数出てくる場合
SQL文がかなり長くなるんですが一つにまとめる方法はあるでしょうか?


346 :NAME IS NULL:2010/08/08(日) 22:19:28 ID:???
>>345
CTE

347 :NAME IS NULL:2010/08/08(日) 22:31:06 ID:LVXmQUXK
NULL データの扱いを
一般のSQL互換でないやりかたにしたのは許せないな。

面倒この上ない。

348 :NAME IS NULL:2010/08/08(日) 23:25:43 ID:???
>>346
ありがとう。確認してみます。


349 :NAME IS NULL:2010/08/09(月) 16:23:31 ID:???
>>347
SQL互換ってのもよく判らない表現だが
具体的にNULLのどういう取り扱いが問題なんだ?

350 :NAME IS NULL:2010/08/09(月) 22:22:58 ID:???
NULL有りのユニーク索引のことかな?
これはSQLServer独特の動きをするが、そんな索引は普通は使わないな。

それとも互換モードでのNULLの扱いのことかな?

351 :NAME IS NULL:2010/08/09(月) 22:51:34 ID:???
SET ANSI_NULLS OFFの動作?

352 :NAME IS NULL:2010/08/10(火) 07:35:19 ID:???
WHERE 区分=ISNULL(@区分,区分)

こんな風な Where で(パラメータ @区分 が NULL のとき全件を対象にしたい)
データの中の区分が NULL 以外に対しては期待通りに動作するけど
区分が NULL のものは引っ張ってこない。

これの挙動は理解できないなぁ


結局は
WHERE (区分=@区分 OR @区分 IS NULL)
って書かざるを得ない。

353 :NAME IS NULL:2010/08/10(火) 09:49:22 ID:???
それで仕様通りじゃないか。
それこそ互換性無視してSET ANSI_NULLS OFFしたら?

354 :NAME IS NULL:2010/08/10(火) 09:50:59 ID:9HJ13L/P
質問なのですが、MSDE 2000を利用しているのですが、
SQL Server 2008 Management Studio Expressを利用してExcelファイルにエクスポートすることは可能でしょうか?

355 :NAME IS NULL:2010/08/10(火) 09:51:47 ID:???
SET ANSI_NULLS OFF しても >>352 の最初の書き方では期待通りの動作しないのよ

356 :NAME IS NULL:2010/08/10(火) 10:27:58 ID:???
>>354
出来たよ。
つか、別に費用かからないんだからダウンロードして試せばいいじゃん。

357 :NAME IS NULL:2010/08/10(火) 11:15:16 ID:???
今更NULL = NULLが真になるような処理系なんて見たくもないし、
それが通るようなオプション設定作られてもバグの元になるだけ。

358 :NAME IS NULL:2010/08/10(火) 17:47:37 ID:???
SET ANSI_NULLS OFFだけでなく、
互換レベルを70や60あたりまで戻さないとダメなんじゃないかなぁ。


359 :NAME IS NULL:2010/08/10(火) 17:53:05 ID:???
>>357
>NULL = NULLが真

これって、なんでダメなの?
NULL IS NULL でなきゃっていうのは屁理屈に見えるんだけど。。

IS と = とを等価で扱ってくれたほうがラクじゃないのか?

360 :NAME IS NULL:2010/08/10(火) 18:03:43 ID:???
>一般のSQL互換でない(>>347) から。
NULLは3値論理の不定として扱うことになったのでほとんどのRDBはそれに従った。

361 :NAME IS NULL:2010/08/10(火) 18:15:10 ID:???
>>347の頭のほうが一般のSQL互換で無いということね

362 :NAME IS NULL:2010/08/10(火) 20:25:20 ID:???
まぁ、3値論理は肌に合う合わないの個人差大きいからなぁ。
直感的に扱える人のほうが珍しいかもしんない。

といっても、RDB扱う上で避けては通れないので
脳のシワに刻み込まなきゃならないんだけどな。

363 :NAME IS NULL:2010/08/10(火) 23:37:53 ID:???
SQL Server 2008R2 Express 日本語版はいつ提供されるんだ
今ダウンロードしようとすると英語版に飛ばされるんだけど、日本語が欲しい

364 :NAME IS NULL:2010/08/10(火) 23:47:11 ID:???
SQL Server 2008R2 Expressでググった一番上のリンクから普通にJPダウンロードできるんだが。

365 :NAME IS NULL:2010/08/11(水) 00:16:50 ID:???
>>364
ありがとう見つかった。
MSのサイトのホームからたどっていくとたどり着けなかったんだ。

366 :NAME IS NULL:2010/08/11(水) 09:40:22 ID:???
>>359
IS と = って同じものじゃないの?

367 :NAME IS NULL:2010/08/11(水) 11:43:48 ID:???
>>366
違う
=は比較で、結果は真、偽、不定のどれか
ISは検査で、結果は真か偽

NULLの比較は不定になるのがNULLの決まり

368 :NAME IS NULL:2010/08/11(水) 18:08:53 ID:???
>>356
すみません、実際に業務で動いてるサーバーだったので
なかなか試せなかったもので・・・

Management Studio Expressのインストールは無事に済んだのですが、
Excelへのエクスポートを実施してみましたが、エクスポート中にエラーが出てしまいました。

エラーの中身(Report.txtの一部)
- 変換先接続を設定しています (エラー)
メッセージ
* エラー 0xc0204016: SSIS.Pipeline: "出力列 "report_text" (63)" の長さは無効です。0 から 4000 までの長さにする必要があります。
(SQL Server インポートおよびエクスポート ウィザード)

* Exception from HRESULT: 0xC0204016 (Microsoft.SqlServer.DTSPipelineWrap)

SQL Serverは難しいですね・・・

369 :NAME IS NULL:2010/08/12(木) 22:30:06 ID:???
>>352
ちゃんとMSDNでは、以下のように注意されてるでしょ
> NULL 値の検索に ISNULL を使用しないでください。代わりに IS NULL を使用します。
http://msdn.microsoft.com/ja-jp/library/ms184325.aspx

SET ANSI_NULLSも今後のバージョンは、常にONとなる予定らしいから
なるべく使わないでくれってなってるな

370 :NAME IS NULL:2010/08/13(金) 01:53:35 ID:???
3値論理もわからんやつがPGするな

371 :NAME IS NULL:2010/08/13(金) 05:26:30 ID:???
それ基準にしたら、SIer勤めのPGは半分以上が廃業だろw いや、もっと多いか。

372 :NAME IS NULL:2010/08/13(金) 09:02:47 ID:???
PGっていうか、コーダーじゃないのか。

373 :NAME IS NULL:2010/08/13(金) 11:28:36 ID:???
sql server 2005から例外処理が追加されましたが、
例外はどのタイミングで発生するのか分かりません

教えてください

374 :NAME IS NULL:2010/08/13(金) 20:00:05 ID:???
関係モデルが3値論理を採用しているって、知らない人は結構多いな
ANDがF>U>T、ORがT>U>Fの優先順で評価されるんだっけ

375 :NAME IS NULL:2010/08/14(土) 00:42:46 ID:???
>>373
ステートメント単位

376 :NAME IS NULL:2010/08/19(木) 22:47:08 ID:???
management studioでctrl + hで表示される文字列置換ダイアログについて
正規表現で\t(タブ)はマッチするのに、
\s(スペース)や{1,2}などはマッチしません

これって、microsoftの製品は\sや{1,2}が無いのでしょうか?


377 :NAME IS NULL:2010/08/20(金) 11:19:44 ID:???
SQL2008Standard 1台と、SQL2008Express多数で、テーブルのレプリケーションによる同期は出来るのでしょうか。

378 :NAME IS NULL:2010/08/20(金) 12:13:11 ID:???
>>377
Expressはそういう用途で使えない。

379 :NAME IS NULL:2010/08/20(金) 12:25:52 ID:???
>>378
やはり無理ですか。ありがとうございます。

380 :NAME IS NULL:2010/08/24(火) 04:44:21 ID:4e1wvTf+
DBCC DBREINDEX コマンドが行う断片化の解消って、
 @前回コマンド実行時から断片化した分だけ、断片化を解消する
 A1回インデックスをDROPして再作成する
のどっち?
自分の体感時間から考えると@のような気がする。

381 :NAME IS NULL:2010/08/24(火) 09:49:29 ID:???
>>380
デフラグなんだからそりゃそうでしょ。

つーか、MSはいい加減再編成と再構築を統一して欲しいわ。
そりゃコマンドで言えばそれまでだろうけど。

382 :NAME IS NULL:2010/08/24(火) 16:06:34 ID:FL8LS+Vb
execute ('select * into [#住所録] from 住所録')
go
select * from [#住所録]
go

ってやったら


メッセージ 208、レベル 16、状態 0、行 1
オブジェクト名 '#住所録' が無効です。

だってナンデでしょう?動的に処理したいinto先が扱えないorz.

2008 SP1です。

383 :NAME IS NULL:2010/08/24(火) 16:19:38 ID:???
execute ('select * into [#住所録] from 住所録;select * from [#住所録]')
ならできるよ


384 :382:2010/08/24(火) 16:28:05 ID:???
>>383
あ、ほんとや!
実はストアド中で処理してます。SQL文が長いんで、

execute(@strSQL1 + ';' +@strSQL2 + ';' +@strSQL3)
なふうにするのもなんかすっきりしません。

385 :NAME IS NULL:2010/08/24(火) 16:48:08 ID:???
ストアドみたいな時代遅れなものを使うのが間違い

386 :382:2010/08/24(火) 17:15:25 ID:???
>>385
ツールの制約あってねー。能力も。

execute ('select * into [#住所録] from 住所録')
go
execute ('select * from [#住所録]')
go

がなんでダメなのかがわからないんですよ。


387 :NAME IS NULL:2010/08/24(火) 17:22:04 ID:???
execute ('select * into [##住所録] from 住所録')
go
execute ('select * from [##住所録]')
go

ならいけるよ



388 :NAME IS NULL:2010/08/24(火) 17:33:19 ID:???
一時テーブルのスコープはややこしいよね。
普通はセッションがスコープだが、
ストアド内は別スコープで、
ストアドからストアドを呼んだ場合はそれぞれ別になる。
execute内も別スコープ扱いなんだろう。

389 :382:2010/08/24(火) 17:43:34 ID:???
>>387-388
なるほど。

マルチユーザですんで、グローバルはつかえません。
ストアドでごりごり造り込んだワタシがいけないんでしょう。

仕方ないので見直してフロントで対応します。

390 :NAME IS NULL:2010/08/24(火) 17:52:00 ID:???
今後はストアドの利用は最小限にしていきましょうね。
約束ですよ。

391 :NAME IS NULL:2010/08/24(火) 18:12:13 ID:???
SQL Serverのストアドは確かに古臭いが、使ってはいけないものじゃない。
今回のケースでは一時テーブルではなくてTable型を利用する必要がある。

392 :NAME IS NULL:2010/08/24(火) 20:46:55 ID:???
あるテーブルのデータから別のテーブルのデータを作る時って、
ストアドを使うのが普通なんですか?

393 :NAME IS NULL:2010/08/24(火) 21:25:36 ID:???
SELECT INTOとか2008以降ならMERGE使えばいいんじゃない
ストアドは個人的にそれほど抵抗はない
だけど、トリガーだけは勘弁
トリガーの連鎖とかあると、もう訳わかわらん

394 :NAME IS NULL:2010/08/26(木) 01:53:08 ID:khjLaUOa
こんにちは
トリガーの中でクライアントのosユーザ名やマシン名を使う方法がわかりません。
SUSER_SNAME()を使うと、SQLServer認証の場合SqlServrへのログイン名が帰って来ます。
OraclのSYS_CONTEXT('USERENV','SESSION_USER')見たいな事がやりたいのです。

395 :NAME IS NULL:2010/08/26(木) 23:10:15 ID:???
SQL認証だとクライアントから自己申告させるしかないんじゃない?
セキュリティ周りに使いたいのならWindows認証にすべきかと

396 :NAME IS NULL:2010/08/27(金) 00:31:33 ID:cSQaMq+0
Webが絡むとWindows認証ではないだろう

397 :NAME IS NULL:2010/08/27(金) 07:13:50 ID:???
Web上でWindows認証ってできないの?

398 :NAME IS NULL:2010/08/27(金) 07:19:49 ID:???
トリガーを使うのが間違い

399 :NAME IS NULL:2010/08/27(金) 07:26:08 ID:???
>>397
http://msdn.microsoft.com/ja-jp/library/bsz5788z%28VS.80%29.aspx

400 :NAME IS NULL:2010/08/27(金) 20:05:08 ID:???
トリガー使うくらいなら、まだCASCADEとかを使ってくれた方がマシ

401 :NAME IS NULL:2010/08/29(日) 00:04:57 ID:???
394です。いろいろ ありがとうございます。
このプログラムのためにWINDOWS認証に変更はできません。
誰がアクセスしたかを知りたいことは良くあるし、何割かのサーバーはSQL認証を使っていると思うので
絶対何か方法が用意されていると思ったのですが、どうしても見つかりません。
クライアントマシン名も、COMPUTER-EA13C8みたいな訳のわからない記号が帰ってきます。
もうちょっと探してみます。

402 :NAME IS NULL:2010/08/29(日) 00:21:35 ID:???
プロファイラで見られる情報以上は無理だろ。

403 :NAME IS NULL:2010/08/30(月) 06:51:42 ID:MkDtH9ny
やった事ないけど、
LDAPから情報を取得できるらしい
http://devadjust.exblog.jp/9777591/

404 :NAME IS NULL:2010/08/30(月) 07:07:44 ID:???
それはつないできてるユーザーとはなんも関係ない。

405 :NAME IS NULL:2010/09/02(木) 21:04:12 ID:???
select * from A
inner join B on A.key = B.key
where A.foo_date = '9999/12/31'
and B.bar_date = '9999/12/31'

条件はwhereでもonでもいいんだけど。
date型の比較からdatetime型の比較にするだけで
何倍もの処理時間が掛かるのは何故?
(こんなの→ = '9999/12/31 23:59:59')

タイムアウトして例外吐くようになってもた...orz

406 :NAME IS NULL:2010/09/02(木) 21:55:39 ID:???
>>405
実行プランを比較すれば?

407 :NAME IS NULL:2010/09/02(木) 22:02:52 ID:???
>>406
あ、そうか。
変更後のプランだけ見てたけど比較すれば良かったのか。
ありがとう、やってみる。

408 :NAME IS NULL:2010/09/03(金) 06:38:36 ID:???
>>405
本題と反れるが、そんな SQL 文、漏れだと下のように書きたくて仕方ない。

select * from A
inner join B on B.key = A.key and B.bar_date = '9999/12/31'
where A.foo_date = '9999/12/31'

A.foo_date にインデックス張ってあるのだろうけど、もし レコード数が B>A で、B.bar_date にインデックスがあるなら

select * from B
inner join A on A.key = B.key and A.foo_date = '9999/12/31'
where B.bar_date = '9999/12/31'

と。
多分、実行プラン的には大差ないんだろうけど、なんとなく・・・

409 :NAME IS NULL:2010/09/03(金) 11:30:19 ID:???
大差ないというか、まったく同じ実行プランになるような気がする
今俺は試せないのでだれか試してくれ
最近のSQLServerのオプティマイザ結構良くできてるぜ

410 :NAME IS NULL:2010/09/03(金) 14:24:13 ID:???
>>405
日付の / 区切りは設定や環境依存があるから - 区切りを使ったほうが良い。
プランに影響があるかどうかは知らんけど。
'9999-12-31 23:59:59'

411 :NAME IS NULL:2010/09/03(金) 22:06:40 ID:???
内部結合ではONとWHEREでの条件によって違いはでないでしょ

412 :NAME IS NULL:2010/09/03(金) 23:52:02 ID:???
すいません、こちらのスレで良いのかわからないのですが
大量データについて質問させて下さい。
100万件500MBほどのデータをDBからファイルに出力したい。
抽出の際には、Where句により2つのフラグを判断させます。
しかし、抽出したデータに出力対象外のものが15%含まれており
このデータを弾く為に、DBに判断用のフラグを追加するのと
全て取得してプログラム内で弾いていくのと、どちらが早いのでしょうか?

動作環境がない為、判断できずに悩んでます。どなたかお教えくださいm(_ _)m

413 :NAME IS NULL:2010/09/03(金) 23:56:53 ID:???
意味がわからんけど、「DBに判断用のフラグ追加する」って
そのフラグ追加の条件をWhereに追加すれば良いんじゃないの?

414 :412:2010/09/04(土) 00:05:07 ID:???
>>413
説明下手ですみません。
フラグ追加の条件が、既存のバイナリ項目のデータのNバイト目がこれなら〜
という判断になるため、単純なSQL文ではいけなさそうです。

415 :NAME IS NULL:2010/09/04(土) 00:54:01 ID:???
あら、レスが増えてる。
チームの端っこの方なのであまり強いことが言えない405。

>>406
結論からいうとdatetime比較がマストな要件から外せたので、
問題の解消じゃなくて回避の方向で解決してもた。

ばたついてて記録を録り逃したんだけど。
datetime比較だとレコード数だけ回ってた内部処理が、
date比較だとなくなってたのはわかった。理由はやっぱり謎。

datetime比較:110秒
inner join→inner loop join:25秒
date比較:1秒(inner loop joinだと遅かった)

動かした感じを見る限り、仕様とテーブル設計と元のSQLが
おかしなことになってるようにしか思えないんだども。

>>408,409,411
実はその違いも気にはなっていたのじゃよー。
観点として覚えておく。ありがとう。

>>410
設定なのかも知れないけど、何故かハイフンだと怒られる。
やっぱり普通はハイフンで通るのかー。うーむ。


一応解決はしたのでこれまで。
重ねて、みんなありがとう。また草葉の陰からミテルヨ。

416 :NAME IS NULL:2010/09/05(日) 05:17:49 ID:???
>>412
substring
>>415は死ぬのかよ。

417 :sage:2010/09/08(水) 08:44:01 ID:7OmomW6O
教えてください。

現在、SQLServer2005(Windows2003Server)を8台使って、
レプリケーションを設定しています。(トランザクションとP2P)

 8台のうち、一台がトランザクションレプリ用の
リモートディストリビューターなのですが、
このサーバーのドライブ容量が、どんどん減っていくのです。

 調べたところ、ディストリビューションデータベース内の、
システムテーブル内にあります、「dbo.MSrepl_transactions」が、
すごい勢いで増えており、ドライブを圧迫しているようです。

 こちら、貯まらない様にする方法や、メンテナンスで一旦消すなど
必要なのでしょうか?


宜しくお願いします。

418 :NAME IS NULL:2010/09/08(水) 20:46:13 ID:???
>>412
テーブル定義変えていいなら、計算列追加するとか。
INSERT、UPDATEの負荷がちょいと上がるけど、
そのフラグで判断する機会が多いなら有効だと思うよ。
インデックスも張れるし。

       x   /  ./  / /    ``\.  +
          /_.. ィ7T.フ厂 ̄`フi ‐- ._ |〉     x
      .x    !  ̄フ/l/_×// |ハハl .ト、  x
   |! /    |  /|,イ._T_i`   .r≦lハ!|``   +
   ll/_     .|  | |'弋..!ノ     i'+!l |
  / ミr`!   /   l |' ' '  ,‐- ..__゙ー' .!l .|
  ト、ソ .! ./   .,!l .ト、  l  `,!   .ハ.!
  /ll\ `テヽ、 /_,| |l: > .ヽ.. ィ <l   l|

419 :NAME IS NULL:2010/09/11(土) 01:56:31 ID:???
ReadPastの使い方がわからん

↓のようなテーブルがあるとする
テーブルXXX
ーーーーーーーーーーーー
レコード1
レコード2
レコード3
レコード4
ーーーーーーーーーーーー

Aプロセスがレコード1〜2をRowLockでUpdate中(未コミット)にBプロセスから
レコード3〜4をReadPastでSelectしたら、ロックの競合で待ち合わせが発生した。。。
ReadPastって、ロックされてる奴はスキップするんじゃないの?訳がわからん。

420 :NAME IS NULL:2010/09/11(土) 16:19:35 ID:???
こんな感じの構文でいけるはずだけど。
select * from table1 with (readpast)
ロックヒントが無効になるような組み合わせで別のヒントや
宣言トランザクションを使ってるとかないの?

421 :419:2010/09/11(土) 17:25:28 ID:???
>>420
まさにその構文でやってる。
AプロセスもRowLockしかロックヒント使ってないし、トランザクションも特に何も・・・
ロックの状態見たら、Aプロセスがインテクス排他(IX)でBプロセスが共有ロック(S)で競合。
SelectはReadPastでも共有ロックになっちゃうから待ちはしょうがないの?頭痛い。

422 :NAME IS NULL:2010/09/12(日) 13:50:27 ID:???
>>419
MSDNには
READPAST は、READ COMMITTED 分離レベルまたは REPEATABLE READ 分離レベルで実行中のトランザクションでのみ指定できます
ってあるぞ
分離レベルとか、それ以前にバージョンとかエディションとかちゃんと書いて質問すれ

423 :419:2010/09/13(月) 17:51:33 ID:???
>>422
Bプロセスでの分離レベルを調べて見たら、SERIALIZABLEになってましたorz
アホな質問でお騒がせしました。。。ありがとうございましたm(_ _)m

424 :NAME IS NULL:2010/09/14(火) 01:22:46 ID:umbDEoJI
MSDNの新着ダウンロードが古い順はどうしてなの?

425 :NAME IS NULL:2010/09/15(水) 23:32:07 ID:???
SQL Server 2008 Express Edition + SQLServer Management Studioです。

clr オプションを有効にする方法を教えてください。

インターネットで検索するとSQLServer2005ではセキュリティ構成マネージャから変更できるようですが
SQLServer2008ExpressEditionにはセキュリティ構成マネージャがありません。

426 :NAME IS NULL:2010/09/15(水) 23:52:05 ID:???
なんか似たようなツールがあったはず。

427 :NAME IS NULL:2010/09/16(木) 20:28:59 ID:???
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

あってるかどうかはしらん

428 :NAME IS NULL:2010/09/16(木) 20:41:55 ID:???
427
大体あってる

429 :NAME IS NULL:2010/09/19(日) 18:25:19 ID:19pMJ8Xx
test4
http://profiles.yahoo.co.jp/-/profile/?sp=oGT3BCg1eqGiCHsyTN79KJdc

430 :NAME IS NULL:2010/09/19(日) 20:45:39 ID:5XFhe7WP
質問です!
PC-A(Windows7x64)にSQLServer2008Expressをインストールしました。
インストール後、ローカルでSQLManagemetStudioExpressで接続できてるとこまで確認できてます。
別のPC-B(WindowsXPx32)にSQLManegementStudioExpressをインストールしてネットワーク経由でPC-Aに接続したいのですが
「サーバーへの接続を確立しているときにエラーが発生しました。SQLネットワークインターフェース,error:28-サーバーは要求されたプロトコルをサポートしていません」と表示され接続できません。
サーバー名は「PC-A\SQLEXPRESS」で指定してping PC-Aで問題ないこと確認済みです。インスタンスIDも間違いないです。
ログインIDは「sa」でパスワードも間違いないです。
後、PC-Aにて「このサーバーへのリモート接続を許可する」にチェックしてあり、ファイアウォールは無効にしています。

これ以外にも原因になりそうな箇所ありましたら確認してみますのでアドバイスお願いします。


431 :NAME IS NULL:2010/09/19(日) 20:49:17 ID:???
プロトコル有効にしてある?

432 :NAME IS NULL:2010/09/19(日) 21:03:25 ID:???
>>431
あ、お察しのとおり構成マネージャーで確認しましたら無効になっていました、、
大変しつれいしました。
ありがとうございました!

433 :NAME IS NULL:2010/09/20(月) 16:49:33 ID:???
OPTIMIZE FORってどんなときに使用するの?

434 :NAME IS NULL:2010/09/21(火) 19:55:04 ID:???
ADOの質問かもしれませんがよろしくお願いします。

TEXT型のフィールドがあるテーブルがあります。
これにVBScriptからADOでオートコミットにてレコードを追加した場合
まずTEXT型以外のフィールドに値が入った状態でレコードが追加され
コミットされて、次にTEXTフィールドに値を入れて更新してコミット
されるという動作になるんでしょうか?

なんだか他のプロセスからこのテーブルを読み込むと
TEXT型のフィールドに値が入っていない状態で読み取れることがあります。



435 :NAME IS NULL:2010/09/26(日) 00:41:49 ID:???
SQLServer2008 R2を使用しています。

ストアドにて、bcpユーティリティを使用して
特定フォルダにテーブルの内容をCSV出力しています。
bcpコマンドは以下のようなイメージです。

bcp XXX.dbo.YYYTBL out C:\test\test.csv -S ServerXXX -U UserXXX -P PassXXX -t, -k -c

bcpコマンド実行後、コマンドが正しく実行できたかどうか(CSVファイルが正しく作られたかどうか)
を取得したいのですが、方法がわかりません。
ご存知の方がいらっしゃいましたら、ご教授お願いいたします。

436 :NAME IS NULL:2010/09/26(日) 01:10:07 ID:???
も一度取り込むか、xp_cmdshellで適当なコマンド実行するか。

437 :NAME IS NULL:2010/09/28(火) 10:50:44 ID:???
> ファイル名 で結果をファイルにリダイレクトできなかったか?

438 :NAME IS NULL:2010/09/29(水) 20:20:35 ID:???
教えて下さい。

あるストアドが、リンクサーバのテーブルを参照しています。
そのストアドが実行された時に

(1) リンクサーバ本体は起動しているが、サービスが停止状態の場合

(2) リンクサーバへのコネクションが確立出来ない場合
  (リンクサーバ本体が停止している、ネットワーク自体が停止している等の場合)

この2例では例外が異なるだけでなく、
(2)の場合はストアド中の例外処理ではキャッチ出来ず、
そのストアドの起動元コード(例えばクライアントソフト)で例外が起きてしまいます。

これを、(2)の場合についてもストアドの例外処理でキャッチする事は可能でしょうか?

439 :NAME IS NULL:2010/09/30(木) 09:33:47 ID:???
Microsoft SQL Server 2008 Service Pack 2
http://www.microsoft.com/downloads/details.aspx?FamilyID=8fbfc1de-d25e-4790-88b5-7dda1f1d4e17&displayLang=ja

440 :NAME IS NULL:2010/10/03(日) 13:02:08 ID:kEASD2NB
SQL Server exspress 2008R2をACCESS2010で接続して、
テーブルを変更したいと思っていますが、ACCESSで入力できません。
多分、何か基本的な事が抜けているのだと思うのだが、教えていただけないでしょうか。

Management Studioで”上位200行の編集”を実行し、編集、書き込み出来ることを権限があることを確認。
ACCESS2010で拡張子をADPにして、新規データベース作成。接続条件は同じ(Windows認証)で、接続を作成し、データベースに接続。目的のテーブルを選択すると、データが表示される。
データ変更のために、目的のセルにカーソルを移動させ、キーを押すと”ピロン”と音がして、入力は無視される。

もう泣きそうだよ...

441 :NAME IS NULL:2010/10/03(日) 16:13:45 ID:mz90Y0Ei
SQL Server 2008 Developer

実売で五千円とかめっさ安いけど、これってなによ?


442 :NAME IS NULL:2010/10/03(日) 16:22:45 ID:???
開発用途専用

443 :NAME IS NULL:2010/10/03(日) 22:14:03 ID:???
>>440
ACCESSならいざ知らず、商用RDBで、テーブル表示させてその場で値を入力とかしない。

444 :NAME IS NULL:2010/10/03(日) 22:18:03 ID:???
フロントエンドにAccess使ってるだけじゃ

445 :NAME IS NULL:2010/10/03(日) 22:21:52 ID:???
主キーがない、とかってオチは?

446 :440:2010/10/04(月) 00:42:14 ID:???
>>445
確かに、主キーは設定していない。
ええっ。無いと編集できないのか。
明日試してみます。
本日は本問題を調べるために、本屋めぐりをしてました...
ありがとうございます。


447 :NAME IS NULL:2010/10/04(月) 02:01:14 ID:???
主キーうんぬんは本質ではない。
データ飛ばす前に、リレーショナルデータベース入門編みたいな本を買って読め。
SQL serverの管理や開発本の前に。

まさか、業務用のdbいじっている訳じゃないよな?

448 :NAME IS NULL:2010/10/04(月) 16:15:56 ID:???
主キー(正確には一意に識別できる項目)が無いと更新できないのはアクセスのリンクテーブルの仕様だったと思ったが
今のアクセスのプロジェクトがどうなってるか良くわからんが、今でもそうなのかね


449 :NAME IS NULL:2010/10/05(火) 13:35:58 ID:FBUpfaxk
http://rating9.auctions.yahoo.co.jp/jp/show/rating?userID=dagomemasu
http://profiles.yahoo.co.jp/-/profile/?sp=oGT3BCg1eqGiCHsyTN79KJdc
yakultbrainのプロフィール。
http://profiles.yahoo.co.jp/-/profile/?sp=yfT90WEoeq3TUI5IptgFJu2hBw--

450 :NAME IS NULL:2010/10/06(水) 23:12:20 ID:i8mPwdUO
>445
主キーのあるデータで試したところACCESSで書き込みが出来ました。
ありがとうございました。

>447
昨日、データ飛ばしましたw
わざとではありません...
家で仕事で使えないかいろいろといじっています。



451 :NAME IS NULL:2010/10/07(木) 12:12:24 ID:???
>>450
マジで飛ばしたんかいw
「データ飛ばすなよ」はあえて誇張して書いたのに。

ACCESSでうっかりテーブルごと削除(2Stepで出来るw)、とかならまだしもフロトエンドのadpでSQLServerのデータ飛ばすとか、やろうと思ってもそうそうできないが一体なにやったんだ?
where句間違えてDeleteなりupdateして、一括削除や更新しちゃったか?w



心配するな、俺もまだ素人だった頃一回やったことあるw

452 :NAME IS NULL:2010/10/07(木) 12:29:42 ID:???
トランザクションモードが「完全」になってたら復活できるお
デフォは「完全」だし

453 :NAME IS NULL:2010/10/07(木) 17:04:07 ID:???
2008 R2 RTM の CU3 x64版がダウンロードできなくなってるなぁ。
なんか問題でもあったのかな。

454 :440:2010/10/07(木) 21:08:44 ID:lR5PXQoy
>>451
VB6では開発をしていた事(DBは経験無し)があるので、VB2010でデータベース接続したり、ASP.NETでWEBで表示しようとしていたら、SQL Serverに接続できなくなり...
いろいろ設定とかをいじっていたら、いつのまにか使っていたデータベースが死んでました。
いまいち、原因は理解出来ていません。
基礎からのASP.NETとか言う本を買ってきたので、開発しながら遊んでみます。

>>452
復旧を試してみるのに、良い機会でしたね orz.
テスト用のどうでもいいデータだったので、削除してしまいました。

455 :NAME IS NULL:2010/10/13(水) 00:16:12 ID:ZtQlOMIP
timeout時間決める時の根拠って何かある?
一般的に計算式とか

456 :NAME IS NULL:2010/10/16(土) 09:19:19 ID:Ml1kziXE
Timeoutは15分とかでいいんでないの?
ものによるだろうけど。

SQLServerって自動拡張入るとTimeoutしちゃうでしょ。
タイムアウトはコネクションとSQL発行時の両方あるけどね。


457 :NAME IS NULL:2010/10/16(土) 09:53:13 ID:cBZyFJNw
SQL2008R2安く買うなら。
http://hibari.2ch.net/test/read.cgi/software/1286839213/132

458 :NAME IS NULL:2010/10/17(日) 13:23:00 ID:???
Java質問スレで質問した内容なのですが、こちらをお勧めされたので、こちらでも質問させてください。

SQL Server 2005に対し、Windows認証を用いてJavaからアクセスを行いたいのですが、
SQL ServerのJDBCドライバはWindows認証に対応していないのでしょうか?

ttp://support.microsoft.com/kb/313100/ja を見ると、SQL Server 2000の無いようですが、
Windows認証をサポートしていないに書かれています。
ネットで色々と情報を見たのですが、いまいちはっきりしません。
MSのページでSQL Server2005に対し、Windows認証に対応したJDBCドライバが
提供されているのかいないのか、明示しているページはありませんか?

よろしくお願いいたします。


459 :NAME IS NULL:2010/10/17(日) 13:59:55 ID:???
>>458
ttp://docs.sun.com/source/820-2531/msSQL_Server.html
対応しているようだけど。

460 :NAME IS NULL:2010/10/17(日) 14:55:01 ID:???
>>459
情報ありがとうございます。
しかしながら、私の求めているJDBCドライバの情報とは違うようです。


461 :NAME IS NULL:2010/10/17(日) 17:23:40 ID:???
>>458
なんでそんな古いドライバの情報を引っ張ってきたの?
普通に検索したら http://msdn.microsoft.com/ja-jp/data/aa937724.aspx が見つかるだろうに。
リンクをたどっていけばわかるけどWindows認証も使える

462 :NAME IS NULL:2010/10/17(日) 17:33:11 ID:???
>>461
ありがとうございます。
非常に助かりました。



463 :NAME IS NULL:2010/10/17(日) 17:35:55 ID:???
>>458
http://msdn.microsoft.com/ja-jp/library/ms378428(v=SQL.90).aspx#Connectingintegrated

464 :NAME IS NULL:2010/10/17(日) 22:57:06 ID:???
>>463
助かりました。ありがとうございます。

465 :NAME IS NULL:2010/10/18(月) 17:35:39 ID:???
Update トリガーの中では
  SET IDENTITY_INSERT 〜 ON
は無視されるのでしょうか?

IDENTITY フィールドを有する自テーブルに deleted なデータをログとして落としたのですが・・・


ALTER TRIGGER [dbo].[売上_Update] ON [dbo].[売上] AFTER UPDATE
AS BEGIN
  SET NOCOUNT ON;

  select * into ##売上 from deleted;
  update ##売上 set ID=newid(),削除日時=getdate();

  SET IDENTITY_INSERT 売上 ON;
  insert into 売上 select * from ##売上;
  SET IDENTITY_INSERT 売上 OFF;
END


「insert into 売上 select * from ##売上」の行で
「IDENTITY_INSERT が ON じゃないとダメだよ」と言ってコケるようです。

目的は UPDATE 前のデータを「削除済み」なレコードとして履歴保管することです。


466 :NAME IS NULL:2010/10/18(月) 17:45:42 ID:???
自己レスです。

insert into 売上(項目名,,,,) select * from ##売上

としたら上手くいきました。なんで項目名を指定しないときに
エラーを掃かせないといけないのか理解に苦しみますが

467 :NAME IS NULL:2010/10/18(月) 18:02:10 ID:???
解決と思いきや、##売上 という風に一時テーブルを使うと期待した動作をしない。。
##売上 → 売上_BAK だと正常に動作。。

奥深いなぁ

468 :NAME IS NULL:2010/10/18(月) 22:01:55 ID:???
トリガで論理削除みたいに変えるってなんか気持ち悪いなあ
ログを残すなら別テーブルにした方がいいんじゃ

469 :NAME IS NULL:2010/10/23(土) 20:16:03 ID:???
oracleで作ったストアド/テーブルをsql serverに
移植する事は現実的ですか?
上司がsql serverに移行したいな〜とか言っていたのですが、
個人的には「ストアドの文法違うし、nullの扱いが違うから無理だろ」と思っているのですが

470 :NAME IS NULL:2010/10/23(土) 20:34:19 ID:???
面倒

471 :469:2010/10/23(土) 20:36:07 ID:???
>>470
ストアドとかはほぼすべて書き直しなのですか?

472 :NAME IS NULL:2010/10/23(土) 20:36:51 ID:???
うん。

473 :469:2010/10/23(土) 20:38:45 ID:???
>>472
thx

474 :NAME IS NULL:2010/10/24(日) 11:25:13 ID:???
みなさんはSQLServerの資格をもっていらっしゃるんですか?

475 :NAME IS NULL:2010/10/24(日) 15:42:54 ID:???
無免許です

476 :NAME IS NULL:2010/10/24(日) 19:07:20 ID:???
生涯賃金で5000万くらい変わるのなら資格取っても良いかな。

477 :NAME IS NULL:2010/10/25(月) 03:08:38 ID:???
>>469
現実的かどうかは知らないが、案件としてはよくある話


478 :NAME IS NULL:2010/10/26(火) 15:34:35 ID:???
CREATE FUNCTION [dbo].[DeleteHyphen] (@value varchar(20))
RETURNS varchar(20)
AS
BEGIN
   RETURN replace(@value,'-','');
END

というユーザー定義関数を作りましたが、こいつデフォルトで IsDeterministic = False になってます。
「決定的」だと思うのですが、どうやったら IsDeterministic = True になるのでしょうか?

テーブルの計算列に含めて、インデックスのキーに入れたいのです。

479 :NAME IS NULL:2010/10/28(木) 01:46:08 ID:???
>>478
WITH SCHEMABINDINGつけてみ



480 :NAME IS NULL:2010/10/28(木) 11:53:16 ID:cVaZ9eIX
SQL Server 2008 と
SQL Server 2008 R2 とでは
何が違うの?

481 :NAME IS NULL:2010/10/28(木) 13:03:25 ID:???
R2が付いてる・・・て事じゃないかw

http://www.microsoft.com/japan/sqlserver/2008/r2/prodinfo/compare-version.mspx

482 :480:2010/10/28(木) 13:22:32 ID:???
>>481
ありがとー!

483 :NAME IS NULL:2010/10/29(金) 10:38:09 ID:???
>>479

CREATE FUNCTION [dbo].[DeleteHyphen] (@value varchar(20))
RETURNS varchar(20) WITH SCHEMABINDING
AS
BEGIN
   RETURN replace(@value,'-','');
END

で期待すること出来ました、ありがとうございます!

484 :NAME IS NULL:2010/10/31(日) 17:38:48 ID:???
システムドライブがSSDで、DドライブがHDDなんですけど、
DBのファイル(.mdf)をDドライブに置いておけば、
SSDへ書き込みはほとんど行われませんよね?

485 :NAME IS NULL:2010/10/31(日) 18:06:08 ID:???
ldfはどうするんだとかスワップはどうするんだとか。

486 :NAME IS NULL:2010/10/31(日) 18:11:37 ID:???
あ、.ldfもDドライブ上です
スワップってなんでしょ?

487 :NAME IS NULL:2010/10/31(日) 18:12:47 ID:???
SSDもHDDも消耗品と考えろ

488 :NAME IS NULL:2010/10/31(日) 18:17:27 ID:???
ログインユーザとスキーマの関係を教えてください
スキーマとロールの話を読んでいたら、何がなんだかわからなくなりました

489 :NAME IS NULL:2010/10/31(日) 21:58:45 ID:???
ユーザーとスキーマの分離
http://technet.microsoft.com/ja-jp/library/ms190387(SQL.100).aspx

490 :NAME IS NULL:2010/10/31(日) 22:03:53 ID:???
スキーマにユーザ名を使う例があったりするから
どうもわかりにくくなるのかな?

俺もわかったようでわからないような変な感じ。

SQL Server の自習書シリーズって
2000 のころはなんか中途半端感ありありだったけど
いつのまにかずいぶん充実してるね。
2008 R2 の自習書の中でもスキーマにユーザ名つけてたな。
所有者が誰かわかるようにってことなのかな。


↑よくわかってないから意味不明な文章になってるかもしれん

491 :NAME IS NULL:2010/11/01(月) 20:47:27 ID:???
データベースユーザに複数のログインを紐付けることはできないのですか?

492 :NAME IS NULL:2010/11/03(水) 11:49:35 ID:???
Cumulative Update package 4 for SQL Server 2008 R2
http://support.microsoft.com/kb/2345451/

493 :NAME IS NULL:2010/11/04(木) 12:01:47 ID:x3Y/8ThA
7.0から2008に乗り換えたんですが、
テーブル内のデータを直接編集したい場合どのように
すればいいでしょうか?
上位200行の編集のような感じで条件指定して編集できれば理想です。



494 :NAME IS NULL:2010/11/04(木) 12:41:52 ID:???
>>493
>上位200行の編集

答えを書いておいて質問とは、これいかに

495 :NAME IS NULL:2010/11/04(木) 14:33:31 ID:???
>>494
すみません。お騒がせしました。


496 :NAME IS NULL:2010/11/04(木) 15:50:39 ID:???
select で編集した行みつけて編集すれば委員じゃない

497 :NAME IS NULL:2010/11/04(木) 16:03:12 ID:???
すんげえいい加減なこと書いちゃったかなぁと思って試したら
やっぱり無理だった

ビュー作ればできる。

498 :NAME IS NULL:2010/11/04(木) 16:17:06 ID:???
上位200行の編集→抽出条件ペインの表示 かね

499 :NAME IS NULL:2010/11/05(金) 15:45:06 ID:???
>テーブル内のデータを直接編集
なんだから、そのデータの格納されてるMDFファイルを
バイナリエディタかなんかで修正するしかないじゃないか

ま、普通は何らかのツール使うんだが、ツール名ぐらい書けって話だ
俺ならややこしい手作業修正ならACCESS使う

500 :NAME IS NULL:2010/11/05(金) 16:51:16 ID:???
Accessはないわ
普通に update 文を書く

501 :NAME IS NULL:2010/11/05(金) 17:44:59 ID:???
SQL Server Managment Studioとかでやれなかった? 

502 :NAME IS NULL:2010/11/05(金) 19:43:11 ID:???
言えない…
「なでしこ」でやってる、だなんて

503 :NAME IS NULL:2010/11/06(土) 12:46:19 ID:???
>>501
2005 の SSMS ならデーブルのデータ全表示で編集できたけど
2008 の SSMS から「上位200件の編集」しかなくなっちゃったから
そこに出てこないデータは SQL 文を書くか
全件表示するビューを作ってそこから編集かなぁ

504 :NAME IS NULL:2010/11/06(土) 12:52:30 ID:???
なんであれ200件になっちゃったの?
不便なんだけど。

505 :NAME IS NULL:2010/11/06(土) 15:36:07 ID:???
アレで編集すること自体が異常だと思っているからどうでも良いわ。

506 :NAME IS NULL:2010/11/06(土) 18:29:32 ID:91yUBFdX
初心者なんですが
sqlサーバー2005で商奉行を入れていたのですが
パーティションを移動した後
商奉行だけが起動しなくなってしまい
再インストールを試したのですがsqlサーバーが
見つからないと出てインストールできないのですが
どうしたらいいのでしょうか??

507 :NAME IS NULL:2010/11/06(土) 18:30:51 ID:???
あきらめろ

508 :NAME IS NULL:2010/11/06(土) 18:32:54 ID:VAE4Y5ED
商奉行のメーカーに問い合わせるのが一番早いと思うけど

509 :NAME IS NULL:2010/11/06(土) 18:34:10 ID:91yUBFdX
今日休みなんですよね・・・

510 :NAME IS NULL:2010/11/06(土) 19:18:24 ID:???
会社で使ってるシステムだったりして

511 :NAME IS NULL:2010/11/06(土) 19:38:51 ID:???
>>506
>パーティションを移動した後
なんでこんなことしたの?
どうせバックアップ取っているんだから戻せば良いじゃん。
取ってないなら、大人しく責任取れw


512 :NAME IS NULL:2010/11/06(土) 19:40:58 ID:91yUBFdX
パーティションの容量がなくなったので
空き容量を追加したんですよ



513 :NAME IS NULL:2010/11/06(土) 19:48:14 ID:???
作業前の状態に戻すしか無いでしょ。
SQLServerじゃなくて商奉行の問題だし。
単にサービス起動していないだけって気もするけど。

514 :NAME IS NULL:2010/11/06(土) 22:19:29 ID:j7WHBS3x
SQL server 2005において、メンテナンスプランで毎日データベースの
圧縮とバックアップ、不要データの削除を行っています。
不要データ削除により、バックアップファイルは日に日に小さくなって
おり、メンテナンスプラン開始日より約7GB小さくなっているのですが、
肝心のデータベース本体(mdfファイル)は全く小さくなっていません。
データベースを右クリックし、タスク−圧縮を選ぶと、使用可能な空き
領域が7GBと表示されるので、不要データの削除により空き領域は増えて
いるものの、メンテナンスプランの圧縮時にその空き領域の解放が行われ
ていないようです。

そこで、質問ですが、メンテナンスプランの圧縮タスクで空き領域を解放
するには下記の設定以外に何か特別な設定が必要なのでしょうか?
圧縮後に残す空き領域は10%、解放された領域はオペレーティングシステ
ムに返すよう設定しています。

※SQLのログで気になるのは、圧縮のメンテナンスプランは毎日実行され、
正常に実行されましたと記述されているのですが、実行時間が数十秒しか
かかっていないのです。
20GBのデータベースの圧縮で数十秒しかかかっていないというのは実際には
正常に実行されていないのでしょうか?


515 :NAME IS NULL:2010/11/06(土) 22:31:11 ID:???
master DBを無理やり移動してサービスが起動しなくなったとかかな
バックアップですぐに戻せないのなら
素人は触らないで、金を払ってでもサポートに頼った方がいい

516 :NAME IS NULL:2010/11/06(土) 22:56:43 ID:???
>>514
>バックアップファイルは日に日に小さくなっており
単に差分バックアップじゃないの?

517 :NAME IS NULL:2010/11/07(日) 00:00:43 ID:???
>>514
http://oshiete.goo.ne.jp/qa/2583344.html

518 :514:2010/11/07(日) 00:01:44 ID:tvZAn/2I
>>516
完全バックアップですよ。

519 :NAME IS NULL:2010/11/07(日) 00:03:57 ID:???
>>514
データの圧縮って論理ファイルの最後の方使っていると、圧縮しきれないんじゃなかったっけ?

520 :NAME IS NULL:2010/11/07(日) 14:17:55 ID:uGZy3Dqk
http://user.auctions.yahoo.co.jp/jp/show/aboutme?userID=dagomemasu

521 :514:2010/11/07(日) 15:29:58 ID:tvZAn/2I
トランザクションログファイル(ldfファイル)はきっちり圧縮されてます。
メンテナンスプランの圧縮タスクでは、そもそもトランザクションログ
ファイル(ldfファイル)の圧縮のみ行われ、mdfファイルの圧縮は
されないんでしょうか?

522 :NAME IS NULL:2010/11/07(日) 20:51:08 ID:???
>>521
メンテナンスプランの圧縮タスクが実際に何やってるかしらんが、ここ見てみ
http://msdn.microsoft.com/ja-jp/library/ms190488.aspx
>データベースは、そのデータベースの最小サイズより小さくすることはできません
つまり、20Gで作ったファイルは20Gまでしか小さくならないってことだ
初期サイズいくつで作った?

523 :514:2010/11/07(日) 22:34:47 ID:tvZAn/2I
>>522
そもそも、2年前の出発時は2GB程度でした。
この2年間でデータが蓄積され、20GBまで膨れ上がりました。
社内環境で、データベースのバックアップファイルを復元したものを
ManagementStudioで右クリック−タスク−圧縮で圧縮すると、mdf
ファイルも空き領域を解放し、小さくなるので、メンテナンスプランの
圧縮タスクでも同様の圧縮をしてくれればと思っているのですが・・・

524 :NAME IS NULL:2010/11/08(月) 12:23:33 ID:???
>>503
オプションで取得数は変えれるよ
若しくは、queryのtop nを書き換えるとか

525 :NAME IS NULL:2010/11/09(火) 23:26:57 ID:Sr/EYcBX
SQL Server Expressを利用してVB.NETで顧客管理マネージャーと見積書作成を作ろうと思っています。
VBは6.0までで7.0以降はまた覚え直しですがなんとかなりそうです。
ただ、SQLやRDBMS等、DBについての知識がまったくないので「ひと目でわかるVisual Basic 2008データベース開発入門」を購入したのですが、全ての製品の基礎知識を要求され何から手を付けていいのかわかりませんでした。
まったくの初心者に一からSQL ServerとRDBMSのノウハウを分かり易く解説している書店で手に入る参考書や解説書を教えてください。

526 :NAME IS NULL:2010/11/09(火) 23:30:57 ID:???
SQL Server 2008 自習書シリーズ

527 :NAME IS NULL:2010/11/10(水) 12:52:37 ID:???
自習書シリーズってテーブル設計のあたりは
何も書いてなかった気がするなぁ。

MS-Access とか SQL Server の超初学者向けで
データベースのテーブル設計の話書いてるのを
探してきて読んでからのほうがいいかな。

「正規化」とか「リレーションシップ」「参照整合性」について
触れてるのを探して読んでみるといいかも。

SQL については SQL Server の自習書シリーズでとりあえず十分かな。

528 :NAME IS NULL:2010/11/10(水) 15:06:53 ID:???
ストアドをADOから呼び出す場合にストアド内で@@ERRORに0以外が
入るようなエラーが発生した場合は必ずADOにも通知されますでしょうか?

529 :NAME IS NULL:2010/11/11(木) 08:40:51 ID:???
>>525
>SQLやRDBMS等、DBについての知識がまったくないので

悪いこといわないから、データベース構築よりも顧客管理と見積書制作が優先順位が高いならACCESSでやれ、その程度のスキルなら。
ACCESSなら分かりやすい本も死ぬほど出ている。

530 :NAME IS NULL:2010/11/11(木) 16:09:30 ID:???
Access 使うぐらいなら
C# で ado.net 使ってアプリ組んじゃうわぁ

531 :NAME IS NULL:2010/11/11(木) 20:54:52 ID:???
compact 3.5 ってマルチスレッドで行ロック効かせてつかえる?

532 :NAME IS NULL:2010/11/12(金) 01:49:32 ID:???
>>530
SQL文もろくに書けなさそうな奴が、どうやってADO.netでアプリ組むんだよw

533 :NAME IS NULL:2010/11/12(金) 07:56:57 ID:???
ん、俺は >>525 じゃないよ

534 :NAME IS NULL:2010/11/12(金) 08:23:19 ID:???
>>533
わかってるよw
わざわざ525向けにAccessにしろって言うのに、ado.netっで言うのは、525にado.net使えって言いたかったんじゃないのか?

535 :NAME IS NULL:2010/11/12(金) 12:21:13 ID:???
まぁそうとも言える

536 :NAME IS NULL:2010/11/12(金) 19:28:25 ID:???
ストアドの中で IF ELSE で分岐かけて
それぞれのブロックの中で SELECT INTO したいんだけど
統合環境?が馬鹿で通りません、どうしたらいいでしょうか?

 CREATE PROCEDURE 〜
  (中略)
  IF @FLAG=1
    SELECT * INTO ##TMP FROM MOTO WHERE ID1=@ID
  ELSE
    SELECT * INTO ##TMP FROM MOTO WHERE ID2=@ID
  (後略)

2つ目の SELECT INTO が悪いと言って
「データベースに '##TMP' という名前のオブジェクトが既に存在します。」
何て言います。

試しに2つ目の SELECT 〜 INTO ##TMP を SELECT 〜 INTO ##TMP2 にしたら通ります。
統合環境が半端にエラーチェックしようとしていることが原因だと思います。
何とか外せませんでしょうか?

537 :NAME IS NULL:2010/11/12(金) 19:33:26 ID:???
>>536
馬鹿はおまえだ。
一時テーブルと言えども、一度作ったらセッションきれない限り削除されない。

存在するテーブルにselect intoしたらエラーになって当然

538 :NAME IS NULL:2010/11/12(金) 19:37:18 ID:???
SELECT * INTO ##TMP FROM MOTO WHERE @FLAG=1 AND ID1=@ID OR NOT @FLAG=1 AND ID2=@ID


539 :NAME IS NULL:2010/11/12(金) 19:41:47 ID:???
>>537
ストアド走らせる前の検証で>>536のメッセージが帰ってきているんじゃない?
どうでも良いことだがw


540 :536:2010/11/12(金) 20:12:53 ID:???
>>539 の仰るとおり
SQL Server Management Studio が余計な検証をしやがるのが困ってるんです。
IF で分岐されて、同時には走らないので、重複テーブルにはならないのですが・・・

>>538
実際の SQL 文の WHERE はもう少し細かいことやっているのですが
WHERE を OR で連結していくと速度が落ちるんです。

541 :NAME IS NULL:2010/11/12(金) 20:17:19 ID:???
compact 3.5 ってマルチスレッドで行ロック効かせてつかえる?

542 :NAME IS NULL:2010/11/12(金) 20:53:05 ID:???
>>541
やってみれば?

543 :NAME IS NULL:2010/11/12(金) 21:07:43 ID:???
>>540
UNION ALL で連結したら?

544 :NAME IS NULL:2010/11/12(金) 22:26:32 ID:???
>>540
動的SQLにすれば問題ナッシング
よほど複雑なSQLじゃなければ、今のRDBMSならパフォーマンスの問題もさほどない。

545 :NAME IS NULL:2010/11/12(金) 22:46:41 ID:???
今時ストアドを使う男の人って・・・

546 :NAME IS NULL:2010/11/12(金) 22:51:33 ID:???
若者のストアド離れ

547 :NAME IS NULL:2010/11/12(金) 23:51:51 ID:???
最近ストアドを覚えた・・・

548 :NAME IS NULL:2010/11/13(土) 09:34:24 ID:???
マルチスレッド開発できるひといないんですか、ここには!
なんで行ロックができるかも知らないんですか、つかってきたなら知っていることとですよね!
やってみればわかることはわかりますけど、そしたらなんのために質問してると思うんですか!
すこしかんがえてください

549 :NAME IS NULL:2010/11/13(土) 09:35:25 ID:???
>>548
やってみれば?

550 :NAME IS NULL:2010/11/13(土) 10:06:38 ID:???
できないひとはだまってください!

551 :NAME IS NULL:2010/11/13(土) 10:09:55 ID:???
使ってるよ。全く問題ない。

552 :NAME IS NULL:2010/11/13(土) 10:18:48 ID:???
ただでさえ過疎ってるのに
Compactを使う奴なんてそうそういるわけないだろ
名前は似てても中身は別物だからSQLServerの常識は通用しないし。

553 :NAME IS NULL:2010/11/13(土) 10:26:12 ID:???
Compact使うならSQLite使うもんね

554 :NAME IS NULL:2010/11/13(土) 10:28:02 ID:???
>>548
ここより、組み込みスレ(どこにあるか知らんが)行ったほうがはやいだろjk

555 :NAME IS NULL:2010/11/13(土) 11:33:31 ID:???
ドキュメントにきちんと書いてるのに
読まないで質問して
「やってみれば?」って言われたら「黙ってろ」とか、
もうね、ゆとりすぎて話にならんな。

556 :NAME IS NULL:2010/11/13(土) 11:39:25 ID:???
スルーしろよ

557 :NAME IS NULL:2010/11/13(土) 15:40:31 ID:???
釣りでしょ

それより2005のデータベースのデータを2000に移すのって
SQL Server Database Publishing Wizard以外に手っ取り早い手は無いっすかね?
2000は2005のバックアップファイルを処理できないし、bcpだとフォーマットファイルの
バージョンで文句言われるし

妙にテーブルとデータエントリーだけが多いシステムなんで、DPWだとすごい時間がかかって
テーブルによっては移行後修正が必要なパターンがあるみたいだし

いっそ2005から2000にレプリケーションしようとも考えてるんだけど・・・

558 :NAME IS NULL:2010/11/13(土) 15:56:05 ID:???
データだけなら、2000側に同一テーブル作って何でもいいから同時接続して流し込めばいいだけでは?
バッチ作ればあとは黙ってみてるだけ。

Viewだのストアドだのjobだのという話なら、俺ならそのまま移行して、エラーがでるものだけ手作業で作り直しちゃうかなぁ...

559 :NAME IS NULL:2010/11/13(土) 16:42:29 ID:???
>>548
おまえ、Firebirdスレでもembeddedの行ロックについて聞いていた奴だろ?w
Firebirdスレでも書いたが、組み込みDBは大抵10分もあれば起動できるんだから、せめて動かしてから質問しろ。

560 :536:2010/11/13(土) 23:07:08 ID:???
最初に SET 〜 で指定したりすることで
「余計な事前検証をやめさせる」ことは出来ないのでしょうか?

561 :NAME IS NULL:2010/11/14(日) 21:11:47 ID:???
>>560
メッセージ 2714、レベル 16、状態 1
事前検証じゃなくてサーバに投げたサーバ側のメッセージのような気がするんだが

まあ俺なら絶対真にならない条件でselect into1度走らせて空のテーブル作って
行の追加はinsert into ##TMP select * ... でやる

562 :NAME IS NULL:2010/11/16(火) 04:34:07 ID:???
一時テーブルってtruncate出来ないの?
unionでいいとおもうけど。

563 :561:2010/11/16(火) 18:20:39 ID:???
>>562
俺に対しての意見だよな?
unionをどう使うんだ?

select intoでテーブル作るって言ってるのは、もとの>>536がそうしてたから
まあテーブルレイアウトが動的に変わることはあんまりないだろうし、
テーブル再作成しないって前提ならtruncateで良いとは思うけど

564 :536:2010/11/16(火) 18:41:32 ID:???
どうもありがとうございます。

予め create table しておいて insert into するなりして回避するしか方法ないのでしょうか。
根本的には、SQL Server のコンパイラが馬鹿(バグ?)だと思うのですが。。。

565 :NAME IS NULL:2010/11/16(火) 18:48:00 ID:???
>>563
>>538
SELECT * INTO ##TMP FROM MOTO WHERE @FLAG=1 AND ID1=@ID OR NOT @FLAG=1 AND ID2=@ID
ができるんなら

SELECT * INTO ##TMP FROM (
SELECT * FROM MOTO WHERE @FLAG=1 AND ID1=@ID
UNION ALL
SELECT * FROM MOTO WHERE NOT @FLAG=1 AND ID2=@ID
)
もできるかなと思ったんだけど、無理なのかな。

566 :NAME IS NULL:2010/11/16(火) 18:51:15 ID:???
>>563
動的にテーブルレイアウトが変わる場合でも>>561の方法ならできるの?

truncateを持ち出したのは、絶対真にならない条件でっていうのがめんどくさいなって
思ったからなんだけど1=0って書けばよかったね。

567 :561:2010/11/16(火) 19:11:10 ID:???
>>564
コンパイラが馬鹿と言えばまあそうなんだろうけど
ストアドの中で(一時テーブルといえ)テーブル作るのとかあんまり好ましいと思わないしな
select intoでテーブル作成が必須じゃないなら、素直にあらかじめ作っとけばいいんじゃね

>>566
select intoでテーブル作ると、そのときのレイアウトでテーブルができる
この例ならMOTOテーブルのレイアウトが変わっていても、ストアド走らすことによって
MOTOと同じレイアウトの##TMPが作成される
MOTOのレイアウトがころころ変わるようなら、レイアウト変更の影響うけにくい
さすがにwhereに使ってるカラムがなくなったりしたらダメだがw

568 :NAME IS NULL:2010/11/16(火) 19:24:32 ID:???
そもそもストアド使うのが間違いだしな

569 :NAME IS NULL:2010/11/16(火) 19:56:59 ID:???
ストアドストアドストアドー

570 :NAME IS NULL:2010/11/16(火) 20:17:36 ID:???
全部ぶっこんでDELETE

571 :NAME IS NULL:2010/11/16(火) 21:28:02 ID:???
>>567
ああ、動的に変わるってそういう意味か。

>>562では一時テーブルに対するtruncateと書いているし、まあなんでもいいんだけど。

572 :NAME IS NULL:2010/11/20(土) 12:50:55 ID:???
フルテキスト検索 CONTAINS を試してますが、どうも動作がヘンでして。。
「小菊」として登録されるデータが、CONTAINS(項目名, '菊') では検索対象になりません。
項目名 LIKE '%菊%' だと、「小菊」も拾ってます。

フルテキストインデックスを張るときの言語を「日本語」にしてあります。
FREETEXT でも傾向は変わりません。


573 :NAME IS NULL:2010/11/21(日) 05:53:05 ID:RG9/i762
>>567
動作させてないけど、
IF〜ELSEでなくて、
IF〜END、IF〜ENDでもエラーになっちゃうの?

574 :NAME IS NULL:2010/11/23(火) 19:26:29 ID:j4zKGW9Z
http://user.auctions.yahoo.co.jp/jp/show/aboutme?userID=dagomemasu
プロフィール必見。

575 :NAME IS NULL:2010/11/23(火) 20:10:40 ID:???
>>574
意味がわからん
理解しようとするだけ時間の無駄だった

576 :NAME IS NULL:2010/12/07(火) 11:31:24 ID:???
パフォーマンスで質問です。

Personというテーブルがあって、そこから追加フラグと削除フラグを条件としたViewを作ります。
そのViewを使用して検索など行うのですが、Personというテーブルの追加フラグと削除フラグは
30分ごとに更新されると仮定してViewの更新のパフォーマンスは大幅に下がるのでしょうか?

Personテーブルは300万レコードで1レコード25フィールドとした場合を前提とします。

現行ではPersonテーブルを基本とした別テーブルを設けて、フラグが立てば別テーブルにインサート
及びデリートしております。(別テーブルは5万レコードほど)

みなさんはどのように考えますか?色々な考えを聞かせてください。

577 :NAME IS NULL:2010/12/07(火) 11:43:14 ID:XROx6G4k
age

578 :NAME IS NULL:2010/12/07(火) 12:50:43 ID:???
ビューの更新って何

579 :NAME IS NULL:2010/12/07(火) 13:23:35 ID:???
策定されたViewって参照元のテーブルが変更されない場合はメモリ等にあるんじゃ
なかったでした?

580 :NAME IS NULL:2010/12/07(火) 13:29:50 ID:???
ごめん、ストアドプロシージャとViewがごっちゃになってましたorz

581 :NAME IS NULL:2010/12/07(火) 16:05:43 ID:???
WITH SCHEMABINDING が理解しきれていないのですが、
これは非決定的関数を中で使う場合には書いちゃいけないものですか?

CREATE VIEW V_24時間の売上 WITH SCHEMABINDING
AS
SELECT * FROM 売上>=dateadd(day,-1,getdate()) and 売上<getdate()


こんな風はダメ?
走らせると通っちゃうんだけど

582 :NAME IS NULL:2010/12/07(火) 22:26:58 ID:???
それ決定的関数だと思うんだけど違うのかな

583 :NAME IS NULL:2010/12/07(火) 22:27:50 ID:???
って、getdateのほうか。ごめん。

584 :NAME IS NULL:2010/12/07(火) 23:06:59 ID:z2r88K6a
てっきり2008ServerにSQLServer付属されてるのかと思ったら別売りかよ

585 :NAME IS NULL:2010/12/07(火) 23:09:39 ID:???
つExpress

586 :NAME IS NULL:2010/12/09(木) 00:45:47 ID:???
>>572
形態素解析モジュールの気分次第だからじゃないかな。ngramじゃないし。
噂では「fulltext関連は買収した元製品のコードと変に交じり合って手がつけられない」

587 :NAME IS NULL:2010/12/17(金) 07:30:20 ID:???
これは、役に立った。
http://www.geocities.jp/oraclesqlpuzzle/sqlserver2008-sql1-olap.html

588 :NAME IS NULL:2010/12/20(月) 15:18:09 ID:FELC/sSX
ここで聞くべき事か判りませんが・・・
他になさそうなのでここで

SQlSERVER2008WorkGroupを使用してDB運用をしております。
その際トラブルが発生し、SQL SERVER Profilerで発行されたSQL文をトレースしていると問題のSQL文が発見できたのですが、
そのSQL文がどのクライアント(IPアドレスが判るとよい)から発行されたものか調べることはできないでしょうか?

ログインは全てのクライアントがSQLSERVER認証で専用のログインIDとパスワードでログインしている為、調べられない状態です。
(Windows認証であればわかったのかもしれませんが・・・)

そういうトレースの方法等ご存知の方がいらっしゃいましたらお教え願えればと思っております。



589 :NAME IS NULL:2010/12/20(月) 20:34:06 ID:???
HostNameとかでとれるっしょ。

590 :NAME IS NULL:2010/12/22(水) 14:07:32 ID:???
>>572
Windows Search にも似たような不完全さがある。おそらく、全文検索機能というのはあまり信用しないほうがいい。

591 :NAME IS NULL:2010/12/28(火) 16:18:53 ID:???
Microsoft SQL Server 2008 R2 - PowerPivot for Microsoft Excel 2010 - RTM
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=e081c894-e4ab-42df-8c87-4b99c1f3c49b&displayLang=ja

592 :NAME IS NULL:2010/12/29(水) 15:05:57 ID:wn3G93rl
SQLServer2005ですが
本番dbとテストdbをインストールしています。
vb6からRDOで接続してますが、テストdbの接続文字列で本番dbが検索
できてしまいました、去年はちゃんと動いたんですが・・・
原因不明です、教えてください。

なお、Accessをodbc接続でリンクした時はちゃんとテストdbからエクスポートできました。

593 :NAME IS NULL:2010/12/29(水) 19:27:24 ID:???
情けない質問だなあ

594 :NAME IS NULL:2010/12/29(水) 19:28:25 ID:???
もう仕事納めだろうから本人が先輩にでも教わった事だろう・・・

595 :NAME IS NULL:2010/12/30(木) 08:58:08 ID:pk4OnEh2
592です・・・まだ未解決。

我ながら情けないですが、テストサーバを立てます。

596 :NAME IS NULL:2010/12/30(木) 10:52:52 ID:???
接続文字列が間違ってるとか、ネットワークの設定が間違ってるとしか。

597 :NAME IS NULL:2010/12/30(木) 11:00:44 ID:???
そんなの使っているアプリの設定見ろとしか。
テスト用設定したつもりが本番用向いているか、本番用検索していると思ったら実はテスト用だったかのどちらかでしょ。

598 :NAME IS NULL:2010/12/30(木) 15:39:14 ID:pk4OnEh2
592です。
テストサーバを設定中、認証・ユーザ名が違うかも・・・と思った。
お客さんお休みですので、来年確認します。

599 :NAME IS NULL:2011/01/05(水) 10:54:10 ID:EDF9UVV6
592です。
dbは関係なしで接続できますので

testユーザのサーバーロールをsysdminにして、
こいつでdbを作成すればOKでしょう・・
6.5の時代とずいぶん違うね、もう引退しますわ。

600 :NAME IS NULL:2011/01/05(水) 17:19:30 ID:???
新年早々つまらない質問ですがちょっとお付き合い下さい。

Access2000を使っていましたがPCが壊れたのを機に
Sqlserver2008R2への移行を考えています。

CSVデータをインポートする際20110106のような文字列を
Accessのインポート定義では日付に変換できましたが、
SSISでは思うように変換できません。

色々と検索すると一旦テーブルにインポートしてから変換するとか、
↓のような処理を書くとか方法はあるみたいなのですがもっとスマートな
やり方はないものでしょうか?

http://www.tsware.jp/study/vol17/ssis_06.htm

PowerShellを使って済ませようかと思って勉強していますが、こちらも奥が深く
面白いので肝心のSQLServerの検証が進みません。。。。


601 :NAME IS NULL:2011/01/05(水) 20:14:59 ID:???
>>599
>>599
>>599

602 :NAME IS NULL:2011/01/05(水) 20:25:28 ID:???
俺はCSVファイルをbcpで一時的なテーブルに入れてから、
適切な型に変換しつつ本来のテーブルに insertしてるなあ。

CSVファイルの個数がどの程度なのか、そのフォーマットが何種類あるのかで、
取るべき方法も変わるんだろうけど。

603 :NAME IS NULL:2011/01/06(木) 18:22:38 ID:???
>>602
どもです。

やっぱりその手が一番無難ですね。
取り込みたいCSVは10種類くらいで、それぞれ100行に満たない比較的小さなものです。

AccessVBAを駆使して似たようなことをしてたんですが、SQLServerならもっとお手軽な
らくできる方法があるんじゃないかと思いましたので質問させていただいました。

お手数をおかけいたしました。




604 :NAME IS NULL:2011/01/08(土) 16:58:47 ID:???
こんにちは。質問いいですか?

現在XPproにSQLServer2005EEの構成で小規模DBを作っていますが

端末更新の時期となりWinServer2008を買ってもらえることになりました。

そこでSQLServerも2008EEにしたいと思うのですが

このDB間(EEで)でデータ移動は簡単に出来ますでしょうか?

素人質問ですみません。宜しくお願いいたします。

605 :NAME IS NULL:2011/01/08(土) 17:09:51 ID:???
ライセンス料まともに払っているのかさえも怪しい質問だな。
最近複数ユーザ接続でもCPUライセンス購入しないって会社結構多いんだよな・・・

606 :NAME IS NULL:2011/01/08(土) 17:11:48 ID:???
>>605
すみません。複数人使用だとライセンスがEEでも必要になるのですか!

よろしければ詳細を教えてください。

コンプライアンス問題があれば大事なので

607 :NAME IS NULL:2011/01/08(土) 17:14:01 ID:???
Enterprise Edition か・・・

608 :NAME IS NULL:2011/01/08(土) 17:44:32 ID:???
マイクロソフト ライセンス早わかり

でぐぐれ

609 :NAME IS NULL:2011/01/08(土) 17:52:00 ID:???
データ移動は簡単だよ。

610 :NAME IS NULL:2011/01/08(土) 17:57:29 ID:???
EE と省略した場合

Enterprise Edition と取る人(大多数)
Express Edition と取る人(少数)

がいるので省略しないようにね


611 :NAME IS NULL:2011/01/08(土) 17:58:45 ID:???
>>609
データベース構造も簡単に複製できますでしょうか?

参考になるサイトなどご存知でしたらご教示願います。

612 :NAME IS NULL:2011/01/08(土) 18:00:10 ID:???
>>610
すみませんでした。

Express Editionです。

613 :NAME IS NULL:2011/01/08(土) 18:03:50 ID:???
>>611
http://msdn.microsoft.com/ja-jp/library/ms188664.aspx

Express は知らん。

614 :NAME IS NULL:2011/01/08(土) 18:17:55 ID:???
>>603
100行が10個程度なら、テキストデータの段階でエディタ使って正規表現置換で/入れればいいだけじゃん。
ちょっと正規表現じゃ無理そうならパパッとバッチ組むか、取り込んだ後にsql書いたって数分でしょ?
くだらんことで悩んでいる時間の方がもったいない。

615 :NAME IS NULL:2011/01/08(土) 22:14:19 ID:???
>>614
まぁ 確かに、、
結局PowerShellで整形してインポートすることにしますた。

616 :NAME IS NULL:2011/01/08(土) 22:14:21 ID:???
ネットで質問する人のすべてに言えることだけど、
自分が質問しようとしていることは自分以外にも知りたい人が大勢いるような質問なのか、
世界でもごく限られた人しか質問しなさそうなことなのか、考えないのかね。

前者だったらネットで検索すれば答えがあるに決まってる。
>>604 なんか、そういう質問の典型だろ。

617 :NAME IS NULL:2011/01/08(土) 22:17:43 ID:???
>>616
それが仕事絡みってのが最悪だよな。
トラブった挙げ句、原因も調べずに「MSだから〜」で済ます阿呆が生産されるのは勘弁です。

618 :NAME IS NULL:2011/01/09(日) 04:19:49 ID:???
ExpressEditionならライセンスいらないよ。
>>604もあほだがライセンスうんぬん言い出した奴もあほだろ。

619 :NAME IS NULL:2011/01/09(日) 08:49:24 ID:???
>>618
>>606に回答したつもりなら十分あんたもあほだろ・・・

620 :NAME IS NULL:2011/01/09(日) 08:55:08 ID:???
>>604
2台が繋げるならウィザードで。
繋げないならデーター吐き出してバックアップとリストア風にやれば良い。
ただいずれもジョブや設定は引き継げないから手作業でやる必要あり。
厳密にはジョブや権限も吐き出せるけど、あなたの書き込みや規模を考えるに、再度設定した方が早そう。

621 :NAME IS NULL:2011/01/09(日) 17:13:16 ID:???
>>620
ありがとうございました。

ウィザードってExpressEditionにもあるんでしょうか?

一応二台ともLANで繋がってはいます。

622 :NAME IS NULL:2011/01/09(日) 17:18:36 ID:???
>>621
>ウィザードってExpressEditionにもあるんでしょうか?

あったかどうかは忘れたが、それぐらいはお前が自分で確かめろ。目の前のPC立ち上げれば数分で分かるだろうが。

623 :NAME IS NULL:2011/01/10(月) 08:32:46 ID:???
一回こっきりなら
Access で両方にリンク張って、レコード追加クエリーとか

624 :NAME IS NULL:2011/01/10(月) 12:23:00 ID:???
一回きりなら、そのウィザード(Expressにもある)が絶対に楽。

625 :NAME IS NULL:2011/01/13(木) 09:55:37 ID:nryLKKcU
>>604
Access で両方にリンク張って、レコード追加クエリーが素人向け
ちなみにあたしはいつもこれです。

626 :NAME IS NULL:2011/01/13(木) 10:21:36 ID:???
>>625
そんなことするぐらいなら、SQLserverでもう一方をリンクサーバで張ればいいだろw

627 :NAME IS NULL:2011/01/13(木) 13:09:36 ID:nryLKKcU
ExpressEditionでできるんだ、失礼しました。

628 :NAME IS NULL:2011/01/13(木) 18:56:07 ID:???
SQL Server2005で、質問があります。
5000行ほどあるテーブルに、インクリメント・シード共に1のidentity列を追加したのですが、
このとき、既存のデータにどうやって番号が振られているのかが分かりません。
レイアウト変更前に、つい最近追加したデータに若い番号が振られたりしていて、法則性がいまいちつかめないのです。
MSDNのIDENTITYプロパティ(http://msdn.microsoft.com/ja-jp/library/ms186775(v=SQL.90).aspx)にも、それらしい情報はありませんでした。
ご存知の方いましたら、ご教示お願いします。


629 :NAME IS NULL:2011/01/13(木) 22:23:41 ID:???
どういう方法でidentity列を追加したのかを具体的に示せ。

追加したその列をどう使うつもりなのか、あらかじめ考えていたのか?
一意であるだけでよいのなら、法則性を知る必要はないはずだが。

630 :NAME IS NULL:2011/01/13(木) 22:37:18 ID:???
select * from table を実行したら、つい最近追加したデータが先に出てきたりして、
法則性がいまいちつかめないのです。って言ってるのと同じ

631 :NAME IS NULL:2011/01/14(金) 23:53:29 ID:???
>>628
MSは並び順を指定しない時の並び順に関しては正式にアナウンスしてないお。
素直に自分でSQLで並び替えて数字振ったほうが確実。

632 :NAME IS NULL:2011/01/15(土) 02:26:30 ID:???
並べ替えて数字を振ってどうなるというのだろう。
挿入、削除のたびに振りなおすなんてばかげてると毎日バッチみたいなことをするんだろうか。
並び順を指定しなかった場合の並び順を正式にアナウンスしているRDBMSってなにがあるのだろう。

633 :NAME IS NULL:2011/01/15(土) 12:10:48 ID:???
>>632
>並べ替えて数字を振ってどうなるというのだろう。
数字振ってからidentityにしろって言ってんだよ。そうすれば以後は関係ないだろ。

>並び順を指定しなかった場合の並び順を正式にアナウンスしているRDBMSってなにがあるのだろう。
他は知らないからMSに関して書いただけ。

なんだ?いちいちいちゃもんつけなきゃ気がすまない低脳か?

634 :NAME IS NULL:2011/01/15(土) 13:58:12 ID:???
所詮計算機なんだから同じ条件なら同じ並び順になるよ。
ソース公開しているRDBMSは正式アナウンスしているようなもんだ。

635 :NAME IS NULL:2011/01/15(土) 14:57:53 ID:???
>>633
以降がどうでもいいなら、既存のデータだけ並べ替えた数字を振ることもどうでもいいと思えないの?

636 :NAME IS NULL:2011/01/15(土) 18:13:47 ID:???
>>634
それがならないんだな。orderbyで等値のデータの並び順で、
種類が同じDBでもマシンがエンディァンがビッグとリトルとじゃ別の結果になることがある。
テスト中に一度経験したことある。

637 :NAME IS NULL:2011/01/15(土) 18:51:53 ID:???
>>636
>マシンがエンディァンがビッグとリトル
同じ条件じゃありませんが?

>>634は間違ってはいないが、実際問題違うDBが同じ条件になることは
現実的にあり得ないわな
物理的な行の格納位置なんて、エクスポートしてインポートしただけでも変わるし

638 :NAME IS NULL:2011/01/15(土) 23:14:17 ID:???
>>634
古い話しで恐縮なんだが、例えばテキストcsvをBCPでのインポートをしたとして、なんの制約も並び替えもしなければcsvの並び順のままインポートされる事が経験則として知られている。
ただmsとしてはその現象は偶然にもすぎず、並び順においてなんの保障もしていない。
なのでクライアントからの条件が「100%確実にテキストファイルの順に数字を振ってインポート」ならば、1行ずつインサートするのが一番確実になる。

639 :NAME IS NULL:2011/01/16(日) 14:57:00 ID:???
インポートが並列処理できるDBってふつうたがら、
仕様で並び順も保証したいのであれば、フィールド追加するしかない。

640 :NAME IS NULL:2011/01/16(日) 16:30:01 ID:???
北の核でMSが滅亡したら、残った人類Winのアクチができなくなるから
Linuxの天下になるのかな。

641 :NAME IS NULL:2011/01/18(火) 16:09:47 ID:???
どっか上のに ANSI_NULLS の話があったと思いますが
更新ストアド書いてます。

update テーブル
set 項目=@項目
where ID=@ID and 項目<>@項目

値が変更されてたら UPDATE を実行するというものです。

項目が NULL 許可で、もともと NULL が入っている場合
この更新クエリーでは正しく動作されません。
その逆で、項目を NULL に更新したい場合も動作しません。

これを回避するためには

update テーブル
set 項目=@項目
where ID=@ID and ((項目 is null and not @項目 is null) or (not 項目 is null and @項目 is null) or 項目<>@項目)

なんて書かないといけないのでしょうか。

642 :NAME IS NULL:2011/01/22(土) 11:37:27 ID:???
SQL serverは理論どらいぶインスコ
ではリモートアクセスできないの?

643 :NAME IS NULL:2011/01/22(土) 11:39:06 ID:???
日本語でOK

644 :NAME IS NULL:2011/01/22(土) 11:47:43 ID:???
フレンチですまん

645 :NAME IS NULL:2011/01/23(日) 09:08:35 ID:???
SQL Server Compact Edition もこのスレでいいのかな。
違うなら、適切なスレに誘導してくれ。

SQL Server 2008 Management Studio Express と SQL Server Compact
Edition 3.5 で個人的な DB 作って遊んでいるんだが、データベースやテーブ
ルの作成とか SQL の実行なんかはできるんだけど、テーブルにデータを直接
入力できないんだ。

Insert 分でちまちま入力するのはもちろんできるんだけど、プログラムのデ
バックなんかでテストデータを準備したりするのに手間がかかってちょっと
辛いんだ。

SQL Server 2005 の Express Edition ではできたような気がするんだけど、
誰かやり方知らない?

646 :NAME IS NULL:2011/01/23(日) 19:42:47 ID:???
このスレでいいとは思うけど、
Expressはちゃんとしたクラサバ構成なのに対して、Compactは組込み用。
だから、TCPIPのようなプロセス間通信を使うツールは一切使えない。

647 :NAME IS NULL:2011/01/23(日) 20:48:31 ID:???
>>645
Visual Studio から出来るよ。
Visual Studio 2010 Professional では出来た。Express Edition は分からないけど。

648 :NAME IS NULL:2011/01/23(日) 20:59:19 ID:???
>>646
ん? どっから、「TCPIPのようなプロセス間通信を使うツールは一切使え
ない。」なんて出てくるの?

Compact は、もちろんクラサバじゃなくて単なるライブラリだけど、SQL
Server 2008 Management Studio Express はちゃんと対応しているよ。

# そもそもデータベースやテーブルの作成はできると書いてあるんだから、
# 普通に考えれば対応してるってわかると思うが...。

で、MSDN あさってたらこんな記述が...

http://msdn.microsoft.com/ja-jp/library/ms171805(v=SQL.100).aspx
| SQL Server Compact 3.5 で SQL Server Management Studio の機能を
| 使用するには、SQL Server、SQL Server Compact 3.5、および
| Transact-SQL の知識が必要です。また次の製品をインストールする必
| 要があります。
| ・SQL Server <-- 注目!!
| ・SQL Server Compact 3.5 (SQL Server に同梱)
| ・Microsoft ActiveSync
| ・Microsoft .NET Compact Framework

これって、(使いもしない) SQL Server 本体を入れろということなのかなぁ。

649 :NAME IS NULL:2011/01/23(日) 23:17:28 ID:???
Accessじゃないんだからさ、テーブル参照からダイレクトで値書き込むようなことはしなさんな

650 :NAME IS NULL:2011/01/23(日) 23:28:02 ID:???
逆に、DB管理ツールでCRUD機能のついていないものってなにがあるんだ?

651 :NAME IS NULL:2011/01/23(日) 23:29:06 ID:???
個人的なDB作って遊ぶのにどうして Compact Edition を使うのか分からない。
さっさと Expressにしたほうが幸せ。

652 :NAME IS NULL:2011/01/24(月) 00:28:08 ID:???
CompactEditionを使うというのが遊びの内容に含まれてるからでしょう

653 :NAME IS NULL:2011/01/24(月) 15:43:04 ID:???
SqlServerCompact3.5でバックアップを取る時は接続をすべて切ってファイルをコピーとありますが、
接続を切らずにやるとしたら一旦全てにデータをエクスポートしてやるくらいしかないでしょうか?


654 :NAME IS NULL:2011/01/24(月) 22:50:23 ID:???
何で無理なことを追い求めてるの?

655 :NAME IS NULL:2011/01/24(月) 23:00:41 ID:???
>>652
説得力あるなw

656 :NAME IS NULL:2011/01/25(火) 21:51:17 ID:ODO6+y4s
SQLServer2000で、名前付きパイプでは接続できるのに、TCP/IPでは接続出来ない、、、 TCP/IPでつなぎたいのですが、どうしたらいいでしょうか? (>_<)

ファイアウォール、クライアントネットワークユーティリティ、サーバネットワークユーティリティの設定はしています

クライアントから接続すると、サーバが見つからない、拒否されましたとエラーが表示されます

同じPCに2008をインストールして試しましたが、同じでした




657 :NAME IS NULL:2011/01/25(火) 22:15:58 ID:???
ファイアウォールをいったん無効にしてみる、ってのと、
接続時に「\\」とかつけてないよね? ってのと、
優先順位がおかしくなってない? ってあたり。

658 :NAME IS NULL:2011/01/25(火) 22:28:56 ID:ODO6+y4s
返信ありがとうございますm(_ _)m
\\付けてないです
既定のインストールなので、サーバ名だけ指定してます

優先じゅんいはは、TCP/IP しか有効にしてないので大丈夫だと思います(>_<)


659 :NAME IS NULL:2011/01/25(火) 22:55:03 ID:???
じゃ、ちょっとわかんないねぇ。
サーバー側でパケットキャプチャしてみて、ちゃんと1433にパケット来てるか
確認してみれば?

660 :NAME IS NULL:2011/01/25(火) 23:03:09 ID:???
>>656
osは何を使ってますでしょうか
クライアントからは接続できないが、sql2000をいれたサーバから自分自身には接続できるのでしょうか。
クライアントからサーバへpingは通りますか。

661 :NAME IS NULL:2011/01/25(火) 23:15:27 ID:???
OSは2000サーバを使ってます
PINGも通ります、ネットワークフォルダらも見れます

気になるのは、NETSTATで確認すると、1433のポートが表示されません

サーバの問題だと思うのですが、何が原因らなのか、よくわからないです、、、

662 :NAME IS NULL:2011/01/25(火) 23:22:27 ID:???
じゃ、リッスンしてないね。

663 :NAME IS NULL:2011/01/25(火) 23:23:57 ID:???
もう少し調べてみます
ありがとうございましたm(_ _)m

664 :NAME IS NULL:2011/01/26(水) 00:34:29 ID:???
>>663
サービス マネージャ
あたりの設定かもしれません。
SQL Server2000の環境がないので確認できませんが。

665 :NAME IS NULL:2011/01/26(水) 21:04:19 ID:???
2000から2005に移行したDBで、メンテナンスプランでインデックスの再構築を実行したら、容量が何倍にも拡張されたんですが……。
これって正しい姿なんでしょうか?

666 :NAME IS NULL:2011/01/26(水) 23:42:15 ID:???
>>665
オンラインの再構築の場合、現在利用量の作業域として使うので二倍ぐらいに拡張するかも

667 :NAME IS NULL:2011/01/27(木) 21:46:35 ID:???
>>666
レスありがとうございます。
オンラインはOFFにして実行してます。
ちなみに、FILL FACTOR は10で設定しています。
それで、容量が5倍ぐらいに激増します。パねえ……。

668 :NAME IS NULL:2011/01/27(木) 22:30:13 ID:???
DBに高速にデータを突っ込むローダーみたいツールってありますか?

669 :NAME IS NULL:2011/01/28(金) 00:21:16 ID:???
付属のbcp

670 :NAME IS NULL:2011/01/28(金) 00:59:53 ID:???
ありがとうございます。
Expressでも付属してました。

671 :NAME IS NULL:2011/01/28(金) 03:14:15 ID:???
>>667
FILL FACTORが10ってことは、実際の10分の1しかデータ入ってないってことだぞ
100(か0)から10に変えたら容量10倍になってもおかしくないってことだぞ

672 :665:2011/02/03(木) 00:22:21 ID:???
レス遅くてすみません。
なんかSQLServerでは空き領域の比率をFILL FACTORと誤認する不具合があったらしくって(SP1で解消されている)、かなり長い間一緒のものだと勘違いしていました。
SP4当てて、空き領域の比率を10%で再構築してみたら、今度は容量微増ですみました。
レスくれたひと、ありがとうございました。

673 :NAME IS NULL:2011/02/03(木) 00:35:56 ID:???
試験環境で2008 R2(OS、SQLとも) 64ビットの
クラスター組んでみた。
資料があんまりなかったんで、ちと苦労した。

674 :NAME IS NULL:2011/02/03(木) 00:37:15 ID:???
ところで、File Stream ってどーやって使うんだい?
分かりやすく設定とか使い方を解説してあるサイトおせぇーてくれ。

675 :NAME IS NULL:2011/02/03(木) 08:11:56 ID:???
Windows Server 2003 x86でSQL Server 2005 Stdを動かしているのだが、
SP4を当てようとすると失敗しましたで当てられない。
google先生に聞いても、困っている人がいることはわかるのだが、
解決方法が解らない。
なんか知ってたら教えてくれ。

676 :NAME IS NULL:2011/02/03(木) 12:31:51 ID:???
入れなおしは?

677 :NAME IS NULL:2011/02/03(木) 12:39:34 ID:???
自分も経験した記憶があるけど
なんだったっけ・・・覚えがない

678 :NAME IS NULL:2011/02/03(木) 12:44:52 ID:???
何かの順序だった気がする

XMLパーサとか関連は違ったっけ?

679 :NAME IS NULL:2011/02/03(木) 12:48:57 ID:???
思い出すかもしれないので
エラーの詳細おしえて

680 :NAME IS NULL:2011/02/03(木) 14:51:16 ID:???
ドメインへの参加や降格してませんか?

681 :NAME IS NULL:2011/02/03(木) 15:38:08 ID:???
SP3とかインストールの問題と同じ可能性があるからそっち調べてみたら幸せになれるかも

PS.VB.NETスレに誤爆して恥ずかしかった orz

682 :675:2011/02/03(木) 21:42:39 ID:???
情報が小出しになってしまって申し訳ない。
SP4をDLしてきて当ててみた。
Product : データベース サービス (MSSQLSERVER)
Product Version (Previous): 4053
Product Version (Final) :
Status : 失敗
Log File : C:\Program Files\略
Error Number : 1402
Error Description : MSP Error: 1402 キーを開くことができませんでした:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Microsoft SQL Server\MSSQL.1\SQLServerAgent。
そのキーへの十分なアクセスがあることを確認するか、またはサポート担当者に問い合わせてください。
とログに吐いてあった。
実際、そのキーを見に行くと値が無い状態。
何が入ってるのが正しいの?

683 :NAME IS NULL:2011/02/04(金) 02:48:17 ID:???
そのエラーを見る限り、レジストリへのアクセス権の問題っぽいけど
ためしにそのキーのアクセス権を変えてみたら?

684 :NAME IS NULL:2011/02/04(金) 02:53:27 ID:???
キーを作成することができませんでした、ならアクセス権かなぁとおもうけどね。

685 :NAME IS NULL:2011/02/04(金) 04:02:49 ID:???
>>684
レジストリのアクセス権って作成や変更だけじゃないぞ
読み取りを禁止するアクセス権もあるからな


686 :NAME IS NULL:2011/02/04(金) 11:47:57 ID:???
>>685
読み取り権限がないとキーが無いように見えるんだ。知らずにすまんことをした

687 :NAME IS NULL:2011/02/04(金) 11:48:38 ID:???
キーは見えるが、値が見えない、だった。重ね重ねすまんことを

688 :675:2011/02/04(金) 21:22:38 ID:???
よもや管理者でアクセス出来ないキーがあるとは思っていませんでした。
お陰様で・・・

Product : データベース サービス (MSSQLSERVER)
Product Version (Previous): 4053
Product Version (Final) :
Status : 失敗
Log File : C:\Program Files\Microsoft SQL Server\略
Error Number : 29528
Error Description : MSP Error: 29528
パフォーマンス カウンタをインストールしています 中に予期しないエラー
が発生しました。エラー: アクセスが拒否されました。

SP4は要らないんじゃないか?

689 :NAME IS NULL:2011/02/04(金) 21:31:13 ID:???
それホントに管理者権限でインストールしてるのか?

690 :NAME IS NULL:2011/02/07(月) 19:48:59 ID:???
SQL Server2000(winXP) → SQL Server2008(winServ2008x64) へデータ移行しようと思ってます。
初めてなのですが、以下のような手順で合っているでしょうか。

1:Enterprise Managerよりバックアップ取得
2:取得した.bakを2008側の任意箇所へコピー
3:2008側で、同一名のDBの柄だけ先に作成(TableやFileGroup、ユーザー定義系は何も無しでも良い?)
4:DB復元(この時にファイルグループも自動で復元される?)
5:移行先でユーザー作成や不要なユーザーを整理
6:sp_change_users_loginで使用するログインユーザーを再指定
7:dbcc updateusageを実行
8:DBプロパティでオプション互換性レベルを100にする

691 :NAME IS NULL:2011/02/07(月) 22:12:55 ID:???
2008express R2 で作成したデータベースを2008expressに移行するにはどうしたらいいのでしょうか?

692 :NAME IS NULL:2011/02/10(木) 12:10:57 ID:uRAA0s5t
Visual Studio 2008 Proのデータ接続で、Virtual PCのSQL Server 2008に接続したいのですが、
ホスト(メイン)のPCから、Virtual PC内のSQL Serverが出てきません。
Virtual PCのVisual Studio 2008 Shellで、"(local)\SQLEXPRESS"と手入力で書いて接続すると繋がります。
サーバーの一覧には出てきませんでした。
どうしたら、ホストからVirtual PC内のSQL Serverに繋がるでしょうか?
宜しくお願いします。

693 :NAME IS NULL:2011/02/10(木) 12:22:13 ID:???
(local) ってつながってないだろ・・・。
VirtualPC のネットワーク設定の話だから、スレ違いだな。

694 :NAME IS NULL:2011/02/10(木) 12:26:13 ID:???
VPCがNATの中で動いてるんじゃね

695 :NAME IS NULL:2011/02/10(木) 13:09:07 ID:uRAA0s5t
>>694
NATじゃないです。

696 :NAME IS NULL:2011/02/10(木) 13:31:03 ID:???
まずはHostOS-GuestOS間でpingが届くかどうか。
届いたら、あとはOSのファイアウォール設定かDB接続方法の問題。

697 :NAME IS NULL:2011/02/10(木) 14:26:10 ID:???
ゲストマシンでつながってるのが、(local)\SQLEXPRESSだろ
EXPRESSってちゃんとネットワーク経由でアクセスできる設定にしてあるのか?
Virtual PCとかの話じゃないと思うが

698 :NAME IS NULL:2011/02/10(木) 23:13:08 ID:???
>>696
PINGはホスト側からもゲスト側からも繋がっています。
FWは無効にしております。

>>697
そうです。
SQL構成マネージャーでTCP/IPを有効にしました。

いろいろ弄った結果、SQL Server Browserのサービスがデフォで無効になってるみたいで、
自動にしてサービスを開始させたら、ホスト側からゲスト側のSQLEXPRESSが出てきました。テスト接続も成功しました。

学校でやってるもんで、こんなやり方で繋げたっけ?ってちょっと疑問に思いました。
SQL Server Browserを使わないで、他に繋げる方法ってありますか?

既に解決しましたが、参考に聞きたいです。
宜しくお願いします。

699 :NAME IS NULL:2011/02/10(木) 23:28:47 ID:???
別にSQL Browser使わなくたってつながるけど?

700 :NAME IS NULL:2011/02/11(金) 00:02:45 ID:???
名前付けパイプ使用でリモート接続の場合、
SQL Browser使わないと接続できなかったんじゃ
なかったっけ?

701 :NAME IS NULL:2011/02/11(金) 01:04:19 ID:???
>サーバーの一覧には出てきませんでした
とは書いてるが、つながらないとは書いてないな
まあ、そういうことじゃないかな

702 :NAME IS NULL:2011/02/11(金) 19:16:23 ID:1Z2QoDyK
SQLサーバーの販売。

http://salkgjwr.exblog.jp/


703 :NAME IS NULL:2011/02/11(金) 19:39:44 ID:???
>>691
>>604
同じような話。

704 :NAME IS NULL:2011/02/13(日) 17:47:52 ID:???
bcpってyyyy/MM/ddの形式が読み込めない。
なんで日付形式が指定できないんだよ。

705 :NAME IS NULL:2011/02/13(日) 20:25:58 ID:???
>>704
-Rつけてもダメなのか?


706 :NAME IS NULL:2011/02/13(日) 20:28:51 ID:???
ごめんなさい。できました。
ホストファイルデータ型の意味を完全に逆に勘違いしてました。

707 :デフォルトの名無しさん:2011/02/14(月) 23:02:12 ID:???
>>672
なつかしいバグだな。
俺も5年前にそれでハマったよ。

708 :NAME IS NULL:2011/02/21(月) 21:31:11.88 ID:???
SQL Server 2000上で動作しているDTSを、SQL Server2008 R2 に取り込んで、そのままDTSとして(SSISにアップグレードしないで)使用したいと思っていますが、一か所わからないところがあります。

◆やった作業。
・この辺の設定は済んでます。
ttp://d.hatena.ne.jp/matu_tak/20091120/1258641190
ttp://d.hatena.ne.jp/matu_tak/20091121/1258760253

・2008R2側のSQL Server Business Intelligence Development Studio から、
「DTS2000パッケージを移行」 で、プロジェクトにWindows2000版のDTSを取り込み、成功しています。


◆わからないこと。

SQLServer 2000版の各DTSパッケージには、DTSパッケージのプロパティ - グローバル変数 タブに「明示的な外部変数」というチェックボックスがあり、それがoffに設定されて使用されているみたいなのですが、
( 参考: ttp://msdn.microsoft.com/ja-jp/library/aa215033(v=sql.80).aspx )

SQLServer 2008 R2 のSSIS上の各DTSパッケージは、デフォルトで「明示的な外部変数」がonの動作になっているようで、これをoffに設定する機能がどこにあるかわからないのです。


ご存知の方、教えていただけますと幸いです。


709 :NAME IS NULL:2011/02/26(土) 12:44:29.81 ID:???
すみません、質問いいですか?

SQLServer2008R2Standardを会社で買おうかと思っているのですが
ライセンス形態が理解できません。

現状はSQLServer2005ExpressをXP端末にてサーバー代わりに設置。
クライアントは40台程度でADO.netのアプリが非常時接続で動いています。

この場合はサーバーライセンス1CPU分と40数台分のCALを買うことになるのですか?
そうすると29300*40+15300円となるのですか?
プロセッサライセンスを買うのと変わらない金額になるんですかね?

Expressは制限なしなのに製品版はいきなり価格が跳ね上がるんですね。
それともCALは台数分は必要ないのでしょうか。

行うことはExpressでも十分なショボイDB処理ですが
この場合でも製品版を買うメリットって何があるのでしょうか?

私としては復旧やバックアップが簡単になればいいと思っているのですが
その為にこの金額は・・・・でして。
私はDBはド素人でしてアホな質問ですが宜しくお願いいたします。

710 :NAME IS NULL:2011/02/26(土) 12:45:57.26 ID:???
>>709

すみません。訂正です
×サーバーライセンス1CPU分
○サーバーライセンス1台分

711 :NAME IS NULL:2011/02/26(土) 13:34:24.86 ID:???
デバイス数 or ユーザー数分 CAL は必要。
だいたい、30台・人を超えれば、プロセッサライセンスの方がお得。

http://www.microsoft.com/japan/sqlserver/2008/howtobuy/default.mspx

それより何より、Windows XP をサーバー用途に使うのはライセンス違反。
Windows Server 2008 などのサーバー製品が必要&そっちの CAL も必要。

712 :NAME IS NULL:2011/02/26(土) 13:46:00.46 ID:???
>>711
Windows Server 2008R2も同時に買う予定です。5CAL付きです。
サーバーって複雑で素人には難しいですね・・・

やはりExpressを大人しく使っておこうかな・・・・

でも製品版っていいんでしょうね。きっと

713 :NAME IS NULL:2011/02/26(土) 15:46:26.73 ID:???
experss で満足しているなら
なにもかわらんと思うぞ

2008R2express ならDBサイズ10Gまで使えるし

レプリケーションとかミラーリングとかしたいなら別だが

express のライセンス条件で接続数の制限ってあったっけか

714 :NAME IS NULL:2011/02/26(土) 15:48:41.85 ID:???
>>712
既に Express で動いていて、性能的に問題ないなら上位エディションに移行する必要はないと思うよ。
単にバックアップするだけなら、Windows のタスクスケジューラでも使って定期的に BACKUP クエリを実行すれば良いし、
復旧についても、単にログやバックアップから書き戻すだけなら SSMSE でもできたはず。

容量制限にぶつかったり、メモリ・CPU制限でPC買い替えても性能が上がらない、とかなら上位エディションの検討も必要だけど、
まずは評価版でも試してみて、必要な機能と性能が手に入るのか確認した方がいいよ
(あと、Standard の下位に Workgroup Edition てのもあるよ)。

715 :NAME IS NULL:2011/02/26(土) 18:02:48.94 ID:???
>>713
>>714
みなさんありがとうございました。
暫く2008Expressで勉強してみたいと思います。
ただ、今期でないともう高額ソフト関係は買えないよと上司に言われましたもので・・・

ミラーリングは魅力ですよね。でも自分のスキルで出来るとは思えませんが(笑

またよろしくお願いします。

716 :NAME IS NULL:2011/02/26(土) 22:40:11.84 ID:???
ミラーリングならハードレベルですればいいんじゃね?
HDDを適度にRAID1とか5とかにすればいいだけ。
どっちにしても定期的なバックアップはいるけどな。

717 :NAME IS NULL:2011/02/27(日) 00:46:34.31 ID:/q8lqrSS
>>716
RAIDとミラーはまったく違う。

718 :NAME IS NULL:2011/02/27(日) 01:12:49.64 ID:???
>>717
その言い方はおかしい
RAID1はディスクのミラーリングだからな

>>716
DBのミラーリングと、ディスクのRAIDやミラーリングは全く違う


719 :NAME IS NULL:2011/02/27(日) 01:16:51.40 ID:???
何を言いたいのか分からない。
どっちも可用性を上げるためなんだが。

720 :NAME IS NULL:2011/02/27(日) 01:59:20.15 ID:???
つまりディスクのミラーリングやRAIDならEXPRESSでもできるってことだ

721 :NAME IS NULL:2011/02/27(日) 08:41:31.89 ID:???
RAID-0なマシン2台でDBミラーが一番いい。

722 :NAME IS NULL:2011/02/27(日) 09:41:57.97 ID:???
そもそも 40台程度のクライアントが繋がってるマシンなら
RAID ぐらいにはなってると思いたいが...。

まあ、DB ミラーリングの代わりに RAID を薦める >>716 は、
サーバー自体の障害とか経験したことないような人なのであ
まり構わないようにしたほうがいいかと。

723 :NAME IS NULL:2011/02/27(日) 09:48:11.35 ID:625cBq0T
>>722
馬鹿かおまえ。頓珍漢なレスして逆ギレかよw

724 :NAME IS NULL:2011/02/27(日) 11:17:31.53 ID:???
DBミラーリングも witness を独立させるとそこが単一胡椒店になるからな

うまく構成しないと面倒なことになる

725 :NAME IS NULL:2011/02/27(日) 12:10:38.44 ID:???
>>723
>>722 のどこをどう見たら逆切れに見えるのかよくわからんけど、
まずは、どこが頓珍漢かぐらい指摘したらどうよ。

まあ、まともな指摘が来るとはとても思えないけど。

726 :NAME IS NULL:2011/02/27(日) 12:12:32.14 ID:???
お前ら全員バカだろ?

727 :NAME IS NULL:2011/02/27(日) 18:29:26.43 ID:???
>>724


728 :NAME IS NULL:2011/02/28(月) 09:30:37.41 ID:???
2008R2Expressが10Gいけるのか・・・
勉強になった

729 :NAME IS NULL:2011/03/03(木) 00:05:32.74 ID:???
            (~)
.            γ´⌒`ヽ
.   ___     {i:i:i:i:i:i:i:i:} あたためますか?
   |[\_398]|\ ( ´・ω・)
   | ̄ ̄ ̄|  | (:::::::::::::)
   |___l./ ̄ ̄ ̄ ̄ ̄■/|   lヽ,,lヽ
   | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|.  |  (ω・  ) おながい
   |                 .|.  |  し   i    します
   |__________|./   しーJ

.   ___
   |[\1398]|\               (~)
   | ̄ ̄ ̄|  |             γ´⌒`ヽ
   |___l./ ̄ ̄ ̄ ̄ ̄■/|   {i:i:i:i:i:i:i:i:}lヽ,,lヽ
   | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|.  |  (  ´-ω)ω- )
   |                 .|.  |   (:::::::`つ⊂´ i
   |__________|./    し─J.し─J


730 :NAME IS NULL:2011/03/03(木) 06:16:20.48 ID:???
>>729
千円w

731 :NAME IS NULL:2011/03/03(木) 16:42:55.81 ID:???
この情景をSQLで表現したら

732 :NAME IS NULL:2011/03/03(木) 21:59:46.38 ID:???
with you (warm, price)
as (
select warm, price + 1000
from customer
where said like 'thank you%'
)
insert into hug select * from you;

733 :NAME IS NULL:2011/03/04(金) 17:23:51.34 ID:???
SqlServer2005のStandardエディションってWindowsXPのHomeにはインストール出来ないですけど、
Windows7のHome Premiumにはインストールできるんでしょうか?
どなたかご存知なら教えて下さい。

734 :NAME IS NULL:2011/03/04(金) 17:40:59.31 ID:???
インストールできたとしても、クライアントOSをサーバーとして使うのはNGだったような。

735 :NAME IS NULL:2011/03/04(金) 19:12:32.12 ID:???
Developper と Express 以外は無理だったはず

736 :NAME IS NULL:2011/03/08(火) 14:32:16.98 ID:iP4MoVM9
外部からのODBC接続を許可したいのですが、
いくつかのアカウントがID=パスワードというBADなものなので、
特定のアカウントだけ外部接続を許可したいです。
どこで設定すればいいんでしょうか?

737 :NAME IS NULL:2011/03/08(火) 20:24:48.21 ID:???
Analysis Servicesについて確認したいことがあります。
作成したキューブのデータを参照した場合、
内部的にはキューブ作成時にデータソースに指定したデータベースを参照している(キューブ自体にデータはいない)
という認識で合っていますか?

738 :NAME IS NULL:2011/03/08(火) 22:39:27.51 ID:???
>>736
設定でやる話じゃないような。

739 :NAME IS NULL:2011/03/08(火) 22:41:24.57 ID:???
パスワードのポリシー設定とかできないのかな

740 :NAME IS NULL:2011/03/09(水) 00:31:22.96 ID:1mfyiYSh
>>737
両方できるはず。
データを持たせることもできるし、ビューみたいに使うこともできる。

741 :NAME IS NULL:2011/03/09(水) 15:28:29.98 ID:???
>>740
両方できるのですね。ありがとうございます。

>データを持たせることもできるし、ビューみたいに使うこともできる。
どこか設定するところがあるのでしょうか?
サンプルDBのAdventure Worksでキューブを作成しましたが、そのような設定はなかった気がします…

742 :NAME IS NULL:2011/03/14(月) 22:16:00.13 ID:KSK9ouKI
テキストデータを取り込んだ
グローバル一時テーブルからbcpを利用して
テーブルにデータを取り込むことは可能なのでしょうか?
その場合の書式なども教えていただきたいです。

よろしくおねがいします。


743 :NAME IS NULL:2011/03/14(月) 22:23:08.89 ID:???
無理。

744 :NAME IS NULL:2011/03/14(月) 23:11:43.41 ID:KSK9ouKI
無理ですか。。。
そうですか。
違う方法で明日またチャレンジします。
>743

745 :NAME IS NULL:2011/03/14(月) 23:13:07.49 ID:???
bcpは、テーブルからファイル、ファイルからテーブルにデータを移すときに使う奴。
いったんテーブルにデータが突っ込んであるなら、普通にSQLでやればいい。

746 :NAME IS NULL:2011/03/17(木) 18:51:53.40 ID:???
素人質問で申し訳ないんだけど、負荷・速度を考えたときどっちの条件指定のほうがいいかな?
joinは使ってないけど、レコードが数十万あるテーブルの場合

[末尾判断をしたい]
A:
where ○○ like '%00' or ○○ like '%10' or ○○ like '%20' or ○○ like '%30' or
○○ like '%40' or ○○ like '%50'

B:
where ○○ like '_____________00' or ○○ like '_____________10' or ○○ like '_____________20' or
○○ like '_____________30' or ○○ like '_____________40' or ○○ like '_____________50'
※「 _ 」は13個固定

747 :NAME IS NULL:2011/03/17(木) 19:06:48.33 ID:???
文字列をリバースした column をもう一つつくって
インデックスつけて前方一致検索

748 :NAME IS NULL:2011/03/17(木) 19:07:48.72 ID:???
知らね。せっかくツールがあるんだから、実行計画見て確認しろよ。

749 :NAME IS NULL:2011/03/17(木) 19:16:28.91 ID:???
ごめん、本当に素人なんだ…

>>747
System Center Configuration Manager 2007 R3 ってMS製品が自動で作る
テーブルに対してクエリしなきゃならないのだけど、テーブル拡張すると
サポート対象外になるんだ

>>748
実行計画ってなんのことでしょうか…

750 :NAME IS NULL:2011/03/17(木) 19:33:47.92 ID:???
だったら一度別DBにデータコピーすればよい

751 :NAME IS NULL:2011/03/17(木) 19:40:13.03 ID:???
>>749
http://msdn.microsoft.com/ja-jp/library/ms178071.aspx

752 :NAME IS NULL:2011/03/17(木) 20:46:04.23 ID:???
ありがとう、試してみます

753 :NAME IS NULL:2011/03/17(木) 22:19:15.72 ID:???
数十万ってことは100万はないってことか?
テーブルいじれないってことはインデックス追加もできないんだろ
どっちでも大差無い気がするぜ

754 :NAME IS NULL:2011/03/23(水) 02:01:16.31 ID:tEHsIovK
SQL Server2005 Express で、通常
クライアントで入力→サーバーにINSERT
としている処理を
サーバーダウンしている間だけ
サーバーダウン→ノートPCで入力(バッテリ駆動)→サーバー復帰→サーバーにINSERT
とする良い方法はないでしょうか?
計画停電の影響です

SQL Server の機能で実現できれば良いのですが Express では無理ですかね
いまはアプリ側に独自処理を実装する方法を検討中です

755 :NAME IS NULL:2011/03/23(水) 10:07:32.88 ID:???
>>754
ようわからんけど、
ノートPCに SQL Server2005 Express  をインストールして ノートPCに
データ保存すればいいでないかい?
後の話は、サーバー復旧してから考えろ。
入力するのにリアルタイムでサーバ参照する必要があるなら難しいだろうけど

756 :NAME IS NULL:2011/03/23(水) 13:03:49.38 ID:???
>>755
レスありがとうございます
おっしゃる通り、ノートPCで SQL Server2005 Express をローカルDBとして持つ予定です
またマスター系もローカルDBに持つ予定なので都度サーバー参照は行いません

1〜2回の限定的な停電であれば、提案して頂いた運用で良いんですが
計画停電が続く間、週に数回この運用を行わなければならないので悩んでいます
ニュースでは最低でも今夏は計画停電が行われるとの事で、数ヶ月は想定しています

757 :NAME IS NULL:2011/03/27(日) 16:27:49.28 ID:???
当初、追加データのみをXMLで記録、復帰後サーバーにインサートする予定でしたが
最終的に、トリガーで追加・変更行を記録、復帰後に記録データでサーバー更新
という処理にしました
EXPRESSでも、ミラーリングが使えれば良かったんですけどね

758 :NAME IS NULL:2011/03/28(月) 00:24:19.53 ID:???
EXPRESSでもレプリケーションの子にはなれたと思う
まあ親としてEXPRESSじゃないSQL SERVERいるけど

759 :NAME IS NULL:2011/03/28(月) 02:04:28.80 ID:???
レプリケーションも Standard 以上だと思ってたら Workgroup 以上で使えたんですね
3年後のXP終了バージョンアップの時は DB を Workgroup 以上にしておきます
Workgroup のライセンス料なら顧客にも納得してもらえると思います
さすがに3年後は計画停電は解消していると思いますが…今回の様に何が起こるか分かりませんからね

760 :NAME IS NULL:2011/03/28(月) 18:20:47.01 ID:???
トランザクションを張らずにinsertを1000回するのと、
トランザクションを張って1000回insertしてからcommitするのと
どっちが速いですか?

761 :NAME IS NULL:2011/03/28(月) 19:46:54.16 ID:???
やってみれ。

762 :NAME IS NULL:2011/03/28(月) 22:14:48.89 ID:???
結構差があるんですね。

763 :NAME IS NULL:2011/03/29(火) 00:02:33.94 ID:MUdYkG4X
>>762
どうだった?
1000回やってからコミットしたほうが速いんですよね?

764 :NAME IS NULL:2011/03/29(火) 09:19:39.13 ID:???
DB板で聞いてみれば?


765 :NAME IS NULL:2011/03/29(火) 21:26:36.51 ID:???
>>763
わんくまの誰かが実行速度試してたけど個々にcommitするより一気にするほうが速かったよ。

766 :NAME IS NULL:2011/03/29(火) 21:27:36.41 ID:???
当たり前だろ。

767 :NAME IS NULL:2011/03/29(火) 22:34:50.33 ID:???
じゃあ答えてやれよw

768 :NAME IS NULL:2011/03/29(火) 22:38:00.37 ID:???
そうか。それには気づかなかった。

769 :NAME IS NULL:2011/03/30(水) 01:30:16.95 ID:???
トランザクションログが磁気テープにある場合はその限りではない

770 :NAME IS NULL:2011/03/30(水) 01:36:00.34 ID:???
それでも同じじゃない?


771 :NAME IS NULL:2011/03/30(水) 07:29:23.27 ID:8JKcxO+l
>>769
そんなシステム、今時ないと思う…

772 :NAME IS NULL:2011/03/30(水) 10:26:31.11 ID:???
ネタだろ普通に

773 :NAME IS NULL:2011/03/30(水) 10:35:47.38 ID:???
バックアップはまだ磁気テープ使ってるだろ。

774 :NAME IS NULL:2011/03/30(水) 11:59:15.31 ID:xLdSoiyB
助けてください!

SQL Server 2000 を利用しているのですが、データベースが壊れたのか、
Enterprise Manager で見ると、データベース名の所が、灰色になり"(未確認)"と
なってしまいました。
中身を見ると"(アイテム無し)"と表示されます。

復旧を試みようと思うのですがデタッチからうまく行かず、既存のデータベース情報も
削除できない状況です。

デタッチをしてみようと思っても、以下メッセージが出て出来ません。
> タイトル:Microsoft SQL-DMO (ODBC SQLState: 42000)
> エラー 15010: データベース 'DB名' は存在しません。sp_helpdb を使用して、
> 使用できるデータベースを表示してください。

削除しようとすると以下のメッセージが出てきます。
> タイトル:Microsoft SQL-DMO (ODBC SQLState: 42S02)
> エラー 3701: データベース 'DB名' がシステム カタログに存在しないので、
> 削除 できません。

復旧する手立てを教えてもらえたらと思います。

775 :774:2011/03/30(水) 18:47:06.57 ID:???
何度か、SQL Serverのサービスを再起動させたり、Enterprise Managerを停止、接続を繰り返したりをしているうちに
該当のDBが削除されました。
(削除されたというより消えた?)

その後は、アタッチする事が出来る様になりましたので、そのまま復旧です。

やー、焦った。。

776 :NAME IS NULL:2011/03/30(水) 18:50:02.94 ID:???
つまんね

777 :NAME IS NULL:2011/03/30(水) 18:56:30.04 ID:???
なにこいつ

778 :NAME IS NULL:2011/04/04(月) 16:42:02.44 ID:???
いまだ!777ヌルヌルマンコォォォォ!!! 
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄    (´´
                  ∧∧       (´⌒(´
            ⊂(゚ー゚*)≡≡≡(´⌒;;;≡≡≡
        ⊆⊂´ ̄ ⊂ソ  (´⌒(´⌒;;
           ̄ ̄ ̄   ズザーーーーーッ

779 :NAME IS NULL:2011/04/04(月) 19:28:11.14 ID:???
ジャリジャリしてそうな音がしているが、大丈夫か?

780 :709:2011/04/06(水) 19:02:01.52 ID:???
以前お世話になった>>709です。
その節はありがとうございました。
そこで新たにくだらない質問ですがいいでしょうか。

SQLServer2005Expressを立てたXP端末(以前お話した例のヤツです)のDBを
今回買ったWindowsServer2008R2のSQLServer2008Expressにコピーしたいのですが上手くいきません。

ネットワーク上でXP端末の2005のインスタンスを見つけ、そこからウィザードでインポートしたのですが
ビューがテーブルの所に入ってきてしまったり、列の型が勝手に変わってキャストエラーが出たりで
わけが判りません。

XPのDBをデタッチしてmdfをコピー。その後WindowsServer2008にアタッチするのが正規の方法なのでしょうか?
今、XPのDBは稼働中なのでデタッチは出来る限りしたくありません。

どなたかいい案かサイトをご存知でしたらご教示願います。

781 :NAME IS NULL:2011/04/06(水) 19:25:32.93 ID:vjm8sWD5
>>780
Expressでバックアップとって、2008で復元とかではダメですか。

782 :NAME IS NULL:2011/04/06(水) 19:31:03.46 ID:???
>>781
拡張子.bakファイルですよね?
それもやってはみたのですが上手くいかなくて・・・とういかどうやったらいいのか解りません。

よかったら教えていただけませんか?

783 :NAME IS NULL:2011/04/06(水) 19:49:44.88 ID:???
mdfファイルとldfファイルをコピペしてアタッチするだけでできないか?

784 :NAME IS NULL:2011/04/06(水) 19:53:36.86 ID:???
>>783
mdfファイルってデタッチしないとコピーできませんよね?

というか私は出来ませんでした・・・

785 :NAME IS NULL:2011/04/06(水) 20:02:11.01 ID:vjm8sWD5
>>782
何がうまくいかなかったのかわかりません。
ttp://technet.microsoft.com/ja-jp/sqlserver/cc721623
の移行でも参考にしてはどうでしょうか。

786 :NAME IS NULL:2011/04/06(水) 20:14:01.45 ID:???
サービスも止めれないのにExpressで運用してて、
しかも止めずに移行したいっていうのか。

787 :NAME IS NULL:2011/04/06(水) 20:18:45.08 ID:???
>>785
ありがとうございます!参考にします。

>>786
やっぱり
> XPのDBをデタッチしてmdfをコピー。その後WindowsServer2008にアタッチするのが正規の方法なのでしょうか?
が正規なのでしょうか。
> サービスも止めれないのにExpressで運用して
。。。すみません。自分用に作ったDBがいつの間にか基幹になるほど肥大してしまいまして。。。
素人が調子に乗った結果です。。

788 :780:2011/04/07(木) 20:00:48.20 ID:???
本日.bakファイルにて復元しました所、成功しました!!
みなさんありがとうございました。

そこでもう一つくだらない質問ですが2008ExpressのDBサイズ10G縛りですが
これって.mdfファイルの大きさが10Gまでという認識で間違っていませんか?

お願いします。

789 :NAME IS NULL:2011/04/07(木) 22:17:28.99 ID:???
10GBって相当でかいよな。ふつうに。
そのデータが飛んだときのことを考えると、Expressでやってて良いのかどうか。

790 :NAME IS NULL:2011/04/12(火) 16:58:21.13 ID:???
みなさんTimeが立って使います?
使う場合どんな使い道ですか?

791 :NAME IS NULL:2011/04/12(火) 17:00:01.78 ID:???
うぉぉ・・・誤字

time型て使います?
使う場合どんな使い道ですか?

今一歩使い道が見えません・・・


792 :NAME IS NULL:2011/04/12(火) 19:41:38.51 ID:???
時間を条件に抽出したいが、キャストするコストが惜しい場合とか?でもインデックス張ればよさそうだし。
datetimeかdatetime2でいいんじゃない?

793 :NAME IS NULL:2011/04/14(木) 09:30:37.98 ID:???
>>789
データの堅牢性に、SQLのバージョン関係ないだろw

794 :NAME IS NULL:2011/04/14(木) 11:01:19.34 ID:???
大いに関係あるだろ

795 :NAME IS NULL:2011/04/14(木) 11:05:03.72 ID:???
エンジンは変わらないんじゃないのか?
何か機能制限はされているのかも知れないが。

運用ツール側の制限の方が関係ありそう。

796 :NAME IS NULL:2011/04/14(木) 13:46:46.66 ID:???
エンジンは一緒だから堅牢性は問題ないけど

> そのデータが飛んだときのことを考えると、Expressでやってて良いのかどうか。
これは運用面でExpressが心配って事でしょ
そりゃエディションによってデータが飛びやすいとかは無いよ

797 :NAME IS NULL:2011/04/14(木) 14:18:56.65 ID:???
つ 復旧モデル

798 :NAME IS NULL:2011/04/15(金) 00:35:13.88 ID:???
compactスレってないのな
需要ほとんどなさそうだけど

799 :NAME IS NULL:2011/04/15(金) 02:16:04.97 ID:auwxOD0d
>>798
ユーザーがどれくらいいるのかね
用途的にWinユーザーはmdb慣れてるし
他OSユーザーはSQLite使うし
SSMSEのインストール極悪だし


800 :NAME IS NULL:2011/04/15(金) 02:25:07.07 ID:???
今のバージョンはVisualStudioのIDEで扱うもんだと思う

801 :NAME IS NULL:2011/04/15(金) 09:53:00.23 ID:???
ネットワーク経由で繋げたらMDB余裕で捨てるわ

802 :NAME IS NULL:2011/04/15(金) 11:08:57.30 ID:???
昔開発していたけど、今は使う側。

SQL-ServerをDBとするVBの社内アプリで、ログイン時にID,PASS入れるんだけど
既にsaのパスワードが割れている場合、セキュリティもクソもないよな?




803 :NAME IS NULL:2011/04/15(金) 11:17:50.71 ID:???
sa無効にしてしまうとか
社内クラサバ系は基本Windows認証だよね?


804 :NAME IS NULL:2011/04/15(金) 21:10:23.53 ID:???
saなら何でもできちゃうからねぇ。

805 :NAME IS NULL:2011/04/19(火) 00:48:23.35 ID:???
うちは一つのパソコンを数人で使いまわすとこもあるのでSQLServer認証。
DBのログも全部保管して、誰がいつログインしてどんなクエリを投げたか
わかるようにしてる。

そもそもなぜsaのパスワードばれたし。さっさとパスワード変えろ

806 :NAME IS NULL:2011/04/19(火) 14:55:17.29 ID:???
たしって何やねん

807 :NAME IS NULL:2011/04/22(金) 20:24:15.02 ID:vSCe3VDi
SQL Server2000でのインデックス管理についてです。

インデックス管理で新規追加する時に、インデックを付けるフィールドにチェックを付けると思いますが、
こちら、各フィールド毎に新規作成するのと、纏めてチェックするのでは違いがあるのでしょうか?

違いがある場合、それはどのような意味合いになるのでしょうか?

808 :NAME IS NULL:2011/04/22(金) 22:37:51.88 ID:???
おまえは何を言ってるんだ

809 :NAME IS NULL:2011/04/23(土) 00:00:36.74 ID:???
>>807
新人さん?インデックスは用途によってフィールドとか順序とか考えるもんだぜ

複合インデックス参照
http://itpro.nikkeibp.co.jp/article/COLUMN/20060302/231519/

810 :NAME IS NULL:2011/04/25(月) 12:40:41.63 ID:3QaeGquW
どなたか教えてください。

SQLSERVER2000 の インポートおよびエクスポート ウィザード 
にあった SQL SERVER データベース間の オブジェクトのコピー
というのが、最近始めた SQLServer2008R2 のそれには
なくなってしまっているようです。

単純に、同SQLSERVER内で、主キーも含めたテーブル
またはストアドなど、オブジェクトの全コピーを
行いたいのですが、どのようにすれば良いのでしょうか?

宜しくお願いします。

811 :NAME IS NULL:2011/04/25(月) 19:22:57.45 ID:0NF4ycIs
>>810
スクリプトの作成・・・みたいなところからCREATE文作成ではだめでしょうか?

812 :NAME IS NULL:2011/04/26(火) 18:34:46.28 ID:???
質問です。
Accessのリレーションシップにおける「参照整合性」、「フィールドの連鎖更新」などの項目が
SQLServer2008 Management Studio上ではないように思えるのですが設定箇所が別にあるのでしょうか?

813 :NAME IS NULL:2011/04/27(水) 02:06:29.43 ID:???
質問です。

非sysadminユーザにて、xp_cmdshellを実行させたいのですが、うまくいきません
何かアドバイス頂けないでしょうか

やったこと
-------------------------------------------------------------------------
--xp_cmdshellの有効化
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
GO

--※この時点でsysadminユーザがxp_cmdshellを実行できることを確認しました。
--確認クエリ exec xp_cmdshell 'whoami'

--publicへxp_cmdshellの実行権限を追加
use [master]
grant EXECUTE ON xp_cmdshell to public

--sp_xp_cmdshell_proxy_accountを実行
exec sp_xp_cmdshell_proxy_account 'client-pc\DB_PROXY_USER' , 'TEST'
--------------------------------------------------------------------------

ここまでのコマンドで、WindowsVistaではsysadmin以外のユーザでも
xp_cmdshellが使用できるようになったのですが、Windows7ではうまくいきません。。。

現象としては、
クエリ「exec xp_cmdshell 'whoami'」を発行すると、応答が帰ってこない、
実行の取り消しボタンを押しても無反応、タブから「閉じる」を行い、強制的に停止させないと
いつまでも実行中の状態になる。
です。

Vista(sa、非sa両方)では、すぐに結果が帰り、win7(sa)でもすぐに結果が帰ります。
しかし、win7(非sa)では実行中の状態がいつまでも続きます。

Vistaで問題なく動作し、7で応答が帰ってこないというのには何か理由があるのでしょうか?
よろしくお願いします

814 :NAME IS NULL:2011/04/27(水) 02:37:06.11 ID:???
>>812
よく探せ

815 :NAME IS NULL:2011/04/27(水) 07:24:49.82 ID:4h/fk8k0
>>813
Management Studioがわるいのか切り分けのためにコマンドから実行して問題が発生するかどうか試してはどうでしょうか。

sqlcmdコマンドです。

816 :813:2011/04/27(水) 16:25:52.01 ID:LuVFZ08f
>>815
返答ありがとうございます
つい先程sqlcmdからの動作確認を行いました
携帯からなので簡潔に報告しますが
結果はsaユーザは問題なくクエリを実行出来、リダイレクト先に結果が格納されました
非saユーザは実行中の状態で応答が帰って来ず、マネジメントスタジオと同じ結果となりました
よって、マネジメントスタジオの障害ではなさそうです
他にも何かアドバイス等ありましたらよろしくお願いします

追記
書き忘れていましたがsqlserverは2008R2です


817 :NAME IS NULL:2011/04/27(水) 17:20:37.76 ID:4/8QBVdB
教えてくだされ。

SQL Server 2005 (x86)を動かしてたPCがお亡くなりになってしまいました。
HDDは生きていたのでMDFとLDFはコピーできましたが、新しいPCに入れる
SQL Serverのバージョンを迷ってます。

SQL Server 2008でも復元できますか?
SQL Server 2005(x64)でも可能ですかね?

818 :NAME IS NULL:2011/04/27(水) 17:34:14.19 ID:???
>>817
2005のデータを2008で復元したことはある。
R2とかx64は知らんけど、2005同士でできない理由は無いと思う。

819 :NAME IS NULL:2011/04/27(水) 18:35:33.18 ID:???
>>816
とりあえず
DB_PROXY_USERでログインしてコマンドプロンプトから該当のコマンド実行する
UAC切ってAdministratorで実行する
とか試してみたら

820 :NAME IS NULL:2011/04/27(水) 19:34:56.93 ID:???
>>817

2000(32bit) のデータを 2008R2(64bit)にアタッチで復元
できたので出来ないとおかしい

821 :NAME IS NULL:2011/04/27(水) 21:48:30.46 ID:???

>>819
返信ありがとうございます

>>DB_PROXY_USERでログインしてコマンドプロンプトから該当のコマンド実行する
こちらについては実施済みで、DOSからのコマンド[whoami]は問題なく実行されました
同時に、DB_PROXY_USERでログイン中に、Management Studioからxp_cmdshellの実行も試しましたが、
現象は改善されませんでした。

なお、UACを切り、DB_PROXY_USERの所属グループにAdministratorを追加しても同様に駄目でした。

他に確認事項などありませんでしょうか

822 :NAME IS NULL:2011/04/28(木) 00:08:29.61 ID:???
|| sysadmin 固定サーバー ロールのメンバー以外のユーザーが xp_cmdshell を呼び出した場合は、
|| ##xp_cmdshell_proxy_account## という資格情報に格納されているアカウント名とパスワードによって、
|| Windows への接続が行われます。このプロキシ資格情報が存在しない場合、xp_cmdshell は失敗します。

この辺の話かなぁ。とりあえず、whoami以外のコマンドではどうなるのか、とか試してみた?

823 :813:2011/04/28(木) 00:52:45.23 ID:???
>>822
はい、「whoami」「dir」「hostname」「echo test」のコマンドを試しましたが、どれも同じ反応(win7@非saでは応答が帰ってこない)でした。

vistaでは問題なく実行できたということは、
win7ではプロキシ資格情報を取得する際に何か弊害があるのかもしれませんね。
なかなか情報を見つけられずに苦戦しております。

ちなみに−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
「exec sp_xp_cmdshell_proxy_account NULL」を実行して権限を削除すると、
「xp_cmdshell プロキシ アカウント情報を取得できないか、または無効です。
'##xp_cmdshell_proxy_account##' 資格情報が存在していること、
および有効な情報が含まれていることを確認してください。」
とエラーメッセージがすぐに帰ってきます。

notepadのようなGUIを持ったアプリケーションを起動すると、同じような現象が発生するようですが、
こちらはGUIではなく、CUIのコマンドのため、関係性は薄そうです。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

なかなか答えにたどり着けない・・・

824 :NAME IS NULL:2011/04/28(木) 00:57:16.37 ID:???
うーん。なんだろね?
そもそも、SQL Server認証で使うべきもんじゃなさげ、って言ってしまうと身も蓋もないけど。

825 :817:2011/04/28(木) 01:07:39.75 ID:???
>>818
>>820
返事が遅くなってすまんです。
2008でも復元できるなら、新しい方が良いのかな。
とりあえず2008を入れてやってみます。
ありがとうございました。

826 :NAME IS NULL:2011/04/28(木) 03:29:12.88 ID:???
2000に比べて2008(R2)の外部結合が異常に遅いのですが、パッチで直るなどの話題はないでしょうか?

827 :NAME IS NULL:2011/04/28(木) 06:01:25.69 ID:???
>>826
前提も無ければ異常ってのがどの程度の話なのかもわからんので答えの出しようがありませんが、
単純に同じハードウェア上で動かした場合、2000よりも2008の方が重いのは確かです。

828 :NAME IS NULL:2011/04/28(木) 07:59:39.91 ID:???
やったことありますが、できましたよ

829 :NAME IS NULL:2011/04/28(木) 10:23:21.95 ID:???
>>814
レス遅くなり申し訳ありません。
探してみたのですがやはり見つかりません

現状起きている問題が
親テーブルでレコードが追加された場合、子テーブルにも親と同一キーのレコードを追加するという流れなのですが、
MDB→MDBで動作していたのが、MDB→SQLServerに移行してから動かない状態です。

830 :NAME IS NULL:2011/04/28(木) 13:24:42.55 ID:???
>>823
資格情報の取得に失敗してるんじゃなくて、コマンドの実行で
なんらかのエラーか待ち状態になってるんじゃないかと思うんだが
このパターンで多いのはUACなんだが切ってもだめだったんだよな
>DB_PROXY_USERの所属グループにAdministratorを追加しても
Administratorsグループに該当ユーザを入れたんだよな?
バッチジョブとしてログオンする権限ないとはねられたりするけど
Administratorsなら普通は許可されてるはずだが

831 :NAME IS NULL:2011/04/28(木) 16:56:25.58 ID:???
直接は関係ないけど、xpで動かしてたアプリをwin7に移植したときに
特定のapi呼び出しで反応が返ってこない時があった。
それもUACが原因だった。エラーを返さず、処理も返さない、最悪の仕様だ。

832 :NAME IS NULL:2011/04/28(木) 16:58:05.31 ID:???
移植失敗してるじゃん

833 :NAME IS NULL:2011/04/28(木) 20:32:11.36 ID:ksHYGoyV
>>823
うちの環境(Windows7 64ビット Express2008 UAC無効)で試した

まずsp_xp_cmdshell_proxy_accountが失敗する。原因不明
そこで
create credential で 直接 ##xp_cmdshell_proxy_account## を作成

その状態でexec xp_cmdshell 'whoami'を実行
エラー コード '1385' で失敗しました。とすぐにエラーが帰る

該当OSユーザをAdministratorsに追加すると成功する

エラー出さないのはやっぱりコマンドが待ち状態なんじゃね

834 :NAME IS NULL:2011/04/28(木) 20:47:25.28 ID:???
カラム名の命名規則ってどうするのが一般的なのかね。
毎回悩んでハゲそう。

835 :NAME IS NULL:2011/04/28(木) 20:59:29.09 ID:???
昔からの癖で
・英数半角8文字以内
・先頭1文字でカラム型
・続く3文字でTABLE名略称
・残った4文字(あるいは3文字+連番)で項目名
でやってるが困ったことは一度もない(キリッ

正直命名規則よりER図なり項目表なりを如何にメンテするかが重要だと思われ。

836 :NAME IS NULL:2011/04/28(木) 22:12:01.32 ID:???
>>830
>>833
返信ありがとうございます

こちらではsp_xp_cmdshell_proxy_accountは問題なく実行できます
Expressのバグでしょうか

皆様からご意見を頂きましたが、どうにも解決できそうな気がしないです。

今日、上司に相談し、MSに質問メールを投げることに決定しました。
(とはいえ、私自身は異動ですが・・・)

ご意見ありがとうございました。

837 :NAME IS NULL:2011/04/29(金) 00:50:13.37 ID:???
>>835
>残った4文字(あるいは3文字+連番)で項目名
コボラー発見!!

838 :NAME IS NULL:2011/04/29(金) 06:38:45.96 ID:???
日本語カラム名にして、ダイヤグラム作っとけばER図も項目表もメンテしなくていいのに

839 :NAME IS NULL:2011/04/29(金) 08:25:36.36 ID:???
>>838
日本語
SQLが打ちにくい、英数が出て来たとき全角は結構違和感ある
前「名称_1」みたいに全半混在なやつをメンテしたときは面倒臭かった

コボルまで行かなくてもシステムごとに通用する1?4文字程度の略語を使って
項目名の長さを揃えるのが一番楽な気がする


840 :NAME IS NULL:2011/04/29(金) 09:28:12.02 ID:???
>>827
2000は32bit、2008R2は64bitで別マシンですが、WHEREや内部結合は2008R2の方が微妙に速い程度のスペック差です。
なのに、外部結合だけ2倍ぐらい時間かかるようです。

>>838
賛成。
英名でもタイピングミス怖いのでコピペするし、そもそもExcelのブロックコピペ駆使して高速大量コーディングするし、
タイピングのし易さ関係ないです。
それより、数百や数千項目の英名考えるのに何日かかるんですかとか、
「英名和名対応表」なる大量資料作って、本当に必要なI/O定義が一切ない業者がいたりするのが気になります。
「英名和名対応表」の分、工数的にもスキル的にも欧米より損してるんじゃないですかと。

841 :NAME IS NULL:2011/04/29(金) 09:28:16.68 ID:???
システム的なフィールドは英数字
それ以外は漢字( ×入り数  ○入数 のようにカナは外して)

842 :NAME IS NULL:2011/04/29(金) 17:38:50.70 ID:???
このあたりは項目名の文字コードではまった経験があるかどうかで意見分かれるなw

843 :NAME IS NULL:2011/04/29(金) 18:49:10.64 ID:???
なるほど、参考になるわ。

昔、Accessのカラム名やVBの変数名が日本語になってるのを見て、
「文字コード気にしないの?怖すぎる!」って言ったら、
同僚の反応は「いつの時代の話だよ?今は全然問題ないっす」だった。

844 :NAME IS NULL:2011/04/29(金) 20:38:58.32 ID:???
項目名の2バイトでは苦しんだことはないが、格納データの2バイトでは相当苦めらるた。
長音が数字として扱われたり、並び替えが仕様とは違っていたり。

845 :NAME IS NULL:2011/04/29(金) 22:28:41.97 ID:???
SQL Serverで項目名の文字コードではまったやつなんているのか?
いたら具体例を聞いてみたい

846 :NAME IS NULL:2011/04/29(金) 22:30:42.23 ID:???
わしももう日本語にしてる。2008だけど。だって扱う業務の対象が日本語なんだもん。
ルールはアスキー文字は全て半角にすること。JIS第一第二水準文字だけ使うこと。
あと2000のころは日本語フィールドはVisualStudioで自動コード生成したら、
ぐちゃぐちゃだった。

847 :NAME IS NULL:2011/04/30(土) 02:49:58.36 ID:???
>>846
項目名で全角のスラッシュを見たことある。トラップすぎる

Oracleから来ると
SQL Serverはソート順とか大文字小文字同一視とかではまることが多い


848 :NAME IS NULL:2011/04/30(土) 10:17:52.88 ID:???
MSの日本ローカライズ担当がアホなだけですよ。

849 :NAME IS NULL:2011/04/30(土) 10:34:59.37 ID:???
そういうことじゃないだろ・・・

850 :NAME IS NULL:2011/04/30(土) 11:06:40.59 ID:???
世界中阿保ばっかりだわっ!

851 :NAME IS NULL:2011/04/30(土) 12:02:09.22 ID:???
テーブル名にピリオドとかスラッシュとか使われててビックリしのは良い思い出

852 :NAME IS NULL:2011/04/30(土) 12:29:18.80 ID:???
>>851
括弧使ったやつコロ助

853 :NAME IS NULL:2011/04/30(土) 17:09:15.57 ID:???
ngいまくってるケースは見たなあ

854 :675:2011/05/09(月) 08:10:22.98 ID:???
全角半角スペースが混じってる時は殺意を覚えたw

855 :NAME IS NULL:2011/05/09(月) 08:10:50.17 ID:???
どこの675だよw

856 :NAME IS NULL:2011/05/20(金) 11:45:58.59 ID:???
READPAST の動作を確認するために
別プロセスでトランザクションを開始し、適当な行を1行更新かけた状態で
Commit も Rollback もせずに放置させて

select count(*) from [テーブル] with (nolock)
select count(*) from [テーブル] with (readpast)

この差がロックされた行だと思いました。

nolock のほうは即座に行数が出てくるのですが、
readpast を書いた側がタイムアウトしちゃいます。

なんででしょ
ロック行を読み飛ばすんじゃなかったでしたっけ?

857 :NAME IS NULL:2011/05/20(金) 11:49:13.95 ID:???
ちなみに

select * from [テーブル] with (readpast) where [更新かけた行を特定する条件]

は即座に戻ってきます。(0レコードで)

858 :NAME IS NULL:2011/05/20(金) 11:50:56.73 ID:???
>>419-423 が関係しそうでしした。すみません

859 :NAME IS NULL:2011/05/20(金) 12:05:49.45 ID:???
READ COMMITTED では、なぜだかタイムアウト
REPEATABLE READ だと成功

READPAST は READ COMMITTED でも効くはずでしたよね・・・?

860 :NAME IS NULL:2011/05/21(土) 00:39:40.09 ID:???
少なくともうちの 2008 Developer Edition では期待通り動いてる

861 :NAME IS NULL:2011/05/22(日) 01:26:34.28 ID:???
SQLSERVERは仕様として明記されてないロック動作が多いからなぁ。

862 :NAME IS NULL:2011/05/24(火) 22:32:24.37 ID:1fhwQ9aF
sql server 2008 express r2 ですが
現在のシーケンス番号って取得できないの?

postgresqlでいうcurrvalのようになんだけど。

863 :NAME IS NULL:2011/05/24(火) 22:40:49.23 ID:9dtiO0L7
MAXじゃだめなの?

SELECT MAX(NO) FROM TABLEとか

864 :NAME IS NULL:2011/05/25(水) 04:05:52.53 ID:???
IDENT_CURRENT

865 :NAME IS NULL:2011/05/25(水) 20:40:34.73 ID:???
>>863
MAXとは違う場合があるから

866 :862:2011/05/25(水) 22:07:07.31 ID:???
>>864
d

867 :NAME IS NULL:2011/05/25(水) 23:58:25.13 ID:???
初めまして。

Microsoft SQL Server 2005 Express Edition Service Pack 4 (KB2463332)
をインストールしようとすると、
「エラーコード6d9e」と出て、インストールが出来ません。
ttp://windows.microsoft.com/ja-JP/windows-vista/Windows-Update-error-6D9E
↑のようなページは見つけたのですが、
リンク先に書いてある、別のフォルダを指定する方法が分かりません。

スレ違いかもしれませんが、もし分かる方がいらっしゃったら教えて頂けないでしょうか?

868 :NAME IS NULL:2011/05/26(木) 00:05:26.03 ID:???
インストール先の環境は極秘事項?

869 :NAME IS NULL:2011/05/26(木) 06:20:37.16 ID:???
圧縮するな

870 :NAME IS NULL:2011/05/26(木) 08:37:31.32 ID:???
>>867
リンク先の
>詳細な技術情報については、MSDN ブログの
>「SQL Server 2005 と 2008 セットアップ エラー (圧縮された DATA ディレクトリ)」
>を参照してください。
を見ましたか?

871 :NAME IS NULL:2011/05/27(金) 20:56:07.02 ID:???
トランザクション処理が施されたストアドを VB.NET から呼び出して使いたいのですが、
VB.NET でもトランザクション張ってるため、ストアドの中で ROLLBACK するとエラーになってしまいます。

http://techbank.jp/Community/blogs/poohkid/archive/2009/12/09/23075.aspx

を参考にしようと思いましたが
ストアド側でトランザクションがネストされていたときは、ROLLBACK したいときでもストアド的には COMMIT にして
外側(VB.NET)で ROLLBACK かける、という風に解釈しました。

SqlTran = SqlConn.BeginTransaction

SqlCommand1.Transaction = SqlTran
SqlCommand1.ExecuteNonQuery

SqlCommand2.Transaction = SqlTran
SqlCommand2.ExecuteNonQuery

SqlCommand3.Transaction = SqlTran
SqlCommand3.ExecuteNonQuery

SqlTran.Commit / SqlTran.Rollback


という風なのだろうと思いますが、これだと、SqlCommand1〜3 すべてがワンセットのトランザクションになってしまいます。
SqlCommand2 で実行されるストアドの中で Rollback したいことが発生した場合に
SqlCommand1 と SqlCommand3 の分だけはコミット、ってことができないように思いますが
私の理解が間違えてますでしょうか?




872 :NAME IS NULL:2011/05/28(土) 03:34:17.60 ID:???
SqlCommand1-3が同一のトランザクションでセーブポイントもないのに
そのうちの一部だけコミットとかロールバックとかあり得ない


873 :NAME IS NULL:2011/05/28(土) 07:27:14.06 ID:???
質問です。
下記のようなエラーが出てDBにアクセスできません。

  System.Web.HttpException: SQL Server データベースに接続できません。
  ---> System.Data.SqlClient.SqlException:
  サーバーへの接続を確立しているときにエラーが発生しました。
  SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、
  SQL Server の既定の設定がリモート接続を許可しないようになっていることが
  エラーの原因である可能性があります。

VisualStudioのサーバーエクスプローラーからはDBの中身が見れるのですが
プログラムからSqlConnectionなどでつなげようとするとまったくDBにつながりません
色々検索して調べてリモート接続を有効にしたりポート1433がどうとかまで設定してみたりしたのですが
まったく繋がる気配はありません

なにかこれをやれば・・・的なチェック項目とかないでしょうか?
プログラムで使ってる接続文字列はソリューションエクスプローラーでDBを選択したときに
プロパティ画面に表示されるものを使用しています。

874 :NAME IS NULL:2011/05/28(土) 08:57:49.06 ID:???
>>873
>  System.Web.HttpException: SQL Server データベースに接続できません。
そのままググっただけでも何十件もの情報がでてくる。
どれに当てはまるかは、あなたしだい。

875 :NAME IS NULL:2011/05/28(土) 16:29:42.68 ID:???
>>874
全部ダメでしたってのが今の状態なわけですw

876 :NAME IS NULL:2011/05/28(土) 16:32:27.58 ID:???
じゃ。無理。あきらめろ。

877 :NAME IS NULL:2011/05/28(土) 17:17:41.65 ID:???
>>876
マジでそんな選択しかないのですか?w
せめて、現在の状態(あと、何をやる必要がある等)を確認する手段などないのでしょうか?

878 :NAME IS NULL:2011/05/28(土) 17:31:31.05 ID:???
リモートかどうか、プロトコルは何を使ってるか、そんなのも書かないやつに
アドバイスのしようもない。

879 :NAME IS NULL:2011/05/28(土) 18:07:54.59 ID:???
やりたいことはSqlConnection関数使ってデータベースにつなげたいだけなんですよ
入門書にのってるサンプルプログラムを打って動作させたいとかそんなレベルです
できればぶっちゃけなんでもいいんです。

会社ではSqlServer2008Express
家ではSqlServer2005Express
をダウンロードしてきたのですがまったく同じエラーがでます

別にどっかのPCにつなげているわけではなくて1つのPCで作業をしてる状態です
リモートとかプロトコルって設定の話でしょうか?
それともなにか別に確認する項目はあるのでしょうか?
なんかあまりにも複雑で本当に入門書やるのにこの設定が必要なのか?って感じでビビってるんですが・・・

ちなみにVSは会社では2005、家では2010を使っています

880 :NAME IS NULL:2011/05/28(土) 18:16:41.26 ID:???
いやさ、その入門書で作ったクライアントプログラムがTCP:1433で接続しに来てるのか
どうかくらいはわかっててくれよ。あと入門書の手順何かすっ飛ばしてないか?

あと「全部ダメでした」じゃこっちに状況全く伝わらん。何をして、どうダメだったのか。
localhost1台で構築してるって話も今ようやく出てきたわけでな。洗いざらい吐け。
わからんなら出し惜しみするな。必要な情報かどうかはこっちが判断する話だ。


881 :NAME IS NULL:2011/05/28(土) 18:18:19.68 ID:???
それ以前に「プログラム」って具体的に何よ。
VC? C#? VB?

882 :NAME IS NULL:2011/05/28(土) 19:52:25.48 ID:???
ググってでてきたことを全部試してダメだったんだから、根本的なところを疑わないとだめなんじゃない?
SQLServerに見せかけた別のソフト、、があるならググってでてきそうだから、
もしかしたら見ているgoogleが別なのかもしれない

883 :NAME IS NULL:2011/05/28(土) 21:52:50.02 ID:???
Newしてないとか、プログラムのかなり根本的なレベルじゃね?

884 :NAME IS NULL:2011/05/29(日) 01:59:10.58 ID:???
>>873
問題を切り分けろ。
単純にvbsでoledbとかで接続を試してみろ。コードにして数行だ。
それでokなら、お前のプログラムミスだ。

885 :NAME IS NULL:2011/05/29(日) 05:58:09.27 ID:???
単に接続文字列が間違ってるだけな気がするが

とりあえずその入門書のタイトルと
お前が作ったプログラムのソース全部さらせ

886 :NAME IS NULL:2011/05/29(日) 09:04:47.59 ID:???
>プログラムで使ってる接続文字列はソリューションエクスプローラーでDBを選択したときに
>プロパティ画面に表示されるものを使用しています。
そのままコピペしたらだめだったはず。

887 :NAME IS NULL:2011/05/29(日) 10:02:42.15 ID:???
             (^ω^)⊃
         _,,..,,,,_⊂ミ⊃ ) プルルン
        ./ ,' 3 `∩ηっ
        l   ⊃ ⌒_つ
         `'ー---‐'''''


            /⌒ヽ
            ( 人  )
            |  | ボゥッ!!!!!!
            | ノ(|
            |.⌒| (^ω^;)
           _,,..,,,_|  | (つ ⊂)
         / ,' 3 |  |ーっ
         l   ⊃ ⌒_つ
          `'ー---‐'''''"

888 :NAME IS NULL:2011/06/01(水) 21:52:23.52 ID:???
スイマセン、ヒントください

Windows 2008 Server R2/SQL Server 2008の環境で、DTSをコマンド実行してます。
処理自体は動いているのですが、開始・終了がイベントビューアに表示されません。

2003 server

889 :NAME IS NULL:2011/06/01(水) 22:22:22.64 ID:???
2003なのか2008なのか

890 :NAME IS NULL:2011/06/01(水) 22:24:53.93 ID:???
>>889
スイマセン
2008です

891 :NAME IS NULL:2011/06/01(水) 22:34:29.43 ID:???
そもそも、イベントビューアに記録されるんだっけ?

892 :NAME IS NULL:2011/06/01(水) 23:07:33.06 ID:???
OS 2003 Server

893 :NAME IS NULL:2011/06/01(水) 23:09:19.51 ID:???
アンド 記号を入れると、それ以下が来れるんですね^^;

2003 ServerとSQL 2005の組み合わせでは、イベントビューアに表示されています

894 :NAME IS NULL:2011/06/02(木) 04:08:22.76 ID:???
>>888
http://technet.microsoft.com/ja-jp/library/ms345282(v=SQL.100).aspx


895 :NAME IS NULL:2011/06/02(木) 11:36:55.12 ID:???
ユーザー定義型を戻り値とするユーザー定義関数って作れないんでしょうか
create function の書き方がよく分かりません。。


896 :NAME IS NULL:2011/06/02(木) 11:47:39.43 ID:???
あともうひとつ、
ユーザー定義型を引数で受け取るユーザー定義関数を作ったのですけど、
そのユーザー定義関数を呼び出す際に、Empty(行数ゼロ) を渡したいのですが、何かいい方法ないですか。

そのユーザー定義型を declare で変数つくって呼ぶしかないですか?

ユーザー定義型を引数とするユーザー定義関数をビューの中から呼び出したいのですけど

897 :NAME IS NULL:2011/06/03(金) 12:30:06.18 ID:HTJtVMpG
SQL激安。
http://blogs.yahoo.co.jp/akadakovirtue/4188838.html

898 :NAME IS NULL:2011/06/03(金) 12:42:50.72 ID:???
SQLは金出して買うもんじゃないし

899 :NAME IS NULL:2011/06/03(金) 13:02:43.78 ID:???
まあ宣伝乙にマジレスすると、ネットで探したKeygeneratorで生成したプロダクトキー送ってくるだけでしょ。
ぼろ儲けっすねw

900 :NAME IS NULL:2011/06/03(金) 13:08:36.97 ID:???
SQLでキーなんて入れたっけ?

901 :NAME IS NULL:2011/06/03(金) 14:47:39.37 ID:???
>>899
マジレスするのもなんだけど、MSDNのキー売ってるんじゃないの?

902 :NAME IS NULL:2011/06/03(金) 18:19:39.09 ID:???
これは通報したら相当な賠償金が発生するなw

903 :NAME IS NULL:2011/06/04(土) 19:34:50.71 ID:???
blogなくなってんね。
あっさりばれたから?

904 :NAME IS NULL:2011/06/04(土) 21:30:34.62 ID:???
>>902 にびびったんじゃね?

905 :NAME IS NULL:2011/06/04(土) 22:00:01.25 ID:???
魚拓とったから、暇な時にMSに送っておく

906 :NAME IS NULL:2011/06/05(日) 01:39:53.40 ID:???
>>905
どうせならそこのリンク先の、検索したらぼろぼろ情報が出てくる
http://productkey.lovelove.cat/
こっちを連絡した方がいいんでないのかな。
うさんくさいったら。

907 :905:2011/06/05(日) 09:32:36.55 ID:???
やっぱりめんどくさいから止めた

908 :NAME IS NULL:2011/06/05(日) 09:38:16.70 ID:???
代わりに俺が送っておく

909 :NAME IS NULL:2011/06/05(日) 09:41:35.23 ID:???
あかだこもGoogleのキャッシュから突き出す
http://productkey.lovelove.cat/index.html
もそのまま通報する

910 :NAME IS NULL:2011/06/05(日) 15:50:49.44 ID:???
>>900
いわれてみればそうだ。

911 :NAME IS NULL:2011/06/05(日) 23:45:52.44 ID:J7j3ey3A
.net側からSqlCommandを使ってSQL文実行させたいのですが"GO"が入ってると怒られます。
USE db名 Go
の1文でもダメなのですが原因わかる方いらっしゃいますか?


912 :NAME IS NULL:2011/06/05(日) 23:47:17.49 ID:???
go はSQLじゃないから。

913 :NAME IS NULL:2011/06/06(月) 00:03:03.02 ID:???
ヒロミだね

914 :NAME IS NULL:2011/06/06(月) 00:20:29.70 ID:???
Transact SQLだからダメって事なのかな…。

915 :NAME IS NULL:2011/06/06(月) 09:27:20.26 ID:???
業務で使ってる SQL Server で SSD 使ってる人いますか?
データベースミラーリング(別筐体でミラーリングするあれ)を施した上で運用する前提です。

書き込み上限に達して、SSD があぼーんしたとても
別筐体の SQL Server が業務を引き継いでくれれば構いません。

前提)
  ・SSDは消耗品と割り切る
  ・フェールオーバーに伴うセッション断は許容する

データベースサイズが 20GB ほどのデータベース規模のところに適用させたいと思ってます。
どんな具合でしょ?

916 :NAME IS NULL:2011/06/06(月) 10:21:36.19 ID:???
trim対応のSSDと2008R2なら特に問題を感じない、という話は聞いた。
でもDBのファイルスペースの配置とかでコツがあるみたい。教えてくれなかったけど。

917 :NAME IS NULL:2011/06/06(月) 10:44:15.08 ID:???
みんな、そこまでシビアにチューニングすんのか。
脱帽。

918 :NAME IS NULL:2011/06/06(月) 11:56:11.70 ID:???
>>911
接続文字列でDB指定しろよ

919 :NAME IS NULL:2011/06/08(水) 13:26:55.76 ID:???
今、ASP(CLASSIC)+VBS+ADO+SQL2000のシステム担当してるが
SQL2000以上でもADO使えるの?

920 :NAME IS NULL:2011/06/08(水) 13:33:53.95 ID:???
>>919
評価版あるだろ、結果のレポよろしく

921 :NAME IS NULL:2011/06/08(水) 13:42:46.99 ID:???
>>919
2008にExcel2003から繋いでるよ


922 :NAME IS NULL:2011/06/08(水) 14:09:42.68 ID:???
>>921
ODBC定義してADOで?

923 :NAME IS NULL:2011/06/08(水) 14:32:57.07 ID:???
>>922
ADO OLEDBだけどODBCでもいけると思うよ

924 :NAME IS NULL:2011/06/08(水) 15:36:32.53 ID:???
>>923
サンクス。時間できたら評価版拾って試してみる
ただ、評価版インストするPCがないんだよなぁ・・・
さすがにSQL2000入ってる本番サーバーへのインストは無理だし

925 :NAME IS NULL:2011/06/08(水) 16:38:41.22 ID:???
なにその後半のぼやき
どうしたらいいか知りたいわけでもなさそうだからがんばってね

926 :NAME IS NULL:2011/06/08(水) 19:36:59.82 ID:???
サーバーにインストールする必要なんてないけどな。

927 :NAME IS NULL:2011/06/09(木) 13:26:55.57 ID:???
SQLってQRACLE理解できないバカが仕方なしに使うDBだよね?

両方使ってみてSQLがいかに糞かがよ〜くわかったwww

928 :NAME IS NULL:2011/06/09(木) 13:32:39.90 ID:???
よくわかんないけど、SQLが糞なら使わなきゃいいんじゃない?

929 :NAME IS NULL:2011/06/09(木) 14:55:28.92 ID:???
>>927
SQLって略す馬鹿も同レベルだろw
まあ、MSが悪いんだが。

930 :NAME IS NULL:2011/06/09(木) 15:05:55.43 ID:???
LAMP>>>>>>>>>>>>>>>WISA

931 :NAME IS NULL:2011/06/09(木) 19:58:23.57 ID:???
LinuxでもMicrosoftのSQL Serverって動くのけ?

932 :NAME IS NULL:2011/06/09(木) 20:54:16.23 ID:???
>>929
ヒント:Sybase

933 :NAME IS NULL:2011/06/20(月) 17:14:48.74 ID:RhnGwl8S
どなたか教えてください。

SQLServer 2008 をつかっています。
今までXpだと問題なく使えていましたが
Windows7 XpモードとWindows2003ですと
クラスはオートメーションまたは予測したインターフェースをサポートしていません。というエラーが
でます。
MDACかなとおもいますが確信がもてません。

934 :NAME IS NULL:2011/06/20(月) 18:21:51.01 ID:???
頑張ってください。
陰ながら応援しております。

935 :NAME IS NULL:2011/06/20(月) 19:15:37.24 ID:???
>>933
サーバーの話? クライアントの話?
「使えていた」って何の話?
MDACって思った理由は?

936 :NAME IS NULL:2011/06/20(月) 20:32:55.99 ID:???
>>933

釣られてみる

MDACっていっておられるので、クライアント側からサーバーに繋がらないという
現象に見える。

基本 Windows7 も Windows2003 SQL Server につながる MDACは入っていたので、
XP で参照設定していた ADOもしくはDAO の一致するバージョンが Windows7 と Windows2003
に入ってなかったりして.


937 :NAME IS NULL:2011/06/20(月) 20:35:56.66 ID:???
ぜんぜん違う。COMのエラーが出てるんだから、使ってるコンポーネントが
インストールされてるか確認。

せめて、コードくらい晒せよ。

938 :NAME IS NULL:2011/06/21(火) 16:16:43.56 ID:NZSpDwiB
933です。
Windows7 XPモードとwindowsXPではインストールしているTOOLは同一。
もともと、vb6でSQLServerをRDOを使っていたプログラムです。

なお、dbを検索した結果のレコードセットが一件のときは発生しません。
参照設定も同一ですので・・・違いはMDAC程度です。なお、Windows2003でも
同様のエラーが出ています。

939 :NAME IS NULL:2011/06/21(火) 16:22:38.45 ID:???
MDACかたっぱしから入れてみ?

940 :NAME IS NULL:2011/06/21(火) 18:14:19.28 ID:???
>>938

1. rdOpenForwardOnly だったら rdOpenKeySet に変えてみる

2. ADOに変えてみる

941 :NAME IS NULL:2011/06/21(火) 21:08:43.09 ID:???
RDOのランタイムはちゃんと配布してんの?
どのみち、RDOは現在非サポートだからどうしようもないけど。

942 :NAME IS NULL:2011/06/22(水) 10:27:41.33 ID:???
SQL2005鯖の更新を検討中なんです。
2008R2の新機能を使う予定はなく、単にリプレースとなりますが
同じマシンスペックのサーバーに入れた場合、どっちの方が速く動作すると思われますか?

SQL2005 はプロセッサライセンスで買ってるおり
速度の面で効果が見込まなければ 2008R2 のライセンスに100万近く投じる価値なしということで
引き続き SQL2005 を使い続ける予定です。

OS は 2008R2 に上げる予定ですが。

943 :NAME IS NULL:2011/06/22(水) 11:11:09.45 ID:???
>>942
http://www.microsoft.com/japan/windowsserver2008/r2/trial-software.mspx
http://technet.microsoft.com/ja-jp/evalcenter/ee315247


944 :NAME IS NULL:2011/06/22(水) 13:04:04.73 ID:cMP/kGwo
933です。

dOpenKeySetを使っています。
RDOのランタイムは開発TOOL入れてますんで入っています。
ADOは、
10年ほど前のお客さんの環境もおんなじなんで、何かにかこつけて
作りましょうよ・・・で予算をもらいますわ。
Window2008+SQL2005(互換レベル2k)+XP+vb6です。

945 :NAME IS NULL:2011/06/22(水) 15:07:36.45 ID:???
2005ならあと3年は持たせろ

946 :945:2011/06/22(水) 15:08:20.41 ID:???
>>942

947 :NAME IS NULL:2011/06/22(水) 23:15:21.27 ID:IfODt5wb
>>942
圧縮機能で速くなるかもしれないが、CPUを結構使う。
データ次第

948 :NAME IS NULL:2011/06/25(土) 22:11:50.82 ID:???
a

949 :NAME IS NULL:2011/06/30(木) 13:34:21.01 ID:???
レン鯖でバックアップ取りたいと言ったらリンクサーバー使え言われました
リンクサーバーってリンクしてる方は素通しでデータ残らないと思っていましたが違うのでしょうか?


950 :NAME IS NULL:2011/06/30(木) 23:15:06.59 ID:???


951 :NAME IS NULL:2011/07/04(月) 11:33:59.15 ID:???
引数がデータ戻し型(output)のストアドって
最終レコードが取れるまで値を戻さないんだな
何気にイラってくる仕様だが、みんな我慢してるのか

最初に値セットしておけ!って感じなんだが

952 :NAME IS NULL:2011/07/04(月) 13:36:31.92 ID:???


953 :NAME IS NULL:2011/07/06(水) 10:46:56.66 ID:???
おまえは一体何を言ってるんだ?

954 :NAME IS NULL:2011/07/06(水) 12:22:35.79 ID:???
最終レコードが取れるまで値を返さないってのは
SQL Server 側の問題じゃなくて、System.Data.SqlClient.SqlCommand の仕様なのか?

955 :NAME IS NULL:2011/07/06(水) 13:48:13.44 ID:???
SQLの問題。

956 :NAME IS NULL:2011/07/06(水) 14:47:40.17 ID:???
返却されるレコードセットの書式をパラメータによって可変にしたいとき
まずは output パラメータに、これから戻されるレコードセットの種類を先に教えたいんだよな

もっとシンプルなところでレコード件数を先に返しておくとか、
先に select 〜 でoutput パラメータを列挙して、1行のレコードセット返すしかないのかね

957 :NAME IS NULL:2011/07/06(水) 14:58:11.03 ID:???
まずは、とか、最初に、とか、一体何の話なんだと思うが
1回のストアドの呼び出しの話じゃないのかね

958 :NAME IS NULL:2011/07/06(水) 18:00:25.21 ID:???
ストアドの中で

select 〜
select 〜
select 〜

って3つレコードセット返す風にすると
System.Data.SqlClient.SqlDataReader で NextResult を最後まで引っ張って
最後のレコードセットの最後のレコードまで読まないと output パラメータが戻ってこないんだけど

959 :NAME IS NULL:2011/07/06(水) 18:58:02.27 ID:???
つまりSELECTできたものから準々に返せよってこと?

よくわからんけどストアド分けたらだめなん?


てかそれ呼び出し後の処理どうなってんだよ。
準々に返されてもあとの処理どう書くんだ

960 :NAME IS NULL:2011/07/06(水) 19:51:13.68 ID:???
あほうの考えることはよう解らんのう

961 :NAME IS NULL:2011/07/06(水) 22:18:53.40 ID:???
SSRSの話はここでいいのでしょうか
パラメータでデータソース変えられるレポート作っており、ひとまずデータソース変えるのはうまく行きました
問題はここからで、そのレポートはデータソースの選択以外のパラメータもあるのですが
データソースの指定後に他のパラメータを変える度に読み込みが入ってしまいます
この読み込みを何とか防げないでしょうか?
さすがに鬱陶しいです…

962 :NAME IS NULL:2011/07/06(水) 22:19:34.83 ID:???
>>958
検証してないから不確かだけど、それはSqlDataReaderの仕様の問題だと思うが

まあレコードセット三つも返す上にoutput パラメータってどんな設計だとは思うが

963 :NAME IS NULL:2011/07/08(金) 10:47:08.90 ID:???
>>958
当然だ。さっきからおまえは自分で何を言ってるか分かっているのか。

964 :NAME IS NULL:2011/07/08(金) 22:37:49.21 ID:???
ねえねえ
みんな専門学校とか大学とか会社の研修とかでSQL習うの?
グーグル先生とトライアンドエラーでやっとセレクト句は書けるようになったけど

965 :NAME IS NULL:2011/07/08(金) 22:46:14.23 ID:???
文系だから学校で習うかは知らんが、普通に本読んだ後に実務で覚えた。
しかし、セレクト文とかで躓いてるようじゃシスアドも取れないぞ。


966 :NAME IS NULL:2011/07/08(金) 23:24:22.44 ID:???
HELPがあればどうにかなる

967 :NAME IS NULL:2011/07/09(土) 01:11:31.46 ID:???
Oracleのバグとの戦いにHelpなど糞の役にも立たない。

968 :NAME IS NULL:2011/07/09(土) 02:11:28.28 ID:???
>>958
>最後のレコードセットの最後のレコードまで読まないと output パラメータが戻ってこない

SqlDataReaderをCloseすれば別にレコード読まなくても戻ってきますが

969 :NAME IS NULL:2011/07/09(土) 07:33:09.31 ID:???
何故にここでOracle?

970 :NAME IS NULL:2011/07/09(土) 20:10:07.40 ID:???
Oracle 使ってる俺ってすごい?

って言うちんけなアピールだろ。

ちょっとした会社だと普通に使ってるだろうし、
個人でも XE とかあるから、今時自慢にもならないが。

971 :NAME IS NULL:2011/07/09(土) 23:13:27.69 ID:???
オラ、狂う・・

972 :NAME IS NULL:2011/07/10(日) 23:51:29.97 ID:???
ボラクル

973 :NAME IS NULL:2011/07/11(月) 18:29:30.25 ID:???
Management Studio 2008 で、
あるデータベースの、全てのテーブルのデータを、INSERT文として一括でSQLファイルに保存する方法はありますでしょうか?
個々のテーブルのデータをCSVファイルに保存するやり方は見つかったのですが、INSERT文を出力する方法が分かりませんでした。
よろしくお願いいたします。

974 :NAME IS NULL:2011/07/11(月) 19:01:24.79 ID:6LrhJY3M
>>973
データベース選択して右クリック、タスクから、DDLの一括エクスポートだったかな

975 :NAME IS NULL:2011/07/11(月) 19:39:28.47 ID:???
>>974
どうもです
うちのManagement Stuidoは無料版だからか、その選択肢がありませんでした
このサイトに別のやり方書いてあるのを見つけて、うまくいきました
http://d.hatena.ne.jp/seki-moto/20110421/ExportInsert

976 :NAME IS NULL:2011/07/11(月) 19:52:17.77 ID:yxrx500r
>>975
すまそ
おいらが間違えたみたいだ

977 :NAME IS NULL:2011/07/12(火) 21:52:17.38 ID:MGCS7YLo
SQL Server 2008を購入したのですが、COAラベルについてアドバイス願いたいです。
今回、購入品のCOAラベルのセキュリティースレッドに「OUR PASSION」「Microsoft」の印字が確認できないのです。
非正規品の可能性が高いでしょうか?
以前に購入したSQL Server 2008のCOAでは2語の印字が確認できました。
パッケージの完成度は高いです。超微細な文字がCOAに印刷されているのは確認できました。

数カ月前までは、HowToTellのサイトで正規COAラベルが多種類公開されていましたが、公開されなったのでしょうか?
よろしくお願いいたします。

978 :977:2011/07/12(火) 22:02:39.36 ID:MGCS7YLo
SQL Server 2008 R2のパッケージ版です。

979 :977:2011/07/12(火) 22:27:09.78 ID:+wecPeA+
×公開されなったでしょうか?
○公開されなくなったのでしょうか?

980 :NAME IS NULL:2011/07/13(水) 08:44:50.39 ID:???
MicrosoftR SQL ServerR 2008 R2 Service Pack 1
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=b9aa2dba-7f20-4c0c-9afd-1eebee5a94ea&displaylang=ja-nec

981 :NAME IS NULL:2011/07/13(水) 09:59:20.58 ID:???
SPでるほどバグがあったのか。

982 :NAME IS NULL:2011/07/13(水) 15:15:39.25 ID:???
>>981
全部で5点ほどの新機能と80点ほどの修正。
サービスパックで提供してくれるだけまだマシだと思うわ。Oracleはサポート入らないとほんとに何にもしてくれないし、
どう考えてもバグとしか言えないのにまるで修正プログラムを提供する気配のない製品すらあるし。


983 :NAME IS NULL:2011/07/13(水) 15:49:13.23 ID:???
Intel の開発製品は新規購入時に一年間のサポート契約が付いてくるけど
それ切れた後契約更新しなかったらその後のアップデート利用できないな。
ほかにも似たような方式の会社でてきてるから
今後はそういうのが増えちゃうのかな。

984 :NAME IS NULL:2011/07/13(水) 19:04:43.94 ID:???
他と比べてはじめてサポートはMSが最強といえる。

985 :NAME IS NULL:2011/07/13(水) 20:26:15.92 ID:???
自動翻訳のイミフなKBを読み解く能力は必須
英語が読めると楽だね

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

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

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