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 の事のようでした
失礼しました。

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

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

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