Microsoft SQL Server 総合スレ 8

このエントリーをはてなブックマークに追加
1NAME IS NULL
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
2NAME IS NULL:2009/11/29(日) 17:05:59 ID:???
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < Oracle RAC と同等の機能まだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  愛媛みかん |/
3NAME IS NULL:2009/11/30(月) 13:16:44 ID:???
皆さんはSQL Serverのデータベースサイズ見積もりとか
どのようにやってますか?

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

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

MSDN見ながら自力でやるしかないのかなぁ
4NAME IS NULL:2009/12/01(火) 01:05:18 ID:???
>データベースサイズ見積もり
テスト環境に実際にデータ放り込んでから考える
5NAME IS NULL:2009/12/01(火) 19:46:45 ID:???
そろそろ正規表現を実装して欲しいな
2008R2ではどうなることやら
6NAME IS NULL:2009/12/02(水) 19:00:02 ID:???
SELECT * FROM hoge JOIN table_kansu(hoge.id) on 1 = 1

ってなイメージじで、hogeテーブルの1行ごとにテーブル関数の結果をjoinしたのですが、
どのように書けばよいのでしょうか?
7NAME IS NULL:2009/12/02(水) 20:42:51 ID:???
select *, table_kansu(id) from hoge
8NAME IS NULL:2009/12/05(土) 15:40:12 ID:???
マイクロソフトの正規表現って使いづらくない?
9NAME IS NULL:2009/12/05(土) 21:25:18 ID:???
初めにgrepとかで覚えた人だとちょっと戸惑うかもしれないけど
慣れちゃえば結構使いやすいと思うけどなぁ
10NAME IS NULL:2009/12/12(土) 18:03:36 ID:iz5RvqdP
age
11NAME 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%ではまるで抽出できませんでした
12NAME IS NULL:2009/12/12(土) 23:24:02 ID:???
ちなみにデータの型はCHAR(8)です。
よろしくお願いいたします。
13NAME IS NULL:2009/12/12(土) 23:27:55 ID:???
>>11
like '___B%' でいいと思うんだけどだめなのか。
じゃ、like '???B*' は?

1411:2009/12/12(土) 23:33:07 ID:???
>>13
ありがとうございます。
SQLServerでは一文字ワイルドカードは*なのですか?
それとも_なのでしょうか。まずそれすらもわかりません。すみません。
*では抽出できるのですが_だとできません。
又*ですと一文字だけマッチではなさそうな動きをします。
?も試しましたが思うような動きになりません。
15NAME IS NULL:2009/12/13(日) 00:19:53 ID:???
>>14
私も初心者ですが・・・。
下記の「正規表現」を参考にされてはいかがでしょうか?
http://dobon.net/vb/dotnet/index.html
16NAME IS NULL:2009/12/13(日) 00:22:24 ID:???
うちで試してみたが>>13で動く。
つーか向こうのスレで言われてたsubstringは試したんだろうね
17NAME 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
などを入れても同じ症状です。
18NAME IS NULL:2009/12/13(日) 01:13:06 ID:???
そのエラーは見たこと無いけど
該当ファイルの代替データストリームを削除しろと言ってるように見える
1911:2009/12/13(日) 21:05:17 ID:???
>>15
ありがとうございました。正規表現って遅くなりませんか?私の勘違いでしょうか。
>>16
SQL文でsubstringが使えるのですか?
よろしければご教示下さい。
20NAME IS NULL:2009/12/13(日) 21:17:12 ID:???
なんでヘルプ読まないの?
2111:2009/12/13(日) 21:22:51 ID:???
>>20
すみません。
やりたいことは以下の方と同じ抽出なのですが
http://oshiete1.goo.ne.jp/qa1060057.html
substringで抽出は出来ないのでしょうか。。。
22NAME IS NULL:2009/12/13(日) 21:25:47 ID:???
だからヘルプ読めよ。そうしたらわかるから。
23NAME IS NULL:2009/12/15(火) 09:14:01 ID:???
今知ったが、SQL Server 2008って、データ型に HierarchyID なんてのが
追加されてたんだ。Transact-SQLからじゃないと使いにくいけど。
24NAME IS NULL:2009/12/15(火) 18:19:18 ID:???
>>20
妄想は脳内で
公開は無用です
25NAME IS NULL:2009/12/15(火) 22:14:10 ID:???
ヘルプじゃなくてオンラインブックだろ
26NAME IS NULL:2009/12/16(水) 10:50:26 ID:wo+YmiKq
名前はどうあれドキュメント嫁ということは正しいだろう?
SMSでたたけばすぐ分かることをやんない奴は辞めたほうがいいと思うぞ
27NAME IS NULL:2009/12/18(金) 14:34:30 ID:???
顧客が意地でも現在使用しているWindows2000鯖を流用してシステムを組んでほしいみたいなので
SQL Server2008を考えていたシステムが2005にせざるを得なくなりました。

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

28NAME IS NULL:2009/12/18(金) 14:50:52 ID:???
データベースサイズが 2GB 超えないなら無料版でも使わせておけ
29NAME IS NULL:2009/12/18(金) 21:57:26 ID:???
ダウングレードで
30NAME IS NULL:2009/12/18(金) 22:30:41 ID:???
モノは MSDN で落として、ダウングレード権を行使、だな。
31NAME IS NULL:2009/12/21(月) 20:36:50 ID:???
MSSQL Serverの運用経験者募集というとどういう事が出来ればいいのかな
前に小規模なものを管理していて実務経験としてやった事があるのは

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

って感じなんだけどこれは運用経験ありますと言える内容ですか?
32NAME IS NULL:2009/12/21(月) 20:49:16 ID:???
>>31
会社によって求めるものが違うでしょ。聞いてみたら?
33NAME IS NULL:2009/12/22(火) 21:52:37 ID:???
とりあえず職務経歴書送っとけば

2000と2005以降だと随分ルック&フィール違うけど
そういうところは無視なんだろうな
34NAME IS NULL:2009/12/24(木) 11:34:34 ID:zE5y6xe0
SQL Server 2005 SP3 です。
LANケーブルを抜くまたは切断すると、サーバー内でも
DBのエラーとなります。
これは仕様ですか?
改善策ありましたら教えてくださいませ。
35NAME IS NULL:2009/12/25(金) 11:34:01 ID:???
>>34
DBのエラーにもいろいろあるだろ…
エラーの内容くらい晒せよ

以下接続エラーとみなして
DBのエラーを何で確認してるのか知らんが
接続先の指定にサーバー名とか使ってない?
名前解決できなくてエラーのような気がする
36NAME IS NULL:2009/12/27(日) 13:03:52 ID:???
>>34
昔、LANケーブルを抜くと「ping 127.0.0.1」が返ってこなくなる
PC(というかNIC?)に出会ったことがある。
F社製のノートPCだったけど。
37NAME IS NULL:2010/01/06(水) 00:55:19 ID:???
↓を今でもダウンロードできるところはないでしょうか?
ttp://www.microsoft.com/japan/sqlserver/2005/prodinfo/previousversions/trial/2000/download.mspx
38NAME IS NULL:2010/01/07(木) 01:12:26 ID:???
マルチすんなよ
39NAME IS NULL:2010/01/07(木) 01:27:11 ID:EbEc0qRu
AccessからSQLServerへ接続する方法で悩んでいます。
ADP作ってOLEDBで接続するのと
odbcデータソースを事前に作成し、mdbでリンクテーブルで接続する2つの方法では
運用面は置いといてodbc側になにかメリットがありますか?
OLEDBの方が高速ですし、単純にどちらも使える環境だと
ADPを使えばよいと思うのですが何か誤解していないか心配です。
いかがでしょうか。

40NAME IS NULL:2010/01/07(木) 03:09:56 ID:???
SQLの構文が若干変わるんじゃなかったっけ
41NAME IS NULL:2010/01/07(木) 10:53:02 ID:dDKzhp85
>odbc側になにかメリットがありますか?
デメリットしかないんじゃね?
#そういえばリンクして使ったときがないなぁw
42NAME IS NULL:2010/01/07(木) 21:53:43 ID:???
メリットはMDBをローカルテーブルとして使えるくらいかな

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

ってすれ違い
43NAME 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で全部済ませたほうが
いいのでしょうか?
お知恵をお貸しください。
44NAME IS NULL:2010/01/12(火) 03:02:20 ID:???
>>43
PL/SQLでもいちいち変数にいったん代入するとかしないよな。
INSERT SELECTで直接やるか、事情があってカーソル使うケースでも
暗黙のカーソルをつかえば十分。
Transact-SQLの場合もINSERT SELECTが推奨だが、
平行運用などしてて長時間READ Lockをかけたくないとか、
途中で複雑な処理をしたい場合は、一時テーブルを使えばスマートに書ける。
45NAME 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
46NAME IS NULL:2010/01/12(火) 11:48:07 ID:k33beZ1z
新たにインスタンスをインスコしたけどつながらん
Windowsファイアウォールを外すとつながるので
この設定だと思うけど、対象のsqlservr.exeを受信送信で許可するだけじゃだめなんですか?
47NAME IS NULL:2010/01/12(火) 12:53:01 ID:???
自己レス

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

SQL Server Browserが1434なんて常識!?
48NAME IS NULL:2010/01/12(火) 13:20:18 ID:???
SQL ServerでTCP 1433とUDP 1434は常識
49NAME IS NULL:2010/01/15(金) 00:13:06 ID:???
ファイル共有してるmdbへのリンクサーバーが遅い・・・。遅すぎる・・・。
仕方ないから、ストアドで一度一時テーブルに入れてから、それを
結合して組み立ててる・・・。はあ・・・。遅いのはわかってたけど、
想像以上に遅い・・・。なんとかうまく早くする工夫はないですかね・・・。
50NAME IS NULL:2010/01/16(土) 17:32:20 ID:???
文章を簡潔、かつ分かりやすく書く努力から始めてはどうか。
51NAME IS NULL:2010/01/17(日) 15:22:09 ID:???
mdbへのリンクサーバー?
52NAME IS NULL:2010/01/17(日) 17:45:24 ID:???
SQL Server 2005 Service Pack 3 の累積的な更新プログラム パッケージ 7
http://support.microsoft.com/kb/976951/LN/
53NAME IS NULL:2010/01/17(日) 18:39:37 ID:???
>>49
mdbを経由する必要はあるの?
sharepointのリストを参照したいとか?
54NAME IS NULL:2010/01/19(火) 00:48:57 ID:???
>>53
mdbは別の部署のシステムなのです・・・。
55NAME IS NULL:2010/01/20(水) 10:16:15 ID:vkZJcbao
>>54
Accessならすれ違い
SQLServerにリンクテーブル張っているAccessMDBをファイル共有?
56NAME 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をインストールすると自動的にハードディスクにコピーされる。」とあるのですが、
クライアント接続のみをインストールした場合、
コマンドライン・ツールってインストールされますか?
57NAME IS NULL:2010/01/20(水) 21:27:15 ID:???
>>55
リンクサーバーでぐぐれカス。
カスの分際で仕切るな。
58NAME IS NULL:2010/01/21(木) 00:20:45 ID:???
>>56
2000は忘れたけど2005はサーバ側も入れないとsqlcmd使えなかった気がする
まぁ普通に考えてサーバ機能が無いのにosqlとか無理っぽいけどね
59NAME IS NULL:2010/01/21(木) 00:37:35 ID:???
mdbへのリンクサーバー、x64 じゃ無理なんだよね
かなりガッカリした
60NAME IS NULL:2010/01/21(木) 01:25:20 ID:???
>>59
WOW64
61NAME IS NULL:2010/01/21(木) 08:06:37 ID:???
OLEDBプロバイダやらODBCドライバやらの64ビット版がないから無理。
62NAME 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以外では発生しないはずですので、
原因がわからず困っています。なにか見当違いをしているのでしょうか…
63NAME IS NULL:2010/01/29(金) 07:53:55 ID:???
何も知らずに、客先で >> 62 のリンク踏んだら大変だな・w・
64NAME IS NULL:2010/01/29(金) 18:07:49 ID:???
なんで?
65NAME IS NULL:2010/01/31(日) 00:42:18 ID:i/zQY3Zu
すいません。マルチですが。。
SQLSERVER2000を混合認証(Windows,SQL認証)で使用しているのですが、
SQLSERVERを起動するとログイン画面がでてこないで、ログイン状態で開きます。
(windows認証にするか、SQLServer認証するかを聞いてくる画面が2005だとでてくる)
どのようにして、2000でログイン画面を出すようにすればよいのでしょうか?
というのはsaのパスワードがあっているかどうか試したいだけなのです。。
66NAME IS NULL:2010/01/31(日) 06:18:28 ID:???
そもそもSQL Serverの本体に画面なんてないんだがな
お前はなんの事を言ってるんだ?

saでログインしてみたいだけだなら、クエリアナライザなり
エンタープライズマネージャなりで新規に接続してみればいいだけだろう
67NAME IS NULL:2010/02/02(火) 22:03:51 ID:???
sqlが通らないです。
誰か助けてママン

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

ストアドでデータが同一なのを確認ってどうやってするのさ?
68NAME IS NULL:2010/02/02(火) 22:10:50 ID:???
>>67
SELECT COUNT(*) FROM (SELECT * FROM A UNION SELECT * FROM B) AS A
69NAME IS NULL:2010/02/02(火) 22:21:15 ID:???
>>68

ありがとうママン。
明日試してみるよ。
70NAME IS NULL:2010/02/02(火) 23:27:35 ID:???
セキュリティを気にする必要がなければ、tablediff.exeでも蹴り飛ばせ
71NAME IS NULL:2010/02/03(水) 06:08:36 ID:???
UNIONしてCOUNTとってもデータが同一とみなさないだろw
72NAME IS NULL:2010/02/03(水) 10:17:08 ID:???
EXCEPTかINTERSECT使えばいいんじゃない?
73NAME IS NULL:2010/02/03(水) 21:33:49 ID:???
おいしいくに microsoft
74NAME IS NULL:2010/02/04(木) 23:53:31 ID:???
SELECT * FROM A
UNION
SELECT * FROM B
EXCEPT (
SELECT * FROM A
INTERSECT
SELECT * FROM B
)
75NAME IS NULL:2010/02/05(金) 17:11:50 ID:i0MtKB/o
SQL Server 2008のExpressエディションは、
WEBアプリのバックエンドとして使ってもいいのかな?
それがインターネット上の商用サイトでも。

WorkgroupやStandardエディションならプロセッサライセンスを買えばOKなのかな?
公式見ても具体的にOKもとNGとも見つからなかったので・・・。
76NAME IS NULL:2010/02/05(金) 21:43:30 ID:???
>>75
Expressはライセンスの概念がないからOK。
ただしServerのほうは必要。WebEditionなら気にしないでいい。
77NAME IS NULL:2010/02/05(金) 22:16:00 ID:???
test
78NAME IS NULL:2010/02/07(日) 01:10:06 ID:S6iuWy/F
くっそー…
ノートブックに
@SQL Server 2008 Enteprise edition
ASQL Server 2008 SP1
BVS2008
CVS2008SP1
を上記の順番で入れようとしたら@のインストール時に
0x84B20001
というエラーが出てきて進めない。ググっても英語サイトばかり…。
これら4つをインストールする順番って何かあるものなの?
このエラーコードを見たことある人いますか?
79NAME IS NULL:2010/02/07(日) 02:38:32 ID:???
以前にSQL SERVER 2008に限らず過去のVerをインストール
またはVS2005とかをインストールしたことがある?
80NAME IS NULL:2010/02/07(日) 10:59:32 ID:S6iuWy/F
>>79
リカバリー直後に行っており、SQLサーバーやVS関連はインストールされていません。
81NAME IS NULL:2010/02/07(日) 11:43:13 ID:???
Enterprise?
OSは?
クライアントOSにはDeveloperかExpressしか入んなかったような気がする
82NAME IS NULL:2010/02/07(日) 16:41:55 ID:???
>>78
OSくらいかけよあほか
83NAME IS NULL:2010/02/07(日) 17:47:03 ID:???
>>78
まずはその英語サイトの内容を読んで判断しろよ。
84NAME IS NULL:2010/02/08(月) 00:13:35 ID:bTbof5Zc
OSはvistaです。
別の事務所のデスクトップ1台(vista)に導入したときは問題なくできました。
自宅のノートブック(vista)にも同様の環境を整備しようとして、別途インストールしようとしたときにエラーになります。
ノートブックのOSに問題があるのでしょうか…。
85NAME 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ではサポートされないがな
86NAME IS NULL:2010/02/08(月) 12:59:18 ID:???
Oracle ストアドで言うところの

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

を SQL Server でやらすためには、カーソルを定義して書かないとダメなん?
87NAME IS NULL:2010/02/08(月) 13:51:46 ID:???
select @A=A,@B=B from TABLE
でできた気がする
88NAME IS NULL:2010/02/08(月) 17:35:08 ID:???
SQL Azureはここでええんかい?
89NAME IS NULL:2010/02/08(月) 20:38:31 ID:???
>>84
Enterpriseなんてん百万もするのをデスクトップPCに
入れるなんて金持ちだね。
あ、もしかしたら・・
90NAME IS NULL:2010/02/08(月) 20:40:08 ID:???
ん百万もしない。
91NAME IS NULL:2010/02/09(火) 01:52:36 ID:???
サブスクリプションだのSAだのライセンスはいろいろあるだろ
92NAME IS NULL:2010/02/10(水) 22:49:07 ID:???
Enterpriceなんて、MSDNで開発用に入れるだろ
93NAME IS NULL:2010/02/10(水) 22:54:19 ID:???
アカデミックが1万ぐらいであるんじゃねーの
94NAME IS NULL:2010/02/10(水) 22:57:52 ID:???
開発用はDeveloperエディション入れる
95NAME IS NULL:2010/02/10(水) 23:21:48 ID:???
2000と繋がってたJAVAのWEBシステムが2008に繋がらなくてピンチorz
96NAME IS NULL:2010/02/11(木) 00:14:24 ID:???
>>94
Standardでは動くのにDeveloperだと動かないみたいな微妙に差が出たことがあって
MSDNあるなら実運用環境に合わせたEnterpriseを入れたほうがいい気がする。
DeveloperはEnterprise相当なのでさすがにStandardみたいに違いが出るとは思いたくないけど。
97NAME IS NULL:2010/02/11(木) 02:57:44 ID:???
>Standardでは動くのにDeveloperだと動かない
逆はあってもこれは無いと思うんだが、動かなかった実例があるのか?
98NAME IS NULL:2010/02/11(木) 03:21:15 ID:???
RDOを使った処理の一部が2005のStandardでは動いてDeveloperというかEnterpriseでは動かないものがあった。
普通は逆だろうと思ったんだけどね。
99NAME IS NULL:2010/02/11(木) 09:04:14 ID:???
RDOってODBC用のだっけ?
MDACとかNative Clientのバージョンの違いとかそんなのではないの?
100NAME IS NULL:2010/02/11(木) 19:52:56 ID:???
実運用環境がEnterpriseって決定なのかよw
101NAME IS NULL:2010/02/17(水) 21:57:39 ID:???
どこか忘れたけど SQL Server 2008 sp2 は2010/4Q って書いてあった
R2が先なのね
102NAME 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 につなごうとしているのですが
うまくいきません。

こんな環境で大丈夫でしょうか?
103NAME IS NULL:2010/02/21(日) 00:13:54 ID:???
何が言いたいのかわからんが、SQLServerとSQLServerExpressの接続文字列はデフォだと違うぞ?
104NAME IS NULL:2010/02/27(土) 23:28:38 ID:mqmej+Dm
BCP(QUERYOUTを指定)コマンドでテーブルのレコードを
CSV形式でエクスポートした時、文字化けすることってある?
105NAME IS NULL:2010/02/28(日) 00:42:32 ID:ZQw2O84x
そいや普通Oracle->SQLServerとか
SQLServer->Oracleってのが普通に移行であったと思うけど
SQL2000->SQL2008とかある場合どうするのが適当なのかしら。。
DTSも非推奨だし、SSISも微妙なできだから悩ましい。
106NAME IS NULL:2010/02/28(日) 00:48:51 ID:???
それだったらデタッチしてアタッチすれば完了。
スキーマを多少見直したい場合もそれで簡単にデータ移行ができる。
107NAME IS NULL:2010/02/28(日) 00:52:21 ID:ZQw2O84x
いあいあ、ストレートにコンバートはそれでいいんだけど。
改修がある場合とかあるでしょ普通
マイグレーションのついでに、テーブルに項目追加するとかさ
108NAME IS NULL:2010/02/28(日) 01:09:23 ID:???
移行もとのデータベースが同一インスタンスのDB名違いでインポートできてれば、
データの加工や移し変えはできるだろ?
109NAME IS NULL:2010/02/28(日) 01:18:14 ID:???
>>105
2000->2005->2008ならできると思う
110NAME IS NULL:2010/02/28(日) 09:11:38 ID:???
>>104
むしろ、Excelで読み込んで文字化け、とかあるな。
UTF-8で出せば文字化けしないけど、ExcelはUTF-8読めないバージョンがあるので。
111NAME IS NULL:2010/02/28(日) 21:15:57 ID:fWLj85mi
>>108
そか、SQLでやればいいって話ですね
112NAME IS NULL:2010/03/01(月) 00:04:53 ID:???
>>110
それこわいよね。
113NAME IS NULL:2010/03/11(木) 01:24:57 ID:PrFMBD9z
2005でテーブル変数を使うと、一度接続を切っても
TEMPDBの一時テーブルにいつまでも残骸が残っているように見えるんだが、
これは正しい動きなんでしょうか?
114NAME IS NULL:2010/03/11(木) 21:32:11 ID:???
kwsk
115NAME 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で書き直す方法はありますか?
教えてください。
116NAME IS NULL:2010/03/12(金) 17:40:40 ID:???
>>115
nendoのテーブルを作って、1900から2100くらいまであらかじめレコードを追加しておいて

select
nendo
from
nendo_tbl
where
nendo between 2006 and 2010

ではダメかい?
117NAME 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だけで十分だと思うけどね
118NAME 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
でいいんじゃねえか
119NAME IS NULL:2010/03/14(日) 02:57:38 ID:hwt6I+2j
SQLServer使うときはPen4のHT切っておけとどこかのblogに書いてあったのですが、
今のCore iのHTでも切るべきでしょうか?
120NAME IS NULL:2010/03/14(日) 03:09:58 ID:???
>>119
複数CPUがあって2つCPUを使うつもりで
実際には同じCPUを使っててパフォーマンスを落とすなんてことが起きるのでということだったと思う。
今のCore iもシングルコアでないのにHTを有効にする利点がわからない。
121NAME IS NULL:2010/03/14(日) 10:34:34 ID:???
>>120
サンクス。最近のXeonはHTで4コア8スレッドなので切った方がよさげですね。
面倒だ・・・
122NAME IS NULL:2010/03/14(日) 12:07:56 ID:???
んなバカな
Hyper-Threadingがパフォーマンスを落とすってのはどこのソース?
123NAME IS NULL:2010/03/14(日) 12:14:37 ID:???
>>122
とりあえずググって出てきた記事
ttp://japan.cnet.com/news/ent/story/0,2000056022,20091397,00.htm
高負荷掛けるとヤバイ時があると言うのは良く聞くけど、実際の測定データは出てないね。
124NAME IS NULL:2010/03/14(日) 12:19:32 ID:DtdqkEWk
>>122
Hyper-Threadingが出始めた、6年前あたりから常識です。
所詮コア数が倍になるまでの過渡期の技術。
125NAME IS NULL:2010/03/14(日) 13:17:49 ID:???
126NAME IS NULL:2010/03/14(日) 14:26:40 ID:???
>>123
その記事は実測値が載せられていないし、Hyper-ThreadingのWikiでも取り上げられているが
Intelは否定しているけど、どっかに実測値付きのソースとかってないの?

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

>>125
> SQL Server システムで、ハイパースレッディングを有効にした状態と無効にした状態の
> 両方でアプリケーションをテストしてから、運用システムに変更を実装するようにしてください。
それは両方試しましょうねって言ってるだけでしょ
127NAME IS NULL:2010/03/14(日) 14:27:57 ID:???
グラボのGPUだとコア数が数百個とか当たり前だしな。
128NAME IS NULL:2010/03/14(日) 15:05:33 ID:???
テストして実装しましょうなんて時点でマルチコアとHTが別物ってことだよな。
変なリスク負いたくないからHT切るわ。
129NAME IS NULL:2010/03/14(日) 16:38:58 ID:???
>>128
>125のリンク先読んだか?あくまでパフォーマンスについての話だぞ
まあ、特定の状況でHTオンの方がパフォーマンスが落ちる可能性があるのは確からしいな
そんな状況が一般的なのかどうかは知らんがな

それより2000以前のOSだと、OSそのものがHTでバグってたような記憶があるんだが
130NAME IS NULL:2010/03/14(日) 16:42:44 ID:???
デュアルCPU未対応とかだな。
131NAME IS NULL:2010/03/14(日) 17:04:05 ID:???
>>128
どうしてデフォルトで有効なHTを無効にしてまで
リスクを負いたくないからって発想になるんだ?
リスク云々がどこに書いてある
パフォーマンスについてはテストして確認してくれって書いてあるだけだろ
132NAME IS NULL:2010/03/14(日) 17:13:35 ID:???
高負荷で性能が著しく低下って普通リスクって言わないのかね?
まあ業務で使うこと無いから別にどうでもいいけど。
133NAME IS NULL:2010/03/14(日) 17:16:57 ID:???
> 高負荷で性能が著しく低下
どこにそんな記述が?
134NAME IS NULL:2010/03/14(日) 17:22:11 ID:???
>>123じゃないの?
なんでIntel擁護するんだろ。単にHTが微妙ってだけなのに。
135NAME IS NULL:2010/03/14(日) 18:58:26 ID:???
xeon55xx でCPUx2 でDB鯖組んだやついる?
NUMAどんな感じ?
メモリがCPUに付いてCPU間のデータ交換頻発して
パフォーマンスが落ちたりしない?
136NAME IS NULL:2010/03/14(日) 22:12:21 ID:???
>>131
業務で使うからだよ。
安定してパフォーマンスが落ちないことのほうが重要。
特定の状況で性能が劣化することがあるなんて明らかなリスクは取っ払うのが無難。
137NAME IS NULL:2010/03/15(月) 02:28:12 ID:???
DBサーバーのCPU負荷ってどの位が適切なんでしょうか。
平時30〜60%、ピーク時80〜90%なんですが。
138NAME IS NULL:2010/03/15(月) 07:29:05 ID:???
CoreDuoE6700でメモリ8G積んでますけど
Win2003SP2 32bitだったかな
平時1-10%くらいだな
ストアドでバッチとか走ると50%くらいいくけど
139NAME IS NULL:2010/03/15(月) 10:07:16 ID:???
ピーク時に100%いかなきゃ何でもいいだろ
140NAME IS NULL:2010/03/15(月) 21:22:23 ID:???
>>136
業務で使っているなら、HTの有効無効でパフォーマンステストも
していると思うが、その差を教えてくれよ
出来ればデータ対時間の関係も合わせて
141NAME IS NULL:2010/03/19(金) 17:50:53 ID:???
MS SQL Server 2000 のバックアップファイルが壊れていない(リストアできる)かどうかをVB6から調べる方法はありませんか。
142NAME IS NULL:2010/03/19(金) 17:58:17 ID:???
リストアさせてみればいいんでないか?
本番とは違うDB名で
143137:2010/03/21(日) 13:16:21 ID:???
>>138,139
遅くなりました。ありがとうございます。
144NAME IS NULL:2010/03/21(日) 19:23:47 ID:+5EBZGzW
ちょっと急ぎで教えていただきたいことがあるのですが・・・。

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

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

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


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

145NAME IS NULL:2010/03/21(日) 19:27:47 ID:???
無理。
146NAME IS NULL:2010/03/21(日) 19:33:54 ID:???
>>144
同じ様なことあったけど、結局諦めたわ。
主キーなしの別テーブルにインポートして、そこから条件抽出してお茶を濁した覚えが。
147NAME IS NULL:2010/03/21(日) 19:35:50 ID:???
テンポラリテーブルに取り込んで、NOT IN だな。
148NAME 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...) を使用した一括データのインポート」を参照してください。
149NAME IS NULL:2010/03/22(月) 03:57:19 ID:???
一応言っとくけど、INSERTじゃなくMERGEな。
150144:2010/03/22(月) 07:25:54 ID:???
>>145-149 皆様ありがとうございます!

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

ありがとうございました。
151NAME IS NULL:2010/03/25(木) 08:33:31 ID:???
ストアドの結果をカーソルで取得したいんですが
下記のようにするとエラーになって保存できません。
他に何か方法はありますでしょうか?
DECLARE curHoge CURSOR FOR
EXECUTE sp_hoge @hoge1, @hoge2
152NAME IS NULL:2010/03/25(木) 09:26:46 ID:???
特定行が行ロックされているか確認するSQLはどのように書けばよいのでしょうか?
ロックは更新ロック(WITH(UPDLOCK,ROWLOCK,NOWAIT))です。
153NAME IS NULL:2010/03/25(木) 22:31:52 ID:???
>>152
ロックされてたらどうするの?
どうしようもないよね?
154NAME IS NULL:2010/03/25(木) 22:36:18 ID:???
sp_lock?
155NAME IS NULL:2010/03/28(日) 23:18:10 ID:RtX0WDiI
もうロックエスカレーションっていらなくね?
今時メモリの節約って??ハア?って感じ。
サーバーならメモリ8GBぐらい当たり前に積んでるから、
素直に行ロックしてもらった方が全然いいんだが‥
更新ロックの対象が行じゃなくて範囲ロックになったり、
カーディナリティ低めのインデックス単位で
ロックがかかるのも迷惑すぎる。
156NAME IS NULL:2010/03/28(日) 23:19:23 ID:wwpovUix
まぁ適材適所でしょ。
てかSQLServer2005からは読み取り一貫性もサポートしてるだろうよ
157NAME IS NULL:2010/03/28(日) 23:52:47 ID:RtX0WDiI
>>156
確かに読み取り一貫性は読むだけの場合には解決策になるが、
各々まったく別の行をロック(更新)したい処理同士がぶつかって
意図しないロック待ちやデッドロックするのが嫌すぎる‥
読み取り一貫性だけじゃ、意図した行だけのロックがなされないことの
解決にはならないっしょ。
158NAME IS NULL:2010/03/29(月) 00:17:56 ID:???
>>155
メモリ8GBじゃ無理なくらいレコード数があるだろ。

そもそも、最近は想定外のレコードまで更新ロックされてデッドロックなんて起きてないから使い方次第だろう。
微妙なインデックスがあるとおかしな実行プランが発生して
予想外な範囲がロックされることはあるけど使用するインデックスを指定すれば解決するし。
プロファイラでも実行して負荷が不自然なクエリがないかチェックしたほうがいいんじゃないかな。
159NAME IS NULL:2010/03/29(月) 00:57:42 ID:???
>>158
>メモリ8GBじゃ無理なくらいレコード数があるだろ。
オンラインで(キー情報だけメモリに保持するとして)8GB超行ロック
したい場合とか普通ないよ。

>予想外な範囲がロックされることはあるけど使用するインデックスを指定すれば解決するし。
>プロファイラでも実行して負荷が不自然なクエリがないかチェックしたほうがいいんじゃないかな。
事前にそれをやるのはかなり大変‥実際問題が起きてから対処する形になるので、
結局稼動後に一度はトラブることになるwwwwww
160NAME IS NULL:2010/03/29(月) 02:06:50 ID:???
ロックエスカレーションしてデッドロックすることなんてあるの?
161NAME IS NULL:2010/03/29(月) 07:23:34 ID:???
>>160
実際なった事はない
162NAME IS NULL:2010/03/29(月) 09:04:34 ID:WMc45ShC
エスカレーションしてデッドロックは無いが、範囲外のデータが大量に巻き込まれてロックされた結果デッドロックになるのは良くある。
適切なインデックスを貼ると解消するケースがほとんどだが、サイクルデッドロックさせないためにインデックスを貼るって言う行為がそもそもおかしな話
163NAME IS NULL:2010/03/29(月) 09:22:39 ID:???
デッドロックしたらリトライすればいいじゃまいか
164NAME IS NULL:2010/03/29(月) 09:58:49 ID:V+Nn1nlX
>>151
一時テーブルに取り込んでから、カーソル開けばよいのでは?

INSERT INTO #hoge
EXEC sphoge

DECLARE curHoge CURSOR FOR
SELECT * FROM #hoge
165NAME IS NULL:2010/03/29(月) 10:48:22 ID:WMc45ShC
>>163
まれにしか起きないならそれでも通用するが、頻発すると誤魔化しきれん
166NAME IS NULL:2010/03/29(月) 13:36:40 ID:???
どうもデッドロックと単なるロックウェイトが混同されてる気がする
167NAME IS NULL:2010/03/29(月) 15:30:18 ID:???
即座に検出されるデッドロックより、延々ウェイトされる方がきついなぁ
168NAME IS NULL:2010/03/29(月) 15:36:15 ID:???
oracleの
select * from hoge for update wait 10
みたいなのないの?
169NAME IS NULL:2010/03/29(月) 19:28:16 ID:???
マイクロソフト擁護派の言い分だと100万件のうち95万件ロックする必要があるケースなんかを例にあげるけど、そんなこたぁそもそも誰も問題にしてない。
論点ズレまくり
100万件のうち1万件ロックしたいだけなのにエスカレーションするのが問題なんだよ
170NAME IS NULL:2010/03/29(月) 20:00:33 ID:J02J6Biu
access2007 ado 接続でsql2008は使用出来るんですか?
171NAME IS NULL:2010/03/29(月) 20:05:36 ID:???
うん。
172NAME IS NULL:2010/03/29(月) 20:17:17 ID:J02J6Biu
すみません adp接続なんです

間違つてました

再度お願いします

access2007 adp 接続でsql2008は使用出来るんですか?
173NAME IS NULL:2010/03/29(月) 20:17:50 ID:???
うん。
174NAME IS NULL:2010/03/29(月) 22:26:48 ID:sD/ndxo+
>169
M$を擁護するつもりはないが、モードを読み取り一貫性にすればいいだけじゃん。
しらんのか?
175NAME IS NULL:2010/03/29(月) 23:32:33 ID:???
>>168
SET LOCK_TIMEOUT
176NAME IS NULL:2010/03/29(月) 23:35:09 ID:???
オレの経験上ムキになるのはOracle厨だわ
177NAME IS NULL:2010/03/29(月) 23:41:28 ID:???
>>167
READPASTでも指定すればいいんじゃないかな?
178NAME IS NULL:2010/03/30(火) 00:51:44 ID:???
>>174
オラクルしか知らないヤツがそれだけで何とかなると思ってると痛い目にあうだよな
179NAME IS NULL:2010/03/30(火) 00:56:10 ID:???
>>174
読み取り一貫性にしてもロックがエスカレートするのは防げないと思うが
単に読み取り時のロックが不要になってロック数が下がるだけで、根本的な解決にはならん
分離レベルをREAD UNCOMMITTEDにするなら別だが

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

2008からはテーブル単位で設定できるようになってるらしい
だれか実際にエスカレート禁止で運用してたら感想を聞いてみたい
180NAME IS NULL:2010/03/30(火) 09:53:56 ID:???
まずVMWare上で開発(テスト)環境を作ろうと思うんですが、
一台のSATA物理HDD上にSQL Serverを入れる場合、
パーティションはシステムと別にした方がいいでしょうか?

将来的にディスクが圧迫された際にシステムドライブは
拡張しにくいとか、パフォーマンス的にも少しはマシに
なるかなあ、と思ってるんですが。
181180:2010/03/30(火) 09:58:33 ID:???
>>一台のSATA物理HDD上にSQL Serverを入れる場合、

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

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

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

物理HDD1 ホストOS SQLServerログ
物理HDD2 ゲストOS SQLServerデータ
とかどうだろ
183NAME IS NULL:2010/03/30(火) 11:09:36 ID:???
>>182
そうでした。仮想マシン以前に物理環境でのHDD構成をどう考えるかって話ですね・・・。

上の仮想マシンの話は忘れるとして、単純にOSの入ってる1台のHDDで構成する時、
パーティションを分けてSQLServerのプログラムはC:、データはD:みたいな感じに
するのが普通なのか、ディスク1台なら変わらないからどっちもC:に入れてOKなのか…
そんな質問です。
184NAME IS NULL:2010/03/30(火) 11:26:50 ID:???
あくまでも意見は参考にとどめておいて欲しいんだけど、と言い訳をした上で。

大きな効果は望めないと思うけど、OS、データ、ログ用にパーティションを分けたほうが
断片化が起こりにくいだけマシなんじゃないのかな?うちも一応分けてる。
ただ、実機での運用になるとまた話は変わってくるだろうから、あまり気にせず
作っちゃったほうがいいんじゃないかなぁ、とも。
185NAME IS NULL:2010/03/31(水) 13:13:26 ID:???
インストール時は、プログラムとデータの場所を聞かれるだけだけど、
これログがでかくなるね。

消しかたすらわからんのでどうにもできんけどw
186NAME IS NULL:2010/03/31(水) 15:34:47 ID:IjY7PXKY
SQL鯖2008EXPRESSを使用しています。

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

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

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


ManageMentStudioは使わずPGからSQLを投げる方法を検討しています。
187NAME IS NULL:2010/03/31(水) 19:55:29 ID:???
2008からできなくなったはず。
188NAME IS NULL:2010/03/31(水) 20:52:08 ID:???
>>187
マジかと思って調べてみたら、BACKUP LOGのNO_LOGとTRUNCATE_ONLYが確かに廃止になっとる

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

MSDEってもともと単純復旧モデルだったと思ったんだが、EXPRESSになって復旧モデル変わった?
189NAME IS NULL:2010/03/31(水) 21:11:13 ID:???
ロックエスカレーションは無効にできるだろ。
http://msdn.microsoft.com/ja-jp/library/ms188396.aspx

どこかで、エスカレーションを無効にするとパフォーマンスが向上したという結果をみた。
190NAME IS NULL:2010/03/31(水) 21:33:09 ID:/bU6v4xj
2008だけど復旧モデル”単純”にするとログ増えないと思ってたんだけど
すこしずつ増えるんだね?ldf不要なんだけど増やさない方法ってないのかな?
191NAME IS NULL:2010/03/31(水) 23:13:17 ID:???
>>190
テーブル全件更新とかしてなければ、単純モデルならログは増えないよ。
ただし、再起動しないとtempdb.mdbがなぜか増え続けたりするが‥
192NAME IS NULL:2010/03/31(水) 23:42:29 ID:???
ldfがなかったらロールフォワードできないんじゃないの?
193NAME IS NULL:2010/04/01(木) 00:19:08 ID:3R1QUkq+
>>191
あーなるほどね。更新しても増える時と増えない時があったから謎だったよ。
でも結局ぜんぜん増えない訳じゃないんだよね?
定期的にデタッチ→ログ消してアタッチとかして消すしかないんかな。

tmpdbは確かに再起動しないと消えないね。いつの間にか20GBとかなっててビビった。
194NAME IS NULL:2010/04/01(木) 01:01:43 ID:???
>>190
復旧モデルシンプルでも使わないわけじゃないので、自動圧縮で切り捨てれば?
195NAME IS NULL:2010/04/01(木) 01:30:27 ID:???
増えてるって言うのは、ログのサイズなのか、ログを格納してるファイルサイズなのか
ログのサイズは、すくなくともアクティブなトランザクションが使う分のサイズまでは増大する
単純復旧モデルは要はコミットしたトランザクションのログを捨てるだけだから

ログやデータが、溜まる−捨てるの繰り返しで少しずつファイルサイズが増えてるのかもな
196NAME IS NULL:2010/04/01(木) 21:44:30 ID:???
tempdb の巨大化に関しては Fix が出てたような
197NAME IS NULL:2010/04/02(金) 15:15:08 ID:???
外部結合されたテーブルに行ロック掛けたいんだが、ふつうに書いてもかからん。
誰かたすけてくれ。週末納期だ。
198NAME IS NULL:2010/04/02(金) 15:20:40 ID:???
>>197
もちっと具体的に書けよ
199NAME IS NULL:2010/04/02(金) 15:36:34 ID:???
週末納期?オワタ
200NAME IS NULL:2010/04/02(金) 15:39:17 ID:dLdYdsyS
もう時間が。。。。
201NAME 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に更新かけることができてしまう。

202NAME IS NULL:2010/04/02(金) 15:52:34 ID:???
with (xlock)
203NAME IS NULL:2010/04/02(金) 16:04:17 ID:???
ひょっとして更新かけるほうはwith lockしてないんじゃない?
204NAME IS NULL:2010/04/02(金) 16:07:33 ID:JImwfFqH
>>201
外部結合は関係ない。
COUNTだとクラスタ化インデックス(キー項目)にしかロックかからないよ!
業をロックしたいなら
SELECT * 〜
とするか
当たり障りのない項目UPDATEしとけ!
205NAME IS NULL:2010/04/02(金) 16:28:41 ID:???
>>202-204
ありがと、今からちょっと試してみるぜ!!
206NAME IS NULL:2010/04/02(金) 16:36:08 ID:???
>>202-204
試してみた。
性交したZeeee!!

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

みんなありがおう!!!
207NAME IS NULL:2010/04/02(金) 16:37:36 ID:???
>>206
追記。

性交したのは、「SELECT *」にするやり方だ。
勉強になったよ。
208NAME IS NULL:2010/04/02(金) 18:29:12 ID:JImwfFqH
>>クエリでヒットするレコード以外にもロックがかかるんだが、
これはエスカレーションのせいだよな。

違う!テーブルロックになってなければエスカレーションではない、「テーブルスキャンによるロック待ち」とも違うMSブックオンラインでも説明されていない意図不明な範囲ロック
SQLSERVER擁護派にこれを言うとキレられるから気おつけろ!
209NAME IS NULL:2010/04/02(金) 18:30:28 ID:???
単なるページロックじゃないの?
210NAME 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鯖では狙った行だけを確実に更新ロックするのは簡単じゃない。

でも、これわかってない人大杉。
211NAME IS NULL:2010/04/02(金) 19:34:20 ID:???
訂正
>UPDLOCKをつけてるから
ROWLOCKをつけてるから
212NAME IS NULL:2010/04/06(火) 21:45:09 ID:w99IlC2O
>>210
マイクロソフトのSQL Server 2008 自習書シリーズ
「No.14 ロックと読み取り一貫性」
にもUPDLOCKで、オラクルのFOR UPDATEと同じことができるかのように
誤解をさせる記述があるんだよな。素人が書いてるのかMSの意図的なものかは知らないが
213NAME IS NULL:2010/04/07(水) 00:13:01 ID:???
確かにミスリード誘ってるのが何箇所かあるな。
「Oracleと同じです」と思わせたいみたい。
214NAME IS NULL:2010/04/07(水) 21:41:23 ID:???
こいつらどの分離レベルの話をしてるんだ?
215NAME IS NULL:2010/04/09(金) 01:08:50 ID:???
197です。
おまいらのおかげで、先週末無事「仮」納品できた。
なぜかアク禁で書き込みできんかった。ありがとう。

で、個人的には >>208、212、がすごく木になるんだが、kwsk。
216NAME IS NULL:2010/04/10(土) 00:43:19 ID:???
ラプターからIntel SLC SSDに変えたらはやくなったー
217NAME IS NULL:2010/04/10(土) 01:58:59 ID:???
SQL Serverのような共有ロック方式の場合は、
リピータブルリード分離レベルまでは明解なんだが
シリアライザブルになるととたんに複雑になる。
予想外の広範囲のロックなどはこの辺で発生しやすい。

他には索引に起因するもの、
カーディナリティの低い索引があった場合などは同じキーや
同じページに含まれるキーをもつ他のレコードのがロックされるケースがある。
これはOracleでも起きるのだが更新同士でしか起きないので気づかないことが多い。
218NAME IS NULL:2010/04/10(土) 02:25:36 ID:???
それって絞込みが足りないだけじゃ...
219NAME IS NULL:2010/04/10(土) 13:06:49 ID:???
行ロックならそうだけど、テーブルになるとそうでもないんじゃ
220NAME IS NULL:2010/04/13(火) 06:46:04 ID:???
SQL Server 2008 workgroup edition を使用しています。
トランザクションログを削除するコマンドを教えてください。
2008 からコマンドがかわったみたいで調べきれませんでした。
221NAME IS NULL:2010/04/13(火) 12:48:48 ID:???
>>220
ログバックアップ取れ。
ログファイル作りたくなけりゃ、単純モードにしれ。
222NAME IS NULL:2010/04/13(火) 20:57:11 ID:???
Tempdbをデータ格納ドライブと別にするのは常識として、
そのドライブはデータ容量に対してどの程度確保すべきでしょうか。
御伝授ねがいます。

その他、何かありましたら合わせて教えて下さい。
223220:2010/04/13(火) 21:34:45 ID:???
>>220 ありがとうございます。トランザクションログについて大分わかりました。

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

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

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

224NAME IS NULL:2010/04/14(水) 00:22:53 ID:???
シンプルで自動圧縮しなきゃいいだろ。
225NAME IS NULL:2010/04/14(水) 20:54:31 ID:???
トランザクションの内容もわからずに1秒おきに checkpoint っていわれてもな
適切なインデックスが張ってあれば問題にならないと思うが
226NAME IS NULL:2010/04/14(水) 22:15:29 ID:???
MSCSってADが必須ですか?
クラスタリングするとき、ADってどんな動きしてますか?
227NAME IS NULL:2010/04/15(木) 20:04:28 ID:???
必須。
詳しくは知らんが、調停役とか時刻同期などをやっていると思われ。
228NAME 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認証でログインができます。
229NAME IS NULL:2010/04/20(火) 19:48:42 ID:???
. か、(local) でやってみるとどう?
230NAME IS NULL:2010/04/20(火) 20:37:06 ID:???
SQLServer構成マネージャでTCP/IPを有効にして
Windowsファイアウォールに穴あけとけ
231228: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を有効にしても、同じエラーで接続ができません。
何かソフトが悪さしているのでしょうか・・・。
ウイルス系ソフトは導入しておりません。
232NAME IS NULL:2010/04/20(火) 23:50:01 ID:???
あれ? Express? ってことは、インスタンス名は (local)\SQLEXPRESS じゃない?
233NAME IS NULL:2010/04/20(火) 23:53:38 ID:RD2cOdO0
インスタンス名ってサーバー名かな?
『PC名\SQLEXPRESS』です。
234NAME IS NULL:2010/04/20(火) 23:56:15 ID:???
それ指定してもダメなの?
235NAME IS NULL:2010/04/21(水) 00:09:13 ID:???
Expressならデフォの1433指定していないだけじゃないの?
236NAME IS NULL:2010/04/21(水) 04:39:52 ID:???
Expressって標準でインストールしただけだと
外部からの接続要求を受け付けない設定じゃなかったっけ?
237NAME IS NULL:2010/04/21(水) 07:06:09 ID:???
localhost指定してんだから、外部とか関係ないだろうよ・・・
238NAME IS NULL:2010/04/21(水) 08:04:47 ID:???
そのインスタンスに対して接続するするユーザーの許可与えてる?
239NAME IS NULL:2010/04/21(水) 13:23:47 ID:???
まぁ突っ込みどころ満載だ(バージョンや稼動サービスについて書かないとか)
インスタンスで話が通じないところをみると初心者なのだろうか?
とりあえず質問する時はやった事を漏らさずに全て書けとしか言えないな
240NAME IS NULL:2010/04/21(水) 22:22:54 ID:???
これから SQL Server 始めようと思ってるおれより素人がいるな
241NAME IS NULL:2010/04/22(木) 03:25:00 ID:???
server compactもここでいいん?
242NAME IS NULL:2010/04/22(木) 08:25:10 ID:???
今、自営で販売ソフトの設定をしなきゃならなくなりServer2008やらSQLの勉強中の素人の俺が華麗にアドバイスをしよう
SQL2008をネットワークのユーザーが使えるようにする際に気をつける点は
 1.サーバ名とインスタンス名を間違えない
 2.SQL構成マネージャで対象のTCP/IPを有効にする
 3.接続するサーバの設定でログインするユーザーの登録とそのユーザーマッピングのチェック
 4.FireWallの設定でSQLServerとSQLBrowserを特例にする
俺が辿り着けたのはここまでだ。それ以上のことはわからんしセキュリティに穴があっても責任はもてん!
243NAME IS NULL:2010/04/22(木) 16:37:20 ID:???
>>237
TCP/IPで接続な時点で外部接続あつかいだったとおもた
244NAME IS NULL:2010/04/23(金) 18:31:08 ID:lEAWOGqr
245NAME IS NULL:2010/04/26(月) 12:53:14 ID:???
SQL鯖2008R2でワークグループは最大2CPUまで許容していますが、
仮に1CPU 2コア (HTで4スレッド)
になった場合、どこまで使ってくれるんでしょう?
ご存知の方がいらっしゃればお教えいただければと思うのですが・・・

ライセンス的には上記CPUは1CPUで認識してくれていいとのことなんですが・・・
246NAME IS NULL:2010/04/26(月) 14:08:54 ID:???
コア数は無視してCPUのソケット数で数えるよ。
247NAME IS NULL:2010/04/26(月) 14:10:20 ID:???
>>246
ありがとうございます。

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

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

何か同期を取るような処理が必要なのでしょうか?
249NAME IS NULL:2010/04/29(木) 22:34:09 ID:HRJIlp7m
2000SP2からSP4にアップしたいんですが、ダウンロードしてインストール実行したのにSP2から変化しません
マイクロソフトとは別に、判りやすく解説してるページやブログは無いでしょうか
250NAME IS NULL:2010/04/30(金) 11:01:29 ID:???
スタンドアロンレベルでR2のメリットおせーて
251NAME IS NULL:2010/04/30(金) 13:54:42 ID:???
>>250
ないよね
252NAME IS NULL:2010/05/08(土) 12:39:18 ID:???
「変化しません」がどこを見て言ったことなのかさっぱり伝わってこないんだが、
select @@version で調べりゃバージョン番号でてくるよ。
あるいは「sql server 2000 sp4 確認」とかでググれ
253NAME IS NULL:2010/05/09(日) 23:32:56 ID:BbSQ4OK4
SQLServer ってInsert処理が行われるときに、内部的に物理読込も発生するの?
254NAME IS NULL:2010/05/10(月) 04:04:04 ID:???
INSERT位置の確定のためインデックスの読み込みがありますね
255NAME IS NULL:2010/05/12(水) 17:08:20 ID:???
ちょっとした疑問。2ソケットPCに1ソケットまでの2008Expressってインストールできるのかな?
今稼動してる2ソケットの2003マシンを2008R2にする際、SQLをExpressにしようと思うのだが
ダメならStandard買うかHyper-V上で動かす
256NAME IS NULL:2010/05/12(水) 18:29:18 ID:???
インストールはできるんじゃない?
ただ、いずれかのCPUのうち1コアしか使われないというだけかと。
257NAME IS NULL:2010/05/12(水) 21:27:35 ID:???
駄目なら140万追加とは豪気だな。
ライセンスが気になるわ。
258NAME IS NULL:2010/05/12(水) 21:46:54 ID:???
どこで買えば140万も取られるんだろ。
259NAME IS NULL:2010/05/12(水) 21:50:28 ID:???
Standardのプロセッサライセンスでも100万ちょっと?
260NAME IS NULL:2010/05/12(水) 21:51:13 ID:???
と思ったけどそんぐらいするんだな。
システム発注側ってのも大変なもんなんだなぁ
261NAME IS NULL:2010/05/12(水) 21:57:18 ID:???
あれえ、もしかして2008Expressを2ソケットPCにインストールすることがライセンス違反になるのかなぁ
262NAME IS NULL:2010/05/12(水) 22:00:11 ID:???
1個のCPUのすべてのコアが使われる、かな
263NAME IS NULL:2010/05/12(水) 22:00:48 ID:???
どう読めばExpressのライセンス違反になるんだよwww
264NAME IS NULL:2010/05/12(水) 22:03:28 ID:???
サポートしている数よりも多いCPUが搭載されたPCにインストールするのがありなのかなしなのかと思って。。。
265NAME IS NULL:2010/05/12(水) 22:31:05 ID:???
もう開発すんの諦めろよ
266NAME IS NULL:2010/05/13(木) 02:14:41 ID:???
開発はDevelopEditionだろ普通。
267NAME IS NULL:2010/05/14(金) 20:29:39 ID:???
>>266
運用もだろ普通。
268NAME IS NULL:2010/05/14(金) 20:34:08 ID:???
納品出来ないだろ
269NAME IS NULL:2010/05/15(土) 07:26:42 ID:???
通報しま(ry
270NAME 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と同じ人なのですか?
271NAME IS NULL:2010/05/15(土) 15:27:41 ID:???
○○システム、ライセンス違反が見つかり飛行機発着不能に
経産大臣とバルマーCEOが緊急会談
とかになるの?
272NAME IS NULL:2010/05/15(土) 15:33:35 ID:???
>>270
都市伝説シリーズはSQL Serverのプロダクトマネージャの人がぶち切れてたなあ
オラクルは何か反応したのだろうか
273NAME IS NULL:2010/05/15(土) 18:17:19 ID:???
NUMAで構成した場合ページキャッシュってどうなってるんだろうね
どこかのCPUの一箇所にしか存在しなかったら
QPIなりHTなりがボトルネックになりかねない気がする
274NAME IS NULL:2010/05/16(日) 01:34:04 ID:???
>>272
まあ、例えFIX済みのバグに起因するのであっても、
製品として販売されているバージョンについて、
データファイルが破損したケースが1件でも発見できれば、
このoracleの主張に正当性はあるんですよね。
確実に無いと言う事を証明(悪魔の証明)でもしない限りは。
275NAME IS NULL:2010/05/16(日) 02:51:57 ID:???
RAIDコントローラのバグで壊れたことはあるよ。
オラクルも同じように壊れたわけだけど。
負荷がでかくなるとキャッシュだけに書いてディスクには書いてなかったバグなので
キャッシュから追い出されたあとに読み直すとデータが違っていたとかひどいバグだった。
SQLIOSimを実行すると一瞬でエラーで埋まるなんて状態だったけど。
安売りされてるサーバーに付いているRAIDコントローラってこんなもんなのかぁと思ったけど。
276NAME IS NULL:2010/05/21(金) 09:08:16 ID:cuGZjYO6
俺に言わせろ第1回 SQL Server PM 北川
http://www.youtube.com/watch?v=Wq2j0RXLjC0
277NAME IS NULL:2010/05/22(土) 01:45:46 ID:o0WlONLE
278NAME IS NULL:2010/05/27(木) 00:19:18 ID:???
PostgreSQLからSQL2k8 R2にデータを移行したいんだが、2つのDBに接続して、
一方からselectして、もう一方へinsertみたいなことができるツールってないだろうか。
データ型の不整合はないのが前提として、手っ取り早く移行できそうな気がするんだけど・・・?
279NAME IS NULL:2010/05/27(木) 01:19:42 ID:???
>278
SQL Serverで、昔のDTS 今のバージョンならIntegration Servicesってのがある
PostgreSQLのドライバさえあればこれでできるはず
ただ、Integration Services使ってみたけど、案外使いにくいんだよな
OLEDBのドライバあるなら、SQL ServerからリンクサーバでDBリンク張れると思うんだが
こっちのほうが簡単かも
280NAME IS NULL:2010/05/27(木) 01:28:08 ID:???
>>279
DBリンクできるならそっちの方がよさそう。
そういう手段もあったのね。試してみます。
情報thx!!
281NAME IS NULL:2010/06/04(金) 11:13:41 ID:???
Windows認証で運用しているSQL ServerにLinux or Mac OS Xから接続できる?
282NAME IS NULL:2010/06/04(金) 12:06:31 ID:???
混合モードにしてSQLServer認証を使うしかないんじゃ。
283NAME IS NULL:2010/06/04(金) 13:09:48 ID:???
ですよね…。
SQL Server 7なもんで、混合モードが無いので、無理だ…。
ありがとうございました。
284NAME IS NULL:2010/06/04(金) 18:02:03 ID:???
全部SQL鯖認証にすりゃ解決じゃん
285NAME IS NULL:2010/06/04(金) 22:15:32 ID:???
7.0なんてもう使う意味ねーだろ
286NAME IS NULL:2010/06/04(金) 22:58:55 ID:???
保守と拡張だろしかたないVB6と一緒なんだよ
287NAME IS NULL:2010/06/05(土) 15:24:43 ID:???
7.0のサポート期限、2010/12/31までだぞ
金出させて更新させるか完全放置しろ
288NAME IS NULL:2010/06/05(土) 15:30:22 ID:???
ローカル環境だとサポート云々言っても馬念仏だわ。
今まで動いていたのだから、これからも大丈夫でしょ。
え?問題無く動くのに金払うの?なんで?
とか言われたら・・・
289NAME IS NULL:2010/06/05(土) 15:58:06 ID:???
ローカル環境だから安全だと思ってるやつってまだいるんだ
290NAME IS NULL:2010/06/05(土) 16:12:33 ID:???
>>287
そんなに先だったのか。
ってことは、7.0ってWin2003もサポート対象だったんだな。
291NAME IS NULL:2010/06/05(土) 16:26:48 ID:???
ミラーリングで冗長性を・・・と言ってアップグレードだな
冗長性確保で2台にインスコするときはライセンスは1つでいいらしい。
292NAME IS NULL:2010/06/05(土) 19:33:57 ID:???
>>287
そうそう、2000もたしか同じだったはず
来年からは、2005以上として考えられるからいくらか楽になる
特にtry-catchとwithは使用できないと結構面倒くさい
293NAME IS NULL:2010/06/05(土) 21:20:50 ID:???
>>291
え まじで
294NAME IS NULL:2010/06/05(土) 21:46:35 ID:???
なかなか複雑だなぁ
295NAME IS NULL:2010/06/05(土) 21:50:13 ID:???
296NAME IS NULL:2010/06/05(土) 22:13:20 ID:???
もしかして今ままで監視含めて3ライセンス購入なんて言うなよw
297NAME IS NULL:2010/06/05(土) 22:56:27 ID:???
>>293
待機系はライセンス要らないよ
その待機系には、普段は別の仕事をさせてたり〜てなら、それ「待機系」じゃなくなるけど。

マイクロソフトの公式に書いてあるよ。
OSもSQL Serverも、待機系には本番系のライセンスで入れて運用して桶
298NAME IS NULL:2010/06/05(土) 22:57:47 ID:???
ああ >>295 の「フォールオーバー機能を利用する場合」にあるな

>フェールオーバー クラスタリング、データベース ミラーリング、ログ配布のいずれかのテクノロジーを使用し、
>SQL Server 2008 R2 のフェールオーバー機能を利用する場合、
>Passive 側 (待機サーバー) のライセンスを購入する必要はありません。
299NAME IS NULL:2010/06/05(土) 23:04:38 ID:???
それにしても正規表現を標準で取り入れて欲しい今日この頃
300NAME IS NULL:2010/06/05(土) 23:11:20 ID:???
いわゆるUnix由来の正規表現は、Shift-JISで問題が起こるからねぇ。
結局、アプリ側で対処してね、で終わる。
301NAME IS NULL:2010/06/05(土) 23:55:20 ID:???
>>299
欲しいよね
どうしてもという時はSQLCLRで関数作ってありがたく
使わせてもらってるけど
302NAME IS NULL:2010/06/07(月) 09:36:28 ID:???
IDENTITY列の最後に発行した値はIDENT_CURRENTで取得できますが
ROWGUIDCOL列の最後に発行した値はどのように取得すればよいでしょうか?
303NAME IS NULL:2010/06/08(火) 01:56:56 ID:???
どう使いたいかはわからんが、InsertやUpdate後の値が取りたいのならOUTPUT句を使いなさい。
304NAME IS NULL:2010/06/09(水) 11:29:29 ID:???
大きな文字列変数が欲しいので
declare @hoge text
とやってみたんですがtext型はだめみたいです。
大きな文字列をローカル変数で扱いたい場合に
オススメの型はありませんか?
305NAME IS NULL:2010/06/09(水) 11:33:00 ID:???
なにがだめなんですか
おおきいって100じくらいですか
306NAME IS NULL:2010/06/09(水) 20:05:21 ID:???
バージョンくらい書けよと
んで text では何がだめなんだ?

2005以降なら varchar(max)があるけど
どうしたいんだ?
307NAME IS NULL:2010/06/10(木) 02:00:09 ID:???
textは宣言できないだろ。
普通に確保するならvarchar(8000)かnvarchar(4000)だな。
それよりでかいのが欲しいなら処理方法とか考え直せ。
308NAME 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をこえています
とエラーが出てしまいます。

どなたか回避方法を知っていれば教えてください。
よろしく願いします。
309NAME IS NULL:2010/06/14(月) 01:12:07 ID:bmiAekTJ
SQLServerではVARCHARなんかの可変長列を一切使わず、
レコードを固定長にした方が僅かでもパフォーマンスが良くなったりしますか?
310NAME IS NULL:2010/06/14(月) 12:05:16 ID:???
311NAME IS NULL:2010/06/15(火) 12:24:51 ID:???
>>309
まったくない。
312NAME IS NULL:2010/06/18(金) 18:45:11 ID:???
これ見てよ↓
http://livedoor.blogimg.jp/tekepo/imgs/3/4/3414dfca.jpg
ばらまこうぜ!
313NAME IS NULL:2010/06/21(月) 10:17:57 ID:???
R2ってコア部分なんか良くなってる?
314NAME IS NULL:2010/07/02(金) 16:59:05 ID:???
t-sqlで数値を16進数文字列に変換する方法ってありますでしょうか?
VBでいうところとHex関数のような。
315NAME IS NULL:2010/07/02(金) 17:50:17 ID:???
>>314
inttohex
316NAME IS NULL:2010/07/02(金) 20:54:34 ID:???
>>315
2000には無いようですねorz
317NAME IS NULL:2010/07/07(水) 18:09:49 ID:???
ストアドなどはエンタープライズマネージャで
複数選択してCtrl+Cをするとそれを一気にSQLにできますが
ジョブは同様のことができません。
何か方法はないものでしょうか?
318NAME IS NULL:2010/07/21(水) 18:41:13 ID:???
SQL Serverって、オススメなマニュアルは無いのでしょうか?
赤本とか読むしか無いのですかね?

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

OSだと昔はリソースキットとか青い本が何冊も出てたかと思うんですが、
最近、そういうのも書店で見かけなくなったような。
俺の目が節穴なだけですか?
319NAME IS NULL:2010/07/21(水) 21:16:10 ID:oL/WPo2R
オンラインブック
320NAME IS NULL:2010/07/21(水) 22:20:30 ID:???
自習書シリーズが結構掲載されてるからDLしてみれば
MSが作らずに外注しているだけあって、それなりに読み易くなってる
321NAME IS NULL:2010/07/22(木) 01:41:01 ID:???
>>318
Books Onlineとかのヘルプに目を通す。
普通に内容充実してるだろ。
322NAME IS NULL:2010/07/23(金) 00:31:33 ID:???
何を知りたいかによるけど、大概はオンラインヘルプで十分だわな。
323NAME IS NULL:2010/07/23(金) 14:30:34 ID:???
PCの知識が全くない者の質問ですが、よろしくお願いします。
今回仕事用のソフトがSQL Server云々とエラーが出てインストールできませんでした。
確認してみると確かに「SQL Serverシリーズを既にご利用の方はインストールできません」となっています。
PCを買い替えたばかりで最初からインストールされていたので利用している自覚はないのですが、
これらはアンインストールしても問題ないのでしょうか?
324NAME IS NULL:2010/07/23(金) 15:02:20 ID:???
>>323
他の人に頼めw
325NAME IS NULL:2010/07/23(金) 15:03:32 ID:???
問題あるに決まってんだろ。
何かアプリケーションがSQL Serverを使うからSQL Serverが入ってるんだろ?
それを消したら、そのアプリケーションが動かなくなる。
それってサーバじゃね?ログをブラウザで見る機能とか無いか?
もしあれば、そのログ管理にSQLServerを使ってると思う。

ま、俺のPCじゃねーし、好きにするがいいさ。
326NAME IS NULL:2010/07/23(金) 17:20:39 ID:???
最近のソフトウェアはSQL Serverを結構使ってるよな。
バックアップソフトとかも使ってて正直うざいというのはある。
327NAME IS NULL:2010/07/23(金) 19:33:15 ID:???
Expressだろうけどな。それかWID。
328NAME IS NULL:2010/07/24(土) 09:50:38 ID:???
今のExpressってインスタンス名変えられるの?
ソフトウェアにバンドルされてる奴はExpressじゃなくてCompactか
一応は正規版なんでないの。
329NAME IS NULL:2010/07/24(土) 17:32:50 ID:???
2008R2のExpressはたしかプロセッサは1個まで、データベース容量は10Gまでインスタンス変更可能
330NAME IS NULL:2010/07/26(月) 18:07:59 ID:???
昔は2Gとかじゃなかったっけ?
10あったら実用的だなあ。

インスタンス名を変えられるのであれば、
何個もインスコできるの?Express。
331NAME 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からなんとかリンクサーバーを利用したい。
おたすけ。
332331:2010/07/26(月) 19:44:08 ID:???
>ServerAのSQL Server Management Studioからクエリーを実行する
これは、ServerAのデスクトップから、という意味です。
333NAME IS NULL:2010/07/26(月) 19:47:02 ID:???
ダブルホップになってるような希ガス。
334331: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は大嫌いなんだ。
335NAME IS NULL:2010/07/28(水) 13:13:28 ID:???
ttp://technet.microsoft.com/ja-jp/library/ms188031.aspx
ここでsp_detach_dbは将来削除されると書いてありますが、
代わりのデタッチ処理はあるんでしょうか?
336NAME IS NULL:2010/07/28(水) 13:15:29 ID:???
よくみたらkeepfulltextindexfile の事のようでした
失礼しました。
337NAME IS NULL:2010/08/05(木) 09:43:49 ID:???
test
338NAME IS NULL:2010/08/06(金) 15:20:30 ID:SzObnq5+
質問です。
SQL-Server2008R1を購入しクライアントソフトのみをWindows7上にインストールして
Windows2000+SQL-Server2000のデータベースにアクセスできるものでしょうか?

もしこれが不可能だとすると職場のWorkStaion全てを一気にWindows2000からWindows7に
更新しなければ移行が不可能になります。労力と予算的に相当厳しいです。
339NAME IS NULL:2010/08/06(金) 15:31:36 ID:???
>>338
SQL2008ExpressのManagementStudio使えばいいんじゃないの?
Win7はまだ職場に無いけど、XPからWin2k+SQL2kなら実際に使ってる。
340NAME IS NULL:2010/08/06(金) 15:41:13 ID:???
やばい、俺には意味がわからなかった…。
341NAME IS NULL:2010/08/06(金) 15:50:14 ID:SzObnq5+
>>339
そういう手があるんですか、希望がでてきました。
ありがとうございます!!

(R1ではなくR2でした)
342NAME IS NULL:2010/08/06(金) 16:26:54 ID:???
もしそれが不可能な場合、Windows7にVirtualPC入れてWindows2000を動かせばよいような。
343NAME IS NULL:2010/08/06(金) 16:58:14 ID:???
クライアントってどういものを言っているのかいまいちわからんけど、
7であれば、普通のPCがアクセスに使うであろう、ODBCやADO.NETなら最初から入っていると思うが。
344NAME IS NULL:2010/08/06(金) 19:56:35 ID:???
2000なら適当な理由付けてでも、さっさと移行した方が良いと思うのは俺だけか。
345NAME IS NULL:2010/08/08(日) 22:08:13 ID:???
一つのSQL文のWHERE内で同じ計算式複数出てくる場合
SQL文がかなり長くなるんですが一つにまとめる方法はあるでしょうか?
346NAME IS NULL:2010/08/08(日) 22:19:28 ID:???
>>345
CTE
347NAME IS NULL:2010/08/08(日) 22:31:06 ID:LVXmQUXK
NULL データの扱いを
一般のSQL互換でないやりかたにしたのは許せないな。

面倒この上ない。
348NAME IS NULL:2010/08/08(日) 23:25:43 ID:???
>>346
ありがとう。確認してみます。
349NAME IS NULL:2010/08/09(月) 16:23:31 ID:???
>>347
SQL互換ってのもよく判らない表現だが
具体的にNULLのどういう取り扱いが問題なんだ?
350NAME IS NULL:2010/08/09(月) 22:22:58 ID:???
NULL有りのユニーク索引のことかな?
これはSQLServer独特の動きをするが、そんな索引は普通は使わないな。

それとも互換モードでのNULLの扱いのことかな?
351NAME IS NULL:2010/08/09(月) 22:51:34 ID:???
SET ANSI_NULLS OFFの動作?
352NAME IS NULL:2010/08/10(火) 07:35:19 ID:???
WHERE 区分=ISNULL(@区分,区分)

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

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


結局は
WHERE (区分=@区分 OR @区分 IS NULL)
って書かざるを得ない。
353NAME IS NULL:2010/08/10(火) 09:49:22 ID:???
それで仕様通りじゃないか。
それこそ互換性無視してSET ANSI_NULLS OFFしたら?
354NAME IS NULL:2010/08/10(火) 09:50:59 ID:9HJ13L/P
質問なのですが、MSDE 2000を利用しているのですが、
SQL Server 2008 Management Studio Expressを利用してExcelファイルにエクスポートすることは可能でしょうか?
355NAME IS NULL:2010/08/10(火) 09:51:47 ID:???
SET ANSI_NULLS OFF しても >>352 の最初の書き方では期待通りの動作しないのよ
356NAME IS NULL:2010/08/10(火) 10:27:58 ID:???
>>354
出来たよ。
つか、別に費用かからないんだからダウンロードして試せばいいじゃん。
357NAME IS NULL:2010/08/10(火) 11:15:16 ID:???
今更NULL = NULLが真になるような処理系なんて見たくもないし、
それが通るようなオプション設定作られてもバグの元になるだけ。
358NAME IS NULL:2010/08/10(火) 17:47:37 ID:???
SET ANSI_NULLS OFFだけでなく、
互換レベルを70や60あたりまで戻さないとダメなんじゃないかなぁ。
359NAME IS NULL:2010/08/10(火) 17:53:05 ID:???
>>357
>NULL = NULLが真

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

IS と = とを等価で扱ってくれたほうがラクじゃないのか?
360NAME IS NULL:2010/08/10(火) 18:03:43 ID:???
>一般のSQL互換でない(>>347) から。
NULLは3値論理の不定として扱うことになったのでほとんどのRDBはそれに従った。
361NAME IS NULL:2010/08/10(火) 18:15:10 ID:???
>>347の頭のほうが一般のSQL互換で無いということね
362NAME IS NULL:2010/08/10(火) 20:25:20 ID:???
まぁ、3値論理は肌に合う合わないの個人差大きいからなぁ。
直感的に扱える人のほうが珍しいかもしんない。

といっても、RDB扱う上で避けては通れないので
脳のシワに刻み込まなきゃならないんだけどな。
363NAME IS NULL:2010/08/10(火) 23:37:53 ID:???
SQL Server 2008R2 Express 日本語版はいつ提供されるんだ
今ダウンロードしようとすると英語版に飛ばされるんだけど、日本語が欲しい
364NAME IS NULL:2010/08/10(火) 23:47:11 ID:???
SQL Server 2008R2 Expressでググった一番上のリンクから普通にJPダウンロードできるんだが。
365NAME IS NULL:2010/08/11(水) 00:16:50 ID:???
>>364
ありがとう見つかった。
MSのサイトのホームからたどっていくとたどり着けなかったんだ。
366NAME IS NULL:2010/08/11(水) 09:40:22 ID:???
>>359
IS と = って同じものじゃないの?
367NAME IS NULL:2010/08/11(水) 11:43:48 ID:???
>>366
違う
=は比較で、結果は真、偽、不定のどれか
ISは検査で、結果は真か偽

NULLの比較は不定になるのがNULLの決まり
368NAME 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は難しいですね・・・
369NAME 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となる予定らしいから
なるべく使わないでくれってなってるな
370NAME IS NULL:2010/08/13(金) 01:53:35 ID:???
3値論理もわからんやつがPGするな
371NAME IS NULL:2010/08/13(金) 05:26:30 ID:???
それ基準にしたら、SIer勤めのPGは半分以上が廃業だろw いや、もっと多いか。
372NAME IS NULL:2010/08/13(金) 09:02:47 ID:???
PGっていうか、コーダーじゃないのか。
373NAME IS NULL:2010/08/13(金) 11:28:36 ID:???
sql server 2005から例外処理が追加されましたが、
例外はどのタイミングで発生するのか分かりません

教えてください
374NAME IS NULL:2010/08/13(金) 20:00:05 ID:???
関係モデルが3値論理を採用しているって、知らない人は結構多いな
ANDがF>U>T、ORがT>U>Fの優先順で評価されるんだっけ
375NAME IS NULL:2010/08/14(土) 00:42:46 ID:???
>>373
ステートメント単位
376NAME IS NULL:2010/08/19(木) 22:47:08 ID:???
management studioでctrl + hで表示される文字列置換ダイアログについて
正規表現で\t(タブ)はマッチするのに、
\s(スペース)や{1,2}などはマッチしません

これって、microsoftの製品は\sや{1,2}が無いのでしょうか?
377NAME IS NULL:2010/08/20(金) 11:19:44 ID:???
SQL2008Standard 1台と、SQL2008Express多数で、テーブルのレプリケーションによる同期は出来るのでしょうか。
378NAME IS NULL:2010/08/20(金) 12:13:11 ID:???
>>377
Expressはそういう用途で使えない。
379NAME IS NULL:2010/08/20(金) 12:25:52 ID:???
>>378
やはり無理ですか。ありがとうございます。
380NAME IS NULL:2010/08/24(火) 04:44:21 ID:4e1wvTf+
DBCC DBREINDEX コマンドが行う断片化の解消って、
 @前回コマンド実行時から断片化した分だけ、断片化を解消する
 A1回インデックスをDROPして再作成する
のどっち?
自分の体感時間から考えると@のような気がする。
381NAME IS NULL:2010/08/24(火) 09:49:29 ID:???
>>380
デフラグなんだからそりゃそうでしょ。

つーか、MSはいい加減再編成と再構築を統一して欲しいわ。
そりゃコマンドで言えばそれまでだろうけど。
382NAME 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です。
383NAME IS NULL:2010/08/24(火) 16:19:38 ID:???
execute ('select * into [#住所録] from 住所録;select * from [#住所録]')
ならできるよ
384382:2010/08/24(火) 16:28:05 ID:???
>>383
あ、ほんとや!
実はストアド中で処理してます。SQL文が長いんで、

execute(@strSQL1 + ';' +@strSQL2 + ';' +@strSQL3)
なふうにするのもなんかすっきりしません。
385NAME IS NULL:2010/08/24(火) 16:48:08 ID:???
ストアドみたいな時代遅れなものを使うのが間違い
386382:2010/08/24(火) 17:15:25 ID:???
>>385
ツールの制約あってねー。能力も。

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

がなんでダメなのかがわからないんですよ。
387NAME IS NULL:2010/08/24(火) 17:22:04 ID:???
execute ('select * into [##住所録] from 住所録')
go
execute ('select * from [##住所録]')
go

ならいけるよ

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

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

仕方ないので見直してフロントで対応します。
390NAME IS NULL:2010/08/24(火) 17:52:00 ID:???
今後はストアドの利用は最小限にしていきましょうね。
約束ですよ。
391NAME IS NULL:2010/08/24(火) 18:12:13 ID:???
SQL Serverのストアドは確かに古臭いが、使ってはいけないものじゃない。
今回のケースでは一時テーブルではなくてTable型を利用する必要がある。
392NAME IS NULL:2010/08/24(火) 20:46:55 ID:???
あるテーブルのデータから別のテーブルのデータを作る時って、
ストアドを使うのが普通なんですか?
393NAME IS NULL:2010/08/24(火) 21:25:36 ID:???
SELECT INTOとか2008以降ならMERGE使えばいいんじゃない
ストアドは個人的にそれほど抵抗はない
だけど、トリガーだけは勘弁
トリガーの連鎖とかあると、もう訳わかわらん
394NAME IS NULL:2010/08/26(木) 01:53:08 ID:khjLaUOa
こんにちは
トリガーの中でクライアントのosユーザ名やマシン名を使う方法がわかりません。
SUSER_SNAME()を使うと、SQLServer認証の場合SqlServrへのログイン名が帰って来ます。
OraclのSYS_CONTEXT('USERENV','SESSION_USER')見たいな事がやりたいのです。
395NAME IS NULL:2010/08/26(木) 23:10:15 ID:???
SQL認証だとクライアントから自己申告させるしかないんじゃない?
セキュリティ周りに使いたいのならWindows認証にすべきかと
396NAME IS NULL:2010/08/27(金) 00:31:33 ID:cSQaMq+0
Webが絡むとWindows認証ではないだろう
397NAME IS NULL:2010/08/27(金) 07:13:50 ID:???
Web上でWindows認証ってできないの?
398NAME IS NULL:2010/08/27(金) 07:19:49 ID:???
トリガーを使うのが間違い
399NAME IS NULL:2010/08/27(金) 07:26:08 ID:???
400NAME IS NULL:2010/08/27(金) 20:05:08 ID:???
トリガー使うくらいなら、まだCASCADEとかを使ってくれた方がマシ
401NAME IS NULL:2010/08/29(日) 00:04:57 ID:???
394です。いろいろ ありがとうございます。
このプログラムのためにWINDOWS認証に変更はできません。
誰がアクセスしたかを知りたいことは良くあるし、何割かのサーバーはSQL認証を使っていると思うので
絶対何か方法が用意されていると思ったのですが、どうしても見つかりません。
クライアントマシン名も、COMPUTER-EA13C8みたいな訳のわからない記号が帰ってきます。
もうちょっと探してみます。
402NAME IS NULL:2010/08/29(日) 00:21:35 ID:???
プロファイラで見られる情報以上は無理だろ。
403NAME IS NULL:2010/08/30(月) 06:51:42 ID:MkDtH9ny
やった事ないけど、
LDAPから情報を取得できるらしい
http://devadjust.exblog.jp/9777591/
404NAME IS NULL:2010/08/30(月) 07:07:44 ID:???
それはつないできてるユーザーとはなんも関係ない。
405NAME 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
406NAME IS NULL:2010/09/02(木) 21:55:39 ID:???
>>405
実行プランを比較すれば?
407NAME IS NULL:2010/09/02(木) 22:02:52 ID:???
>>406
あ、そうか。
変更後のプランだけ見てたけど比較すれば良かったのか。
ありがとう、やってみる。
408NAME 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'

と。
多分、実行プラン的には大差ないんだろうけど、なんとなく・・・
409NAME IS NULL:2010/09/03(金) 11:30:19 ID:???
大差ないというか、まったく同じ実行プランになるような気がする
今俺は試せないのでだれか試してくれ
最近のSQLServerのオプティマイザ結構良くできてるぜ
410NAME IS NULL:2010/09/03(金) 14:24:13 ID:???
>>405
日付の / 区切りは設定や環境依存があるから - 区切りを使ったほうが良い。
プランに影響があるかどうかは知らんけど。
'9999-12-31 23:59:59'
411NAME IS NULL:2010/09/03(金) 22:06:40 ID:???
内部結合ではONとWHEREでの条件によって違いはでないでしょ
412NAME IS NULL:2010/09/03(金) 23:52:02 ID:???
すいません、こちらのスレで良いのかわからないのですが
大量データについて質問させて下さい。
100万件500MBほどのデータをDBからファイルに出力したい。
抽出の際には、Where句により2つのフラグを判断させます。
しかし、抽出したデータに出力対象外のものが15%含まれており
このデータを弾く為に、DBに判断用のフラグを追加するのと
全て取得してプログラム内で弾いていくのと、どちらが早いのでしょうか?

動作環境がない為、判断できずに悩んでます。どなたかお教えくださいm(_ _)m
413NAME IS NULL:2010/09/03(金) 23:56:53 ID:???
意味がわからんけど、「DBに判断用のフラグ追加する」って
そのフラグ追加の条件をWhereに追加すれば良いんじゃないの?
414412:2010/09/04(土) 00:05:07 ID:???
>>413
説明下手ですみません。
フラグ追加の条件が、既存のバイナリ項目のデータのNバイト目がこれなら〜
という判断になるため、単純なSQL文ではいけなさそうです。
415NAME 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
設定なのかも知れないけど、何故かハイフンだと怒られる。
やっぱり普通はハイフンで通るのかー。うーむ。


一応解決はしたのでこれまで。
重ねて、みんなありがとう。また草葉の陰からミテルヨ。
416NAME IS NULL:2010/09/05(日) 05:17:49 ID:???
>>412
substring
>>415は死ぬのかよ。
417sage:2010/09/08(水) 08:44:01 ID:7OmomW6O
教えてください。

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

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

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

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


宜しくお願いします。
418NAME 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|
419NAME 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って、ロックされてる奴はスキップするんじゃないの?訳がわからん。
420NAME IS NULL:2010/09/11(土) 16:19:35 ID:???
こんな感じの構文でいけるはずだけど。
select * from table1 with (readpast)
ロックヒントが無効になるような組み合わせで別のヒントや
宣言トランザクションを使ってるとかないの?
421419:2010/09/11(土) 17:25:28 ID:???
>>420
まさにその構文でやってる。
AプロセスもRowLockしかロックヒント使ってないし、トランザクションも特に何も・・・
ロックの状態見たら、Aプロセスがインテクス排他(IX)でBプロセスが共有ロック(S)で競合。
SelectはReadPastでも共有ロックになっちゃうから待ちはしょうがないの?頭痛い。
422NAME IS NULL:2010/09/12(日) 13:50:27 ID:???
>>419
MSDNには
READPAST は、READ COMMITTED 分離レベルまたは REPEATABLE READ 分離レベルで実行中のトランザクションでのみ指定できます
ってあるぞ
分離レベルとか、それ以前にバージョンとかエディションとかちゃんと書いて質問すれ
423419:2010/09/13(月) 17:51:33 ID:???
>>422
Bプロセスでの分離レベルを調べて見たら、SERIALIZABLEになってましたorz
アホな質問でお騒がせしました。。。ありがとうございましたm(_ _)m
424NAME IS NULL:2010/09/14(火) 01:22:46 ID:umbDEoJI
MSDNの新着ダウンロードが古い順はどうしてなの?
425NAME IS NULL:2010/09/15(水) 23:32:07 ID:???
SQL Server 2008 Express Edition + SQLServer Management Studioです。

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

インターネットで検索するとSQLServer2005ではセキュリティ構成マネージャから変更できるようですが
SQLServer2008ExpressEditionにはセキュリティ構成マネージャがありません。
426NAME IS NULL:2010/09/15(水) 23:52:05 ID:???
なんか似たようなツールがあったはず。
427NAME 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

あってるかどうかはしらん
428NAME IS NULL:2010/09/16(木) 20:41:55 ID:???
427
大体あってる
429NAME IS NULL:2010/09/19(日) 18:25:19 ID:19pMJ8Xx
430NAME 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にて「このサーバーへのリモート接続を許可する」にチェックしてあり、ファイアウォールは無効にしています。

これ以外にも原因になりそうな箇所ありましたら確認してみますのでアドバイスお願いします。
431NAME IS NULL:2010/09/19(日) 20:49:17 ID:???
プロトコル有効にしてある?
432NAME IS NULL:2010/09/19(日) 21:03:25 ID:???
>>431
あ、お察しのとおり構成マネージャーで確認しましたら無効になっていました、、
大変しつれいしました。
ありがとうございました!
433NAME IS NULL:2010/09/20(月) 16:49:33 ID:???
OPTIMIZE FORってどんなときに使用するの?
434NAME IS NULL:2010/09/21(火) 19:55:04 ID:???
ADOの質問かもしれませんがよろしくお願いします。

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

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

435NAME 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ファイルが正しく作られたかどうか)
を取得したいのですが、方法がわかりません。
ご存知の方がいらっしゃいましたら、ご教授お願いいたします。
436NAME IS NULL:2010/09/26(日) 01:10:07 ID:???
も一度取り込むか、xp_cmdshellで適当なコマンド実行するか。
437NAME IS NULL:2010/09/28(火) 10:50:44 ID:???
> ファイル名 で結果をファイルにリダイレクトできなかったか?
438NAME IS NULL:2010/09/29(水) 20:20:35 ID:???
教えて下さい。

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

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

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

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

これを、(2)の場合についてもストアドの例外処理でキャッチする事は可能でしょうか?
439NAME IS NULL:2010/09/30(木) 09:33:47 ID:???
440NAME IS NULL:2010/10/03(日) 13:02:08 ID:kEASD2NB
SQL Server exspress 2008R2をACCESS2010で接続して、
テーブルを変更したいと思っていますが、ACCESSで入力できません。
多分、何か基本的な事が抜けているのだと思うのだが、教えていただけないでしょうか。

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

もう泣きそうだよ...
441NAME IS NULL:2010/10/03(日) 16:13:45 ID:mz90Y0Ei
SQL Server 2008 Developer

実売で五千円とかめっさ安いけど、これってなによ?
442NAME IS NULL:2010/10/03(日) 16:22:45 ID:???
開発用途専用
443NAME IS NULL:2010/10/03(日) 22:14:03 ID:???
>>440
ACCESSならいざ知らず、商用RDBで、テーブル表示させてその場で値を入力とかしない。
444NAME IS NULL:2010/10/03(日) 22:18:03 ID:???
フロントエンドにAccess使ってるだけじゃ
445NAME IS NULL:2010/10/03(日) 22:21:52 ID:???
主キーがない、とかってオチは?
446440:2010/10/04(月) 00:42:14 ID:???
>>445
確かに、主キーは設定していない。
ええっ。無いと編集できないのか。
明日試してみます。
本日は本問題を調べるために、本屋めぐりをしてました...
ありがとうございます。
447NAME IS NULL:2010/10/04(月) 02:01:14 ID:???
主キーうんぬんは本質ではない。
データ飛ばす前に、リレーショナルデータベース入門編みたいな本を買って読め。
SQL serverの管理や開発本の前に。

まさか、業務用のdbいじっている訳じゃないよな?
448NAME IS NULL:2010/10/04(月) 16:15:56 ID:???
主キー(正確には一意に識別できる項目)が無いと更新できないのはアクセスのリンクテーブルの仕様だったと思ったが
今のアクセスのプロジェクトがどうなってるか良くわからんが、今でもそうなのかね
449NAME IS NULL:2010/10/05(火) 13:35:58 ID:FBUpfaxk
450NAME IS NULL:2010/10/06(水) 23:12:20 ID:i8mPwdUO
>445
主キーのあるデータで試したところACCESSで書き込みが出来ました。
ありがとうございました。

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

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

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



心配するな、俺もまだ素人だった頃一回やったことあるw
452NAME IS NULL:2010/10/07(木) 12:29:42 ID:???
トランザクションモードが「完全」になってたら復活できるお
デフォは「完全」だし
453NAME IS NULL:2010/10/07(木) 17:04:07 ID:???
2008 R2 RTM の CU3 x64版がダウンロードできなくなってるなぁ。
なんか問題でもあったのかな。
454440:2010/10/07(木) 21:08:44 ID:lR5PXQoy
>>451
VB6では開発をしていた事(DBは経験無し)があるので、VB2010でデータベース接続したり、ASP.NETでWEBで表示しようとしていたら、SQL Serverに接続できなくなり...
いろいろ設定とかをいじっていたら、いつのまにか使っていたデータベースが死んでました。
いまいち、原因は理解出来ていません。
基礎からのASP.NETとか言う本を買ってきたので、開発しながら遊んでみます。

>>452
復旧を試してみるのに、良い機会でしたね orz.
テスト用のどうでもいいデータだったので、削除してしまいました。
455NAME IS NULL:2010/10/13(水) 00:16:12 ID:ZtQlOMIP
timeout時間決める時の根拠って何かある?
一般的に計算式とか
456NAME IS NULL:2010/10/16(土) 09:19:19 ID:Ml1kziXE
Timeoutは15分とかでいいんでないの?
ものによるだろうけど。

SQLServerって自動拡張入るとTimeoutしちゃうでしょ。
タイムアウトはコネクションとSQL発行時の両方あるけどね。
457NAME IS NULL:2010/10/16(土) 09:53:13 ID:cBZyFJNw
458NAME 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ドライバが
提供されているのかいないのか、明示しているページはありませんか?

よろしくお願いいたします。
459NAME IS NULL:2010/10/17(日) 13:59:55 ID:???
>>458
ttp://docs.sun.com/source/820-2531/msSQL_Server.html
対応しているようだけど。
460NAME IS NULL:2010/10/17(日) 14:55:01 ID:???
>>459
情報ありがとうございます。
しかしながら、私の求めているJDBCドライバの情報とは違うようです。
461NAME IS NULL:2010/10/17(日) 17:23:40 ID:???
>>458
なんでそんな古いドライバの情報を引っ張ってきたの?
普通に検索したら http://msdn.microsoft.com/ja-jp/data/aa937724.aspx が見つかるだろうに。
リンクをたどっていけばわかるけどWindows認証も使える
462NAME IS NULL:2010/10/17(日) 17:33:11 ID:???
>>461
ありがとうございます。
非常に助かりました。

463NAME IS NULL:2010/10/17(日) 17:35:55 ID:???
>>458
http://msdn.microsoft.com/ja-jp/library/ms378428(v=SQL.90).aspx#Connectingintegrated
464NAME IS NULL:2010/10/17(日) 22:57:06 ID:???
>>463
助かりました。ありがとうございます。
465NAME 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 前のデータを「削除済み」なレコードとして履歴保管することです。
466NAME IS NULL:2010/10/18(月) 17:45:42 ID:???
自己レスです。

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

としたら上手くいきました。なんで項目名を指定しないときに
エラーを掃かせないといけないのか理解に苦しみますが
467NAME IS NULL:2010/10/18(月) 18:02:10 ID:???
解決と思いきや、##売上 という風に一時テーブルを使うと期待した動作をしない。。
##売上 → 売上_BAK だと正常に動作。。

奥深いなぁ
468NAME IS NULL:2010/10/18(月) 22:01:55 ID:???
トリガで論理削除みたいに変えるってなんか気持ち悪いなあ
ログを残すなら別テーブルにした方がいいんじゃ
469NAME IS NULL:2010/10/23(土) 20:16:03 ID:???
oracleで作ったストアド/テーブルをsql serverに
移植する事は現実的ですか?
上司がsql serverに移行したいな〜とか言っていたのですが、
個人的には「ストアドの文法違うし、nullの扱いが違うから無理だろ」と思っているのですが
470NAME IS NULL:2010/10/23(土) 20:34:19 ID:???
面倒
471469:2010/10/23(土) 20:36:07 ID:???
>>470
ストアドとかはほぼすべて書き直しなのですか?
472NAME IS NULL:2010/10/23(土) 20:36:51 ID:???
うん。
473469:2010/10/23(土) 20:38:45 ID:???
>>472
thx
474NAME IS NULL:2010/10/24(日) 11:25:13 ID:???
みなさんはSQLServerの資格をもっていらっしゃるんですか?
475NAME IS NULL:2010/10/24(日) 15:42:54 ID:???
無免許です
476NAME IS NULL:2010/10/24(日) 19:07:20 ID:???
生涯賃金で5000万くらい変わるのなら資格取っても良いかな。
477NAME IS NULL:2010/10/25(月) 03:08:38 ID:???
>>469
現実的かどうかは知らないが、案件としてはよくある話
478NAME 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 になるのでしょうか?

テーブルの計算列に含めて、インデックスのキーに入れたいのです。
479NAME IS NULL:2010/10/28(木) 01:46:08 ID:???
>>478
WITH SCHEMABINDINGつけてみ

480NAME IS NULL:2010/10/28(木) 11:53:16 ID:cVaZ9eIX
SQL Server 2008 と
SQL Server 2008 R2 とでは
何が違うの?
481NAME IS NULL:2010/10/28(木) 13:03:25 ID:???
R2が付いてる・・・て事じゃないかw

http://www.microsoft.com/japan/sqlserver/2008/r2/prodinfo/compare-version.mspx
482480:2010/10/28(木) 13:22:32 ID:???
>>481
ありがとー!
483NAME 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

で期待すること出来ました、ありがとうございます!
484NAME IS NULL:2010/10/31(日) 17:38:48 ID:???
システムドライブがSSDで、DドライブがHDDなんですけど、
DBのファイル(.mdf)をDドライブに置いておけば、
SSDへ書き込みはほとんど行われませんよね?
485NAME IS NULL:2010/10/31(日) 18:06:08 ID:???
ldfはどうするんだとかスワップはどうするんだとか。
486NAME IS NULL:2010/10/31(日) 18:11:37 ID:???
あ、.ldfもDドライブ上です
スワップってなんでしょ?
487NAME IS NULL:2010/10/31(日) 18:12:47 ID:???
SSDもHDDも消耗品と考えろ
488NAME IS NULL:2010/10/31(日) 18:17:27 ID:???
ログインユーザとスキーマの関係を教えてください
スキーマとロールの話を読んでいたら、何がなんだかわからなくなりました
489NAME IS NULL:2010/10/31(日) 21:58:45 ID:???
ユーザーとスキーマの分離
http://technet.microsoft.com/ja-jp/library/ms190387(SQL.100).aspx
490NAME IS NULL:2010/10/31(日) 22:03:53 ID:???
スキーマにユーザ名を使う例があったりするから
どうもわかりにくくなるのかな?

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

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


↑よくわかってないから意味不明な文章になってるかもしれん
491NAME IS NULL:2010/11/01(月) 20:47:27 ID:???
データベースユーザに複数のログインを紐付けることはできないのですか?
492NAME IS NULL:2010/11/03(水) 11:49:35 ID:???
Cumulative Update package 4 for SQL Server 2008 R2
http://support.microsoft.com/kb/2345451/
493NAME IS NULL:2010/11/04(木) 12:01:47 ID:x3Y/8ThA
7.0から2008に乗り換えたんですが、
テーブル内のデータを直接編集したい場合どのように
すればいいでしょうか?
上位200行の編集のような感じで条件指定して編集できれば理想です。

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

答えを書いておいて質問とは、これいかに
495NAME IS NULL:2010/11/04(木) 14:33:31 ID:???
>>494
すみません。お騒がせしました。
496NAME IS NULL:2010/11/04(木) 15:50:39 ID:???
select で編集した行みつけて編集すれば委員じゃない
497NAME IS NULL:2010/11/04(木) 16:03:12 ID:???
すんげえいい加減なこと書いちゃったかなぁと思って試したら
やっぱり無理だった

ビュー作ればできる。
498NAME IS NULL:2010/11/04(木) 16:17:06 ID:???
上位200行の編集→抽出条件ペインの表示 かね
499NAME IS NULL:2010/11/05(金) 15:45:06 ID:???
>テーブル内のデータを直接編集
なんだから、そのデータの格納されてるMDFファイルを
バイナリエディタかなんかで修正するしかないじゃないか

ま、普通は何らかのツール使うんだが、ツール名ぐらい書けって話だ
俺ならややこしい手作業修正ならACCESS使う
500NAME IS NULL:2010/11/05(金) 16:51:16 ID:???
Accessはないわ
普通に update 文を書く
501NAME IS NULL:2010/11/05(金) 17:44:59 ID:???
SQL Server Managment Studioとかでやれなかった? 
502NAME IS NULL:2010/11/05(金) 19:43:11 ID:???
言えない…
「なでしこ」でやってる、だなんて
503NAME IS NULL:2010/11/06(土) 12:46:19 ID:???
>>501
2005 の SSMS ならデーブルのデータ全表示で編集できたけど
2008 の SSMS から「上位200件の編集」しかなくなっちゃったから
そこに出てこないデータは SQL 文を書くか
全件表示するビューを作ってそこから編集かなぁ
504NAME IS NULL:2010/11/06(土) 12:52:30 ID:???
なんであれ200件になっちゃったの?
不便なんだけど。
505NAME IS NULL:2010/11/06(土) 15:36:07 ID:???
アレで編集すること自体が異常だと思っているからどうでも良いわ。
506NAME IS NULL:2010/11/06(土) 18:29:32 ID:91yUBFdX
初心者なんですが
sqlサーバー2005で商奉行を入れていたのですが
パーティションを移動した後
商奉行だけが起動しなくなってしまい
再インストールを試したのですがsqlサーバーが
見つからないと出てインストールできないのですが
どうしたらいいのでしょうか??
507NAME IS NULL:2010/11/06(土) 18:30:51 ID:???
あきらめろ
508NAME IS NULL:2010/11/06(土) 18:32:54 ID:VAE4Y5ED
商奉行のメーカーに問い合わせるのが一番早いと思うけど
509NAME IS NULL:2010/11/06(土) 18:34:10 ID:91yUBFdX
今日休みなんですよね・・・
510NAME IS NULL:2010/11/06(土) 19:18:24 ID:???
会社で使ってるシステムだったりして
511NAME IS NULL:2010/11/06(土) 19:38:51 ID:???
>>506
>パーティションを移動した後
なんでこんなことしたの?
どうせバックアップ取っているんだから戻せば良いじゃん。
取ってないなら、大人しく責任取れw
512NAME IS NULL:2010/11/06(土) 19:40:58 ID:91yUBFdX
パーティションの容量がなくなったので
空き容量を追加したんですよ

513NAME IS NULL:2010/11/06(土) 19:48:14 ID:???
作業前の状態に戻すしか無いでしょ。
SQLServerじゃなくて商奉行の問題だし。
単にサービス起動していないだけって気もするけど。
514NAME IS NULL:2010/11/06(土) 22:19:29 ID:j7WHBS3x
SQL server 2005において、メンテナンスプランで毎日データベースの
圧縮とバックアップ、不要データの削除を行っています。
不要データ削除により、バックアップファイルは日に日に小さくなって
おり、メンテナンスプラン開始日より約7GB小さくなっているのですが、
肝心のデータベース本体(mdfファイル)は全く小さくなっていません。
データベースを右クリックし、タスク−圧縮を選ぶと、使用可能な空き
領域が7GBと表示されるので、不要データの削除により空き領域は増えて
いるものの、メンテナンスプランの圧縮時にその空き領域の解放が行われ
ていないようです。

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

※SQLのログで気になるのは、圧縮のメンテナンスプランは毎日実行され、
正常に実行されましたと記述されているのですが、実行時間が数十秒しか
かかっていないのです。
20GBのデータベースの圧縮で数十秒しかかかっていないというのは実際には
正常に実行されていないのでしょうか?
515NAME IS NULL:2010/11/06(土) 22:31:11 ID:???
master DBを無理やり移動してサービスが起動しなくなったとかかな
バックアップですぐに戻せないのなら
素人は触らないで、金を払ってでもサポートに頼った方がいい
516NAME IS NULL:2010/11/06(土) 22:56:43 ID:???
>>514
>バックアップファイルは日に日に小さくなっており
単に差分バックアップじゃないの?
517NAME IS NULL:2010/11/07(日) 00:00:43 ID:???
518514:2010/11/07(日) 00:01:44 ID:tvZAn/2I
>>516
完全バックアップですよ。
519NAME IS NULL:2010/11/07(日) 00:03:57 ID:???
>>514
データの圧縮って論理ファイルの最後の方使っていると、圧縮しきれないんじゃなかったっけ?
520NAME IS NULL:2010/11/07(日) 14:17:55 ID:uGZy3Dqk
521514:2010/11/07(日) 15:29:58 ID:tvZAn/2I
トランザクションログファイル(ldfファイル)はきっちり圧縮されてます。
メンテナンスプランの圧縮タスクでは、そもそもトランザクションログ
ファイル(ldfファイル)の圧縮のみ行われ、mdfファイルの圧縮は
されないんでしょうか?
522NAME IS NULL:2010/11/07(日) 20:51:08 ID:???
>>521
メンテナンスプランの圧縮タスクが実際に何やってるかしらんが、ここ見てみ
http://msdn.microsoft.com/ja-jp/library/ms190488.aspx
>データベースは、そのデータベースの最小サイズより小さくすることはできません
つまり、20Gで作ったファイルは20Gまでしか小さくならないってことだ
初期サイズいくつで作った?
523514:2010/11/07(日) 22:34:47 ID:tvZAn/2I
>>522
そもそも、2年前の出発時は2GB程度でした。
この2年間でデータが蓄積され、20GBまで膨れ上がりました。
社内環境で、データベースのバックアップファイルを復元したものを
ManagementStudioで右クリック−タスク−圧縮で圧縮すると、mdf
ファイルも空き領域を解放し、小さくなるので、メンテナンスプランの
圧縮タスクでも同様の圧縮をしてくれればと思っているのですが・・・
524NAME IS NULL:2010/11/08(月) 12:23:33 ID:???
>>503
オプションで取得数は変えれるよ
若しくは、queryのtop nを書き換えるとか
525NAME 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のノウハウを分かり易く解説している書店で手に入る参考書や解説書を教えてください。
526NAME IS NULL:2010/11/09(火) 23:30:57 ID:???
SQL Server 2008 自習書シリーズ
527NAME IS NULL:2010/11/10(水) 12:52:37 ID:???
自習書シリーズってテーブル設計のあたりは
何も書いてなかった気がするなぁ。

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

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

SQL については SQL Server の自習書シリーズでとりあえず十分かな。
528NAME IS NULL:2010/11/10(水) 15:06:53 ID:???
ストアドをADOから呼び出す場合にストアド内で@@ERRORに0以外が
入るようなエラーが発生した場合は必ずADOにも通知されますでしょうか?
529NAME IS NULL:2010/11/11(木) 08:40:51 ID:???
>>525
>SQLやRDBMS等、DBについての知識がまったくないので

悪いこといわないから、データベース構築よりも顧客管理と見積書制作が優先順位が高いならACCESSでやれ、その程度のスキルなら。
ACCESSなら分かりやすい本も死ぬほど出ている。
530NAME IS NULL:2010/11/11(木) 16:09:30 ID:???
Access 使うぐらいなら
C# で ado.net 使ってアプリ組んじゃうわぁ
531NAME IS NULL:2010/11/11(木) 20:54:52 ID:???
compact 3.5 ってマルチスレッドで行ロック効かせてつかえる?
532NAME IS NULL:2010/11/12(金) 01:49:32 ID:???
>>530
SQL文もろくに書けなさそうな奴が、どうやってADO.netでアプリ組むんだよw
533NAME IS NULL:2010/11/12(金) 07:56:57 ID:???
ん、俺は >>525 じゃないよ
534NAME IS NULL:2010/11/12(金) 08:23:19 ID:???
>>533
わかってるよw
わざわざ525向けにAccessにしろって言うのに、ado.netっで言うのは、525にado.net使えって言いたかったんじゃないのか?
535NAME IS NULL:2010/11/12(金) 12:21:13 ID:???
まぁそうとも言える
536NAME 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 にしたら通ります。
統合環境が半端にエラーチェックしようとしていることが原因だと思います。
何とか外せませんでしょうか?
537NAME IS NULL:2010/11/12(金) 19:33:26 ID:???
>>536
馬鹿はおまえだ。
一時テーブルと言えども、一度作ったらセッションきれない限り削除されない。

存在するテーブルにselect intoしたらエラーになって当然
538NAME 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
539NAME IS NULL:2010/11/12(金) 19:41:47 ID:???
>>537
ストアド走らせる前の検証で>>536のメッセージが帰ってきているんじゃない?
どうでも良いことだがw
540536:2010/11/12(金) 20:12:53 ID:???
>>539 の仰るとおり
SQL Server Management Studio が余計な検証をしやがるのが困ってるんです。
IF で分岐されて、同時には走らないので、重複テーブルにはならないのですが・・・

>>538
実際の SQL 文の WHERE はもう少し細かいことやっているのですが
WHERE を OR で連結していくと速度が落ちるんです。
541NAME IS NULL:2010/11/12(金) 20:17:19 ID:???
compact 3.5 ってマルチスレッドで行ロック効かせてつかえる?
542NAME IS NULL:2010/11/12(金) 20:53:05 ID:???
>>541
やってみれば?
543NAME IS NULL:2010/11/12(金) 21:07:43 ID:???
>>540
UNION ALL で連結したら?
544NAME IS NULL:2010/11/12(金) 22:26:32 ID:???
>>540
動的SQLにすれば問題ナッシング
よほど複雑なSQLじゃなければ、今のRDBMSならパフォーマンスの問題もさほどない。
545NAME IS NULL:2010/11/12(金) 22:46:41 ID:???
今時ストアドを使う男の人って・・・
546NAME IS NULL:2010/11/12(金) 22:51:33 ID:???
若者のストアド離れ
547NAME IS NULL:2010/11/12(金) 23:51:51 ID:???
最近ストアドを覚えた・・・
548NAME IS NULL:2010/11/13(土) 09:34:24 ID:???
マルチスレッド開発できるひといないんですか、ここには!
なんで行ロックができるかも知らないんですか、つかってきたなら知っていることとですよね!
やってみればわかることはわかりますけど、そしたらなんのために質問してると思うんですか!
すこしかんがえてください
549NAME IS NULL:2010/11/13(土) 09:35:25 ID:???
>>548
やってみれば?
550NAME IS NULL:2010/11/13(土) 10:06:38 ID:???
できないひとはだまってください!
551NAME IS NULL:2010/11/13(土) 10:09:55 ID:???
使ってるよ。全く問題ない。
552NAME IS NULL:2010/11/13(土) 10:18:48 ID:???
ただでさえ過疎ってるのに
Compactを使う奴なんてそうそういるわけないだろ
名前は似てても中身は別物だからSQLServerの常識は通用しないし。
553NAME IS NULL:2010/11/13(土) 10:26:12 ID:???
Compact使うならSQLite使うもんね
554NAME IS NULL:2010/11/13(土) 10:28:02 ID:???
>>548
ここより、組み込みスレ(どこにあるか知らんが)行ったほうがはやいだろjk
555NAME IS NULL:2010/11/13(土) 11:33:31 ID:???
ドキュメントにきちんと書いてるのに
読まないで質問して
「やってみれば?」って言われたら「黙ってろ」とか、
もうね、ゆとりすぎて話にならんな。
556NAME IS NULL:2010/11/13(土) 11:39:25 ID:???
スルーしろよ
557NAME IS NULL:2010/11/13(土) 15:40:31 ID:???
釣りでしょ

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

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

いっそ2005から2000にレプリケーションしようとも考えてるんだけど・・・
558NAME IS NULL:2010/11/13(土) 15:56:05 ID:???
データだけなら、2000側に同一テーブル作って何でもいいから同時接続して流し込めばいいだけでは?
バッチ作ればあとは黙ってみてるだけ。

Viewだのストアドだのjobだのという話なら、俺ならそのまま移行して、エラーがでるものだけ手作業で作り直しちゃうかなぁ...
559NAME IS NULL:2010/11/13(土) 16:42:29 ID:???
>>548
おまえ、Firebirdスレでもembeddedの行ロックについて聞いていた奴だろ?w
Firebirdスレでも書いたが、組み込みDBは大抵10分もあれば起動できるんだから、せめて動かしてから質問しろ。
560536:2010/11/13(土) 23:07:08 ID:???
最初に SET 〜 で指定したりすることで
「余計な事前検証をやめさせる」ことは出来ないのでしょうか?
561NAME IS NULL:2010/11/14(日) 21:11:47 ID:???
>>560
メッセージ 2714、レベル 16、状態 1
事前検証じゃなくてサーバに投げたサーバ側のメッセージのような気がするんだが

まあ俺なら絶対真にならない条件でselect into1度走らせて空のテーブル作って
行の追加はinsert into ##TMP select * ... でやる
562NAME IS NULL:2010/11/16(火) 04:34:07 ID:???
一時テーブルってtruncate出来ないの?
unionでいいとおもうけど。
563561:2010/11/16(火) 18:20:39 ID:???
>>562
俺に対しての意見だよな?
unionをどう使うんだ?

select intoでテーブル作るって言ってるのは、もとの>>536がそうしてたから
まあテーブルレイアウトが動的に変わることはあんまりないだろうし、
テーブル再作成しないって前提ならtruncateで良いとは思うけど
564536:2010/11/16(火) 18:41:32 ID:???
どうもありがとうございます。

予め create table しておいて insert into するなりして回避するしか方法ないのでしょうか。
根本的には、SQL Server のコンパイラが馬鹿(バグ?)だと思うのですが。。。
565NAME 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
)
もできるかなと思ったんだけど、無理なのかな。
566NAME IS NULL:2010/11/16(火) 18:51:15 ID:???
>>563
動的にテーブルレイアウトが変わる場合でも>>561の方法ならできるの?

truncateを持ち出したのは、絶対真にならない条件でっていうのがめんどくさいなって
思ったからなんだけど1=0って書けばよかったね。
567561:2010/11/16(火) 19:11:10 ID:???
>>564
コンパイラが馬鹿と言えばまあそうなんだろうけど
ストアドの中で(一時テーブルといえ)テーブル作るのとかあんまり好ましいと思わないしな
select intoでテーブル作成が必須じゃないなら、素直にあらかじめ作っとけばいいんじゃね

>>566
select intoでテーブル作ると、そのときのレイアウトでテーブルができる
この例ならMOTOテーブルのレイアウトが変わっていても、ストアド走らすことによって
MOTOと同じレイアウトの##TMPが作成される
MOTOのレイアウトがころころ変わるようなら、レイアウト変更の影響うけにくい
さすがにwhereに使ってるカラムがなくなったりしたらダメだがw
568NAME IS NULL:2010/11/16(火) 19:24:32 ID:???
そもそもストアド使うのが間違いだしな
569NAME IS NULL:2010/11/16(火) 19:56:59 ID:???
ストアドストアドストアドー
570NAME IS NULL:2010/11/16(火) 20:17:36 ID:???
全部ぶっこんでDELETE
571NAME IS NULL:2010/11/16(火) 21:28:02 ID:???
>>567
ああ、動的に変わるってそういう意味か。

>>562では一時テーブルに対するtruncateと書いているし、まあなんでもいいんだけど。
572NAME IS NULL:2010/11/20(土) 12:50:55 ID:???
フルテキスト検索 CONTAINS を試してますが、どうも動作がヘンでして。。
「小菊」として登録されるデータが、CONTAINS(項目名, '菊') では検索対象になりません。
項目名 LIKE '%菊%' だと、「小菊」も拾ってます。

フルテキストインデックスを張るときの言語を「日本語」にしてあります。
FREETEXT でも傾向は変わりません。
573NAME IS NULL:2010/11/21(日) 05:53:05 ID:RG9/i762
>>567
動作させてないけど、
IF〜ELSEでなくて、
IF〜END、IF〜ENDでもエラーになっちゃうの?
574NAME IS NULL:2010/11/23(火) 19:26:29 ID:j4zKGW9Z
575NAME IS NULL:2010/11/23(火) 20:10:40 ID:???
>>574
意味がわからん
理解しようとするだけ時間の無駄だった
576NAME IS NULL:2010/12/07(火) 11:31:24 ID:???
パフォーマンスで質問です。

Personというテーブルがあって、そこから追加フラグと削除フラグを条件としたViewを作ります。
そのViewを使用して検索など行うのですが、Personというテーブルの追加フラグと削除フラグは
30分ごとに更新されると仮定してViewの更新のパフォーマンスは大幅に下がるのでしょうか?

Personテーブルは300万レコードで1レコード25フィールドとした場合を前提とします。

現行ではPersonテーブルを基本とした別テーブルを設けて、フラグが立てば別テーブルにインサート
及びデリートしております。(別テーブルは5万レコードほど)

みなさんはどのように考えますか?色々な考えを聞かせてください。
577NAME IS NULL:2010/12/07(火) 11:43:14 ID:XROx6G4k
age
578NAME IS NULL:2010/12/07(火) 12:50:43 ID:???
ビューの更新って何
579NAME IS NULL:2010/12/07(火) 13:23:35 ID:???
策定されたViewって参照元のテーブルが変更されない場合はメモリ等にあるんじゃ
なかったでした?
580NAME IS NULL:2010/12/07(火) 13:29:50 ID:???
ごめん、ストアドプロシージャとViewがごっちゃになってましたorz
581NAME 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()


こんな風はダメ?
走らせると通っちゃうんだけど
582NAME IS NULL:2010/12/07(火) 22:26:58 ID:???
それ決定的関数だと思うんだけど違うのかな
583NAME IS NULL:2010/12/07(火) 22:27:50 ID:???
って、getdateのほうか。ごめん。
584NAME IS NULL:2010/12/07(火) 23:06:59 ID:z2r88K6a
てっきり2008ServerにSQLServer付属されてるのかと思ったら別売りかよ
585NAME IS NULL:2010/12/07(火) 23:09:39 ID:???
つExpress
586NAME IS NULL:2010/12/09(木) 00:45:47 ID:???
>>572
形態素解析モジュールの気分次第だからじゃないかな。ngramじゃないし。
噂では「fulltext関連は買収した元製品のコードと変に交じり合って手がつけられない」
587NAME IS NULL:2010/12/17(金) 07:30:20 ID:???
588NAME IS NULL:2010/12/20(月) 15:18:09 ID:FELC/sSX
ここで聞くべき事か判りませんが・・・
他になさそうなのでここで

SQlSERVER2008WorkGroupを使用してDB運用をしております。
その際トラブルが発生し、SQL SERVER Profilerで発行されたSQL文をトレースしていると問題のSQL文が発見できたのですが、
そのSQL文がどのクライアント(IPアドレスが判るとよい)から発行されたものか調べることはできないでしょうか?

ログインは全てのクライアントがSQLSERVER認証で専用のログインIDとパスワードでログインしている為、調べられない状態です。
(Windows認証であればわかったのかもしれませんが・・・)

そういうトレースの方法等ご存知の方がいらっしゃいましたらお教え願えればと思っております。

589NAME IS NULL:2010/12/20(月) 20:34:06 ID:???
HostNameとかでとれるっしょ。
590NAME IS NULL:2010/12/22(水) 14:07:32 ID:???
>>572
Windows Search にも似たような不完全さがある。おそらく、全文検索機能というのはあまり信用しないほうがいい。
591NAME 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
592NAME IS NULL:2010/12/29(水) 15:05:57 ID:wn3G93rl
SQLServer2005ですが
本番dbとテストdbをインストールしています。
vb6からRDOで接続してますが、テストdbの接続文字列で本番dbが検索
できてしまいました、去年はちゃんと動いたんですが・・・
原因不明です、教えてください。

なお、Accessをodbc接続でリンクした時はちゃんとテストdbからエクスポートできました。
593NAME IS NULL:2010/12/29(水) 19:27:24 ID:???
情けない質問だなあ
594NAME IS NULL:2010/12/29(水) 19:28:25 ID:???
もう仕事納めだろうから本人が先輩にでも教わった事だろう・・・
595NAME IS NULL:2010/12/30(木) 08:58:08 ID:pk4OnEh2
592です・・・まだ未解決。

我ながら情けないですが、テストサーバを立てます。
596NAME IS NULL:2010/12/30(木) 10:52:52 ID:???
接続文字列が間違ってるとか、ネットワークの設定が間違ってるとしか。
597NAME IS NULL:2010/12/30(木) 11:00:44 ID:???
そんなの使っているアプリの設定見ろとしか。
テスト用設定したつもりが本番用向いているか、本番用検索していると思ったら実はテスト用だったかのどちらかでしょ。
598NAME IS NULL:2010/12/30(木) 15:39:14 ID:pk4OnEh2
592です。
テストサーバを設定中、認証・ユーザ名が違うかも・・・と思った。
お客さんお休みですので、来年確認します。
599NAME IS NULL:2011/01/05(水) 10:54:10 ID:EDF9UVV6
592です。
dbは関係なしで接続できますので

testユーザのサーバーロールをsysdminにして、
こいつでdbを作成すればOKでしょう・・
6.5の時代とずいぶん違うね、もう引退しますわ。
600NAME 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の検証が進みません。。。。
601NAME IS NULL:2011/01/05(水) 20:14:59 ID:???
602NAME IS NULL:2011/01/05(水) 20:25:28 ID:???
俺はCSVファイルをbcpで一時的なテーブルに入れてから、
適切な型に変換しつつ本来のテーブルに insertしてるなあ。

CSVファイルの個数がどの程度なのか、そのフォーマットが何種類あるのかで、
取るべき方法も変わるんだろうけど。
603NAME IS NULL:2011/01/06(木) 18:22:38 ID:???
>>602
どもです。

やっぱりその手が一番無難ですね。
取り込みたいCSVは10種類くらいで、それぞれ100行に満たない比較的小さなものです。

AccessVBAを駆使して似たようなことをしてたんですが、SQLServerならもっとお手軽な
らくできる方法があるんじゃないかと思いましたので質問させていただいました。

お手数をおかけいたしました。


604NAME IS NULL:2011/01/08(土) 16:58:47 ID:???
こんにちは。質問いいですか?

現在XPproにSQLServer2005EEの構成で小規模DBを作っていますが

端末更新の時期となりWinServer2008を買ってもらえることになりました。

そこでSQLServerも2008EEにしたいと思うのですが

このDB間(EEで)でデータ移動は簡単に出来ますでしょうか?

素人質問ですみません。宜しくお願いいたします。
605NAME IS NULL:2011/01/08(土) 17:09:51 ID:???
ライセンス料まともに払っているのかさえも怪しい質問だな。
最近複数ユーザ接続でもCPUライセンス購入しないって会社結構多いんだよな・・・
606NAME IS NULL:2011/01/08(土) 17:11:48 ID:???
>>605
すみません。複数人使用だとライセンスがEEでも必要になるのですか!

よろしければ詳細を教えてください。

コンプライアンス問題があれば大事なので
607NAME IS NULL:2011/01/08(土) 17:14:01 ID:???
Enterprise Edition か・・・
608NAME IS NULL:2011/01/08(土) 17:44:32 ID:???
マイクロソフト ライセンス早わかり

でぐぐれ
609NAME IS NULL:2011/01/08(土) 17:52:00 ID:???
データ移動は簡単だよ。
610NAME IS NULL:2011/01/08(土) 17:57:29 ID:???
EE と省略した場合

Enterprise Edition と取る人(大多数)
Express Edition と取る人(少数)

がいるので省略しないようにね
611NAME IS NULL:2011/01/08(土) 17:58:45 ID:???
>>609
データベース構造も簡単に複製できますでしょうか?

参考になるサイトなどご存知でしたらご教示願います。
612NAME IS NULL:2011/01/08(土) 18:00:10 ID:???
>>610
すみませんでした。

Express Editionです。
613NAME IS NULL:2011/01/08(土) 18:03:50 ID:???
614NAME IS NULL:2011/01/08(土) 18:17:55 ID:???
>>603
100行が10個程度なら、テキストデータの段階でエディタ使って正規表現置換で/入れればいいだけじゃん。
ちょっと正規表現じゃ無理そうならパパッとバッチ組むか、取り込んだ後にsql書いたって数分でしょ?
くだらんことで悩んでいる時間の方がもったいない。
615NAME IS NULL:2011/01/08(土) 22:14:19 ID:???
>>614
まぁ 確かに、、
結局PowerShellで整形してインポートすることにしますた。
616NAME IS NULL:2011/01/08(土) 22:14:21 ID:???
ネットで質問する人のすべてに言えることだけど、
自分が質問しようとしていることは自分以外にも知りたい人が大勢いるような質問なのか、
世界でもごく限られた人しか質問しなさそうなことなのか、考えないのかね。

前者だったらネットで検索すれば答えがあるに決まってる。
>>604 なんか、そういう質問の典型だろ。
617NAME IS NULL:2011/01/08(土) 22:17:43 ID:???
>>616
それが仕事絡みってのが最悪だよな。
トラブった挙げ句、原因も調べずに「MSだから〜」で済ます阿呆が生産されるのは勘弁です。
618NAME IS NULL:2011/01/09(日) 04:19:49 ID:???
ExpressEditionならライセンスいらないよ。
>>604もあほだがライセンスうんぬん言い出した奴もあほだろ。
619NAME IS NULL:2011/01/09(日) 08:49:24 ID:???
>>618
>>606に回答したつもりなら十分あんたもあほだろ・・・
620NAME IS NULL:2011/01/09(日) 08:55:08 ID:???
>>604
2台が繋げるならウィザードで。
繋げないならデーター吐き出してバックアップとリストア風にやれば良い。
ただいずれもジョブや設定は引き継げないから手作業でやる必要あり。
厳密にはジョブや権限も吐き出せるけど、あなたの書き込みや規模を考えるに、再度設定した方が早そう。
621NAME IS NULL:2011/01/09(日) 17:13:16 ID:???
>>620
ありがとうございました。

ウィザードってExpressEditionにもあるんでしょうか?

一応二台ともLANで繋がってはいます。
622NAME IS NULL:2011/01/09(日) 17:18:36 ID:???
>>621
>ウィザードってExpressEditionにもあるんでしょうか?

あったかどうかは忘れたが、それぐらいはお前が自分で確かめろ。目の前のPC立ち上げれば数分で分かるだろうが。
623NAME IS NULL:2011/01/10(月) 08:32:46 ID:???
一回こっきりなら
Access で両方にリンク張って、レコード追加クエリーとか
624NAME IS NULL:2011/01/10(月) 12:23:00 ID:???
一回きりなら、そのウィザード(Expressにもある)が絶対に楽。
625NAME IS NULL:2011/01/13(木) 09:55:37 ID:nryLKKcU
>>604
Access で両方にリンク張って、レコード追加クエリーが素人向け
ちなみにあたしはいつもこれです。
626NAME IS NULL:2011/01/13(木) 10:21:36 ID:???
>>625
そんなことするぐらいなら、SQLserverでもう一方をリンクサーバで張ればいいだろw
627NAME IS NULL:2011/01/13(木) 13:09:36 ID:nryLKKcU
ExpressEditionでできるんだ、失礼しました。
628NAME 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)にも、それらしい情報はありませんでした。
ご存知の方いましたら、ご教示お願いします。
629NAME IS NULL:2011/01/13(木) 22:23:41 ID:???
どういう方法でidentity列を追加したのかを具体的に示せ。

追加したその列をどう使うつもりなのか、あらかじめ考えていたのか?
一意であるだけでよいのなら、法則性を知る必要はないはずだが。
630NAME IS NULL:2011/01/13(木) 22:37:18 ID:???
select * from table を実行したら、つい最近追加したデータが先に出てきたりして、
法則性がいまいちつかめないのです。って言ってるのと同じ
631NAME IS NULL:2011/01/14(金) 23:53:29 ID:???
>>628
MSは並び順を指定しない時の並び順に関しては正式にアナウンスしてないお。
素直に自分でSQLで並び替えて数字振ったほうが確実。
632NAME IS NULL:2011/01/15(土) 02:26:30 ID:???
並べ替えて数字を振ってどうなるというのだろう。
挿入、削除のたびに振りなおすなんてばかげてると毎日バッチみたいなことをするんだろうか。
並び順を指定しなかった場合の並び順を正式にアナウンスしているRDBMSってなにがあるのだろう。
633NAME IS NULL:2011/01/15(土) 12:10:48 ID:???
>>632
>並べ替えて数字を振ってどうなるというのだろう。
数字振ってからidentityにしろって言ってんだよ。そうすれば以後は関係ないだろ。

>並び順を指定しなかった場合の並び順を正式にアナウンスしているRDBMSってなにがあるのだろう。
他は知らないからMSに関して書いただけ。

なんだ?いちいちいちゃもんつけなきゃ気がすまない低脳か?
634NAME IS NULL:2011/01/15(土) 13:58:12 ID:???
所詮計算機なんだから同じ条件なら同じ並び順になるよ。
ソース公開しているRDBMSは正式アナウンスしているようなもんだ。
635NAME IS NULL:2011/01/15(土) 14:57:53 ID:???
>>633
以降がどうでもいいなら、既存のデータだけ並べ替えた数字を振ることもどうでもいいと思えないの?
636NAME IS NULL:2011/01/15(土) 18:13:47 ID:???
>>634
それがならないんだな。orderbyで等値のデータの並び順で、
種類が同じDBでもマシンがエンディァンがビッグとリトルとじゃ別の結果になることがある。
テスト中に一度経験したことある。
637NAME IS NULL:2011/01/15(土) 18:51:53 ID:???
>>636
>マシンがエンディァンがビッグとリトル
同じ条件じゃありませんが?

>>634は間違ってはいないが、実際問題違うDBが同じ条件になることは
現実的にあり得ないわな
物理的な行の格納位置なんて、エクスポートしてインポートしただけでも変わるし
638NAME IS NULL:2011/01/15(土) 23:14:17 ID:???
>>634
古い話しで恐縮なんだが、例えばテキストcsvをBCPでのインポートをしたとして、なんの制約も並び替えもしなければcsvの並び順のままインポートされる事が経験則として知られている。
ただmsとしてはその現象は偶然にもすぎず、並び順においてなんの保障もしていない。
なのでクライアントからの条件が「100%確実にテキストファイルの順に数字を振ってインポート」ならば、1行ずつインサートするのが一番確実になる。
639NAME IS NULL:2011/01/16(日) 14:57:00 ID:???
インポートが並列処理できるDBってふつうたがら、
仕様で並び順も保証したいのであれば、フィールド追加するしかない。
640NAME IS NULL:2011/01/16(日) 16:30:01 ID:???
北の核でMSが滅亡したら、残った人類Winのアクチができなくなるから
Linuxの天下になるのかな。
641NAME 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 項目<>@項目)

なんて書かないといけないのでしょうか。
642NAME IS NULL:2011/01/22(土) 11:37:27 ID:???
SQL serverは理論どらいぶインスコ
ではリモートアクセスできないの?
643NAME IS NULL:2011/01/22(土) 11:39:06 ID:???
日本語でOK
644NAME IS NULL:2011/01/22(土) 11:47:43 ID:???
フレンチですまん
645NAME 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 ではできたような気がするんだけど、
誰かやり方知らない?
646NAME IS NULL:2011/01/23(日) 19:42:47 ID:???
このスレでいいとは思うけど、
Expressはちゃんとしたクラサバ構成なのに対して、Compactは組込み用。
だから、TCPIPのようなプロセス間通信を使うツールは一切使えない。
647NAME IS NULL:2011/01/23(日) 20:48:31 ID:???
>>645
Visual Studio から出来るよ。
Visual Studio 2010 Professional では出来た。Express Edition は分からないけど。
648NAME 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 本体を入れろということなのかなぁ。
649NAME IS NULL:2011/01/23(日) 23:17:28 ID:???
Accessじゃないんだからさ、テーブル参照からダイレクトで値書き込むようなことはしなさんな
650NAME IS NULL:2011/01/23(日) 23:28:02 ID:???
逆に、DB管理ツールでCRUD機能のついていないものってなにがあるんだ?
651NAME IS NULL:2011/01/23(日) 23:29:06 ID:???
個人的なDB作って遊ぶのにどうして Compact Edition を使うのか分からない。
さっさと Expressにしたほうが幸せ。
652NAME IS NULL:2011/01/24(月) 00:28:08 ID:???
CompactEditionを使うというのが遊びの内容に含まれてるからでしょう
653NAME IS NULL:2011/01/24(月) 15:43:04 ID:???
SqlServerCompact3.5でバックアップを取る時は接続をすべて切ってファイルをコピーとありますが、
接続を切らずにやるとしたら一旦全てにデータをエクスポートしてやるくらいしかないでしょうか?
654NAME IS NULL:2011/01/24(月) 22:50:23 ID:???
何で無理なことを追い求めてるの?
655NAME IS NULL:2011/01/24(月) 23:00:41 ID:???
>>652
説得力あるなw
656NAME IS NULL:2011/01/25(火) 21:51:17 ID:ODO6+y4s
SQLServer2000で、名前付きパイプでは接続できるのに、TCP/IPでは接続出来ない、、、 TCP/IPでつなぎたいのですが、どうしたらいいでしょうか? (>_<)

ファイアウォール、クライアントネットワークユーティリティ、サーバネットワークユーティリティの設定はしています

クライアントから接続すると、サーバが見つからない、拒否されましたとエラーが表示されます

同じPCに2008をインストールして試しましたが、同じでした


657NAME IS NULL:2011/01/25(火) 22:15:58 ID:???
ファイアウォールをいったん無効にしてみる、ってのと、
接続時に「\\」とかつけてないよね? ってのと、
優先順位がおかしくなってない? ってあたり。
658NAME IS NULL:2011/01/25(火) 22:28:56 ID:ODO6+y4s
返信ありがとうございますm(_ _)m
\\付けてないです
既定のインストールなので、サーバ名だけ指定してます

優先じゅんいはは、TCP/IP しか有効にしてないので大丈夫だと思います(>_<)
659NAME IS NULL:2011/01/25(火) 22:55:03 ID:???
じゃ、ちょっとわかんないねぇ。
サーバー側でパケットキャプチャしてみて、ちゃんと1433にパケット来てるか
確認してみれば?
660NAME IS NULL:2011/01/25(火) 23:03:09 ID:???
>>656
osは何を使ってますでしょうか
クライアントからは接続できないが、sql2000をいれたサーバから自分自身には接続できるのでしょうか。
クライアントからサーバへpingは通りますか。
661NAME IS NULL:2011/01/25(火) 23:15:27 ID:???
OSは2000サーバを使ってます
PINGも通ります、ネットワークフォルダらも見れます

気になるのは、NETSTATで確認すると、1433のポートが表示されません

サーバの問題だと思うのですが、何が原因らなのか、よくわからないです、、、
662NAME IS NULL:2011/01/25(火) 23:22:27 ID:???
じゃ、リッスンしてないね。
663NAME IS NULL:2011/01/25(火) 23:23:57 ID:???
もう少し調べてみます
ありがとうございましたm(_ _)m
664NAME IS NULL:2011/01/26(水) 00:34:29 ID:???
>>663
サービス マネージャ
あたりの設定かもしれません。
SQL Server2000の環境がないので確認できませんが。
665NAME IS NULL:2011/01/26(水) 21:04:19 ID:???
2000から2005に移行したDBで、メンテナンスプランでインデックスの再構築を実行したら、容量が何倍にも拡張されたんですが……。
これって正しい姿なんでしょうか?
666NAME IS NULL:2011/01/26(水) 23:42:15 ID:???
>>665
オンラインの再構築の場合、現在利用量の作業域として使うので二倍ぐらいに拡張するかも
667NAME IS NULL:2011/01/27(木) 21:46:35 ID:???
>>666
レスありがとうございます。
オンラインはOFFにして実行してます。
ちなみに、FILL FACTOR は10で設定しています。
それで、容量が5倍ぐらいに激増します。パねえ……。
668NAME IS NULL:2011/01/27(木) 22:30:13 ID:???
DBに高速にデータを突っ込むローダーみたいツールってありますか?
669NAME IS NULL:2011/01/28(金) 00:21:16 ID:???
付属のbcp
670NAME IS NULL:2011/01/28(金) 00:59:53 ID:???
ありがとうございます。
Expressでも付属してました。
671NAME IS NULL:2011/01/28(金) 03:14:15 ID:???
>>667
FILL FACTORが10ってことは、実際の10分の1しかデータ入ってないってことだぞ
100(か0)から10に変えたら容量10倍になってもおかしくないってことだぞ
672665:2011/02/03(木) 00:22:21 ID:???
レス遅くてすみません。
なんかSQLServerでは空き領域の比率をFILL FACTORと誤認する不具合があったらしくって(SP1で解消されている)、かなり長い間一緒のものだと勘違いしていました。
SP4当てて、空き領域の比率を10%で再構築してみたら、今度は容量微増ですみました。
レスくれたひと、ありがとうございました。
673NAME IS NULL:2011/02/03(木) 00:35:56 ID:???
試験環境で2008 R2(OS、SQLとも) 64ビットの
クラスター組んでみた。
資料があんまりなかったんで、ちと苦労した。
674NAME IS NULL:2011/02/03(木) 00:37:15 ID:???
ところで、File Stream ってどーやって使うんだい?
分かりやすく設定とか使い方を解説してあるサイトおせぇーてくれ。
675NAME IS NULL:2011/02/03(木) 08:11:56 ID:???
Windows Server 2003 x86でSQL Server 2005 Stdを動かしているのだが、
SP4を当てようとすると失敗しましたで当てられない。
google先生に聞いても、困っている人がいることはわかるのだが、
解決方法が解らない。
なんか知ってたら教えてくれ。
676NAME IS NULL:2011/02/03(木) 12:31:51 ID:???
入れなおしは?
677NAME IS NULL:2011/02/03(木) 12:39:34 ID:???
自分も経験した記憶があるけど
なんだったっけ・・・覚えがない
678NAME IS NULL:2011/02/03(木) 12:44:52 ID:???
何かの順序だった気がする

XMLパーサとか関連は違ったっけ?
679NAME IS NULL:2011/02/03(木) 12:48:57 ID:???
思い出すかもしれないので
エラーの詳細おしえて
680NAME IS NULL:2011/02/03(木) 14:51:16 ID:???
ドメインへの参加や降格してませんか?
681NAME IS NULL:2011/02/03(木) 15:38:08 ID:???
SP3とかインストールの問題と同じ可能性があるからそっち調べてみたら幸せになれるかも

PS.VB.NETスレに誤爆して恥ずかしかった orz
682675: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。
そのキーへの十分なアクセスがあることを確認するか、またはサポート担当者に問い合わせてください。
とログに吐いてあった。
実際、そのキーを見に行くと値が無い状態。
何が入ってるのが正しいの?
683NAME IS NULL:2011/02/04(金) 02:48:17 ID:???
そのエラーを見る限り、レジストリへのアクセス権の問題っぽいけど
ためしにそのキーのアクセス権を変えてみたら?
684NAME IS NULL:2011/02/04(金) 02:53:27 ID:???
キーを作成することができませんでした、ならアクセス権かなぁとおもうけどね。
685NAME IS NULL:2011/02/04(金) 04:02:49 ID:???
>>684
レジストリのアクセス権って作成や変更だけじゃないぞ
読み取りを禁止するアクセス権もあるからな
686NAME IS NULL:2011/02/04(金) 11:47:57 ID:???
>>685
読み取り権限がないとキーが無いように見えるんだ。知らずにすまんことをした
687NAME IS NULL:2011/02/04(金) 11:48:38 ID:???
キーは見えるが、値が見えない、だった。重ね重ねすまんことを
688675: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は要らないんじゃないか?
689NAME IS NULL:2011/02/04(金) 21:31:13 ID:???
それホントに管理者権限でインストールしてるのか?
690NAME 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にする
691NAME IS NULL:2011/02/07(月) 22:12:55 ID:???
2008express R2 で作成したデータベースを2008expressに移行するにはどうしたらいいのでしょうか?
692NAME 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に繋がるでしょうか?
宜しくお願いします。
693NAME IS NULL:2011/02/10(木) 12:22:13 ID:???
(local) ってつながってないだろ・・・。
VirtualPC のネットワーク設定の話だから、スレ違いだな。
694NAME IS NULL:2011/02/10(木) 12:26:13 ID:???
VPCがNATの中で動いてるんじゃね
695NAME IS NULL:2011/02/10(木) 13:09:07 ID:uRAA0s5t
>>694
NATじゃないです。
696NAME IS NULL:2011/02/10(木) 13:31:03 ID:???
まずはHostOS-GuestOS間でpingが届くかどうか。
届いたら、あとはOSのファイアウォール設定かDB接続方法の問題。
697NAME IS NULL:2011/02/10(木) 14:26:10 ID:???
ゲストマシンでつながってるのが、(local)\SQLEXPRESSだろ
EXPRESSってちゃんとネットワーク経由でアクセスできる設定にしてあるのか?
Virtual PCとかの話じゃないと思うが
698NAME IS NULL:2011/02/10(木) 23:13:08 ID:???
>>696
PINGはホスト側からもゲスト側からも繋がっています。
FWは無効にしております。

>>697
そうです。
SQL構成マネージャーでTCP/IPを有効にしました。

いろいろ弄った結果、SQL Server Browserのサービスがデフォで無効になってるみたいで、
自動にしてサービスを開始させたら、ホスト側からゲスト側のSQLEXPRESSが出てきました。テスト接続も成功しました。

学校でやってるもんで、こんなやり方で繋げたっけ?ってちょっと疑問に思いました。
SQL Server Browserを使わないで、他に繋げる方法ってありますか?

既に解決しましたが、参考に聞きたいです。
宜しくお願いします。
699NAME IS NULL:2011/02/10(木) 23:28:47 ID:???
別にSQL Browser使わなくたってつながるけど?
700NAME IS NULL:2011/02/11(金) 00:02:45 ID:???
名前付けパイプ使用でリモート接続の場合、
SQL Browser使わないと接続できなかったんじゃ
なかったっけ?
701NAME IS NULL:2011/02/11(金) 01:04:19 ID:???
>サーバーの一覧には出てきませんでした
とは書いてるが、つながらないとは書いてないな
まあ、そういうことじゃないかな
702NAME IS NULL:2011/02/11(金) 19:16:23 ID:1Z2QoDyK
SQLサーバーの販売。

http://salkgjwr.exblog.jp/
703NAME IS NULL:2011/02/11(金) 19:39:44 ID:???
>>691
>>604
同じような話。
704NAME IS NULL:2011/02/13(日) 17:47:52 ID:???
bcpってyyyy/MM/ddの形式が読み込めない。
なんで日付形式が指定できないんだよ。
705NAME IS NULL:2011/02/13(日) 20:25:58 ID:???
>>704
-Rつけてもダメなのか?
706NAME IS NULL:2011/02/13(日) 20:28:51 ID:???
ごめんなさい。できました。
ホストファイルデータ型の意味を完全に逆に勘違いしてました。
707デフォルトの名無しさん:2011/02/14(月) 23:02:12 ID:???
>>672
なつかしいバグだな。
俺も5年前にそれでハマったよ。
708NAME 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に設定する機能がどこにあるかわからないのです。


ご存知の方、教えていただけますと幸いです。
709NAME 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はド素人でしてアホな質問ですが宜しくお願いいたします。
710NAME IS NULL:2011/02/26(土) 12:45:57.26 ID:???
>>709

すみません。訂正です
×サーバーライセンス1CPU分
○サーバーライセンス1台分
711NAME 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 も必要。
712NAME IS NULL:2011/02/26(土) 13:46:00.46 ID:???
>>711
Windows Server 2008R2も同時に買う予定です。5CAL付きです。
サーバーって複雑で素人には難しいですね・・・

やはりExpressを大人しく使っておこうかな・・・・

でも製品版っていいんでしょうね。きっと
713NAME IS NULL:2011/02/26(土) 15:46:26.73 ID:???
experss で満足しているなら
なにもかわらんと思うぞ

2008R2express ならDBサイズ10Gまで使えるし

レプリケーションとかミラーリングとかしたいなら別だが

express のライセンス条件で接続数の制限ってあったっけか
714NAME IS NULL:2011/02/26(土) 15:48:41.85 ID:???
>>712
既に Express で動いていて、性能的に問題ないなら上位エディションに移行する必要はないと思うよ。
単にバックアップするだけなら、Windows のタスクスケジューラでも使って定期的に BACKUP クエリを実行すれば良いし、
復旧についても、単にログやバックアップから書き戻すだけなら SSMSE でもできたはず。

容量制限にぶつかったり、メモリ・CPU制限でPC買い替えても性能が上がらない、とかなら上位エディションの検討も必要だけど、
まずは評価版でも試してみて、必要な機能と性能が手に入るのか確認した方がいいよ
(あと、Standard の下位に Workgroup Edition てのもあるよ)。
715NAME IS NULL:2011/02/26(土) 18:02:48.94 ID:???
>>713
>>714
みなさんありがとうございました。
暫く2008Expressで勉強してみたいと思います。
ただ、今期でないともう高額ソフト関係は買えないよと上司に言われましたもので・・・

ミラーリングは魅力ですよね。でも自分のスキルで出来るとは思えませんが(笑

またよろしくお願いします。
716NAME IS NULL:2011/02/26(土) 22:40:11.84 ID:???
ミラーリングならハードレベルですればいいんじゃね?
HDDを適度にRAID1とか5とかにすればいいだけ。
どっちにしても定期的なバックアップはいるけどな。
717NAME IS NULL:2011/02/27(日) 00:46:34.31 ID:/q8lqrSS
>>716
RAIDとミラーはまったく違う。
718NAME IS NULL:2011/02/27(日) 01:12:49.64 ID:???
>>717
その言い方はおかしい
RAID1はディスクのミラーリングだからな

>>716
DBのミラーリングと、ディスクのRAIDやミラーリングは全く違う
719NAME IS NULL:2011/02/27(日) 01:16:51.40 ID:???
何を言いたいのか分からない。
どっちも可用性を上げるためなんだが。
720NAME IS NULL:2011/02/27(日) 01:59:20.15 ID:???
つまりディスクのミラーリングやRAIDならEXPRESSでもできるってことだ
721NAME IS NULL:2011/02/27(日) 08:41:31.89 ID:???
RAID-0なマシン2台でDBミラーが一番いい。
722NAME IS NULL:2011/02/27(日) 09:41:57.97 ID:???
そもそも 40台程度のクライアントが繋がってるマシンなら
RAID ぐらいにはなってると思いたいが...。

まあ、DB ミラーリングの代わりに RAID を薦める >>716 は、
サーバー自体の障害とか経験したことないような人なのであ
まり構わないようにしたほうがいいかと。
723NAME IS NULL:2011/02/27(日) 09:48:11.35 ID:625cBq0T
>>722
馬鹿かおまえ。頓珍漢なレスして逆ギレかよw
724NAME IS NULL:2011/02/27(日) 11:17:31.53 ID:???
DBミラーリングも witness を独立させるとそこが単一胡椒店になるからな

うまく構成しないと面倒なことになる
725NAME IS NULL:2011/02/27(日) 12:10:38.44 ID:???
>>723
>>722 のどこをどう見たら逆切れに見えるのかよくわからんけど、
まずは、どこが頓珍漢かぐらい指摘したらどうよ。

まあ、まともな指摘が来るとはとても思えないけど。
726NAME IS NULL:2011/02/27(日) 12:12:32.14 ID:???
お前ら全員バカだろ?
727NAME IS NULL:2011/02/27(日) 18:29:26.43 ID:???
>>724
728NAME IS NULL:2011/02/28(月) 09:30:37.41 ID:???
2008R2Expressが10Gいけるのか・・・
勉強になった
729NAME 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
730NAME IS NULL:2011/03/03(木) 06:16:20.48 ID:???
>>729
千円w
731NAME IS NULL:2011/03/03(木) 16:42:55.81 ID:???
この情景をSQLで表現したら
732NAME 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;
733NAME IS NULL:2011/03/04(金) 17:23:51.34 ID:???
SqlServer2005のStandardエディションってWindowsXPのHomeにはインストール出来ないですけど、
Windows7のHome Premiumにはインストールできるんでしょうか?
どなたかご存知なら教えて下さい。
734NAME IS NULL:2011/03/04(金) 17:40:59.31 ID:???
インストールできたとしても、クライアントOSをサーバーとして使うのはNGだったような。
735NAME IS NULL:2011/03/04(金) 19:12:32.12 ID:???
Developper と Express 以外は無理だったはず
736NAME IS NULL:2011/03/08(火) 14:32:16.98 ID:iP4MoVM9
外部からのODBC接続を許可したいのですが、
いくつかのアカウントがID=パスワードというBADなものなので、
特定のアカウントだけ外部接続を許可したいです。
どこで設定すればいいんでしょうか?
737NAME IS NULL:2011/03/08(火) 20:24:48.21 ID:???
Analysis Servicesについて確認したいことがあります。
作成したキューブのデータを参照した場合、
内部的にはキューブ作成時にデータソースに指定したデータベースを参照している(キューブ自体にデータはいない)
という認識で合っていますか?
738NAME IS NULL:2011/03/08(火) 22:39:27.51 ID:???
>>736
設定でやる話じゃないような。
739NAME IS NULL:2011/03/08(火) 22:41:24.57 ID:???
パスワードのポリシー設定とかできないのかな
740NAME IS NULL:2011/03/09(水) 00:31:22.96 ID:1mfyiYSh
>>737
両方できるはず。
データを持たせることもできるし、ビューみたいに使うこともできる。
741NAME IS NULL:2011/03/09(水) 15:28:29.98 ID:???
>>740
両方できるのですね。ありがとうございます。

>データを持たせることもできるし、ビューみたいに使うこともできる。
どこか設定するところがあるのでしょうか?
サンプルDBのAdventure Worksでキューブを作成しましたが、そのような設定はなかった気がします…
742NAME IS NULL:2011/03/14(月) 22:16:00.13 ID:KSK9ouKI
テキストデータを取り込んだ
グローバル一時テーブルからbcpを利用して
テーブルにデータを取り込むことは可能なのでしょうか?
その場合の書式なども教えていただきたいです。

よろしくおねがいします。
743NAME IS NULL:2011/03/14(月) 22:23:08.89 ID:???
無理。
744NAME IS NULL:2011/03/14(月) 23:11:43.41 ID:KSK9ouKI
無理ですか。。。
そうですか。
違う方法で明日またチャレンジします。
>743
745NAME IS NULL:2011/03/14(月) 23:13:07.49 ID:???
bcpは、テーブルからファイル、ファイルからテーブルにデータを移すときに使う奴。
いったんテーブルにデータが突っ込んであるなら、普通にSQLでやればいい。
746NAME 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個固定
747NAME IS NULL:2011/03/17(木) 19:06:48.33 ID:???
文字列をリバースした column をもう一つつくって
インデックスつけて前方一致検索
748NAME IS NULL:2011/03/17(木) 19:07:48.72 ID:???
知らね。せっかくツールがあるんだから、実行計画見て確認しろよ。
749NAME IS NULL:2011/03/17(木) 19:16:28.91 ID:???
ごめん、本当に素人なんだ…

>>747
System Center Configuration Manager 2007 R3 ってMS製品が自動で作る
テーブルに対してクエリしなきゃならないのだけど、テーブル拡張すると
サポート対象外になるんだ

>>748
実行計画ってなんのことでしょうか…
750NAME IS NULL:2011/03/17(木) 19:33:47.92 ID:???
だったら一度別DBにデータコピーすればよい
751NAME IS NULL:2011/03/17(木) 19:40:13.03 ID:???
752NAME IS NULL:2011/03/17(木) 20:46:04.23 ID:???
ありがとう、試してみます
753NAME IS NULL:2011/03/17(木) 22:19:15.72 ID:???
数十万ってことは100万はないってことか?
テーブルいじれないってことはインデックス追加もできないんだろ
どっちでも大差無い気がするぜ
754NAME IS NULL:2011/03/23(水) 02:01:16.31 ID:tEHsIovK
SQL Server2005 Express で、通常
クライアントで入力→サーバーにINSERT
としている処理を
サーバーダウンしている間だけ
サーバーダウン→ノートPCで入力(バッテリ駆動)→サーバー復帰→サーバーにINSERT
とする良い方法はないでしょうか?
計画停電の影響です

SQL Server の機能で実現できれば良いのですが Express では無理ですかね
いまはアプリ側に独自処理を実装する方法を検討中です
755NAME IS NULL:2011/03/23(水) 10:07:32.88 ID:???
>>754
ようわからんけど、
ノートPCに SQL Server2005 Express  をインストールして ノートPCに
データ保存すればいいでないかい?
後の話は、サーバー復旧してから考えろ。
入力するのにリアルタイムでサーバ参照する必要があるなら難しいだろうけど
756NAME IS NULL:2011/03/23(水) 13:03:49.38 ID:???
>>755
レスありがとうございます
おっしゃる通り、ノートPCで SQL Server2005 Express をローカルDBとして持つ予定です
またマスター系もローカルDBに持つ予定なので都度サーバー参照は行いません

1〜2回の限定的な停電であれば、提案して頂いた運用で良いんですが
計画停電が続く間、週に数回この運用を行わなければならないので悩んでいます
ニュースでは最低でも今夏は計画停電が行われるとの事で、数ヶ月は想定しています
757NAME IS NULL:2011/03/27(日) 16:27:49.28 ID:???
当初、追加データのみをXMLで記録、復帰後サーバーにインサートする予定でしたが
最終的に、トリガーで追加・変更行を記録、復帰後に記録データでサーバー更新
という処理にしました
EXPRESSでも、ミラーリングが使えれば良かったんですけどね
758NAME IS NULL:2011/03/28(月) 00:24:19.53 ID:???
EXPRESSでもレプリケーションの子にはなれたと思う
まあ親としてEXPRESSじゃないSQL SERVERいるけど
759NAME IS NULL:2011/03/28(月) 02:04:28.80 ID:???
レプリケーションも Standard 以上だと思ってたら Workgroup 以上で使えたんですね
3年後のXP終了バージョンアップの時は DB を Workgroup 以上にしておきます
Workgroup のライセンス料なら顧客にも納得してもらえると思います
さすがに3年後は計画停電は解消していると思いますが…今回の様に何が起こるか分かりませんからね
760NAME IS NULL:2011/03/28(月) 18:20:47.01 ID:???
トランザクションを張らずにinsertを1000回するのと、
トランザクションを張って1000回insertしてからcommitするのと
どっちが速いですか?
761NAME IS NULL:2011/03/28(月) 19:46:54.16 ID:???
やってみれ。
762NAME IS NULL:2011/03/28(月) 22:14:48.89 ID:???
結構差があるんですね。
763NAME IS NULL:2011/03/29(火) 00:02:33.94 ID:MUdYkG4X
>>762
どうだった?
1000回やってからコミットしたほうが速いんですよね?
764NAME IS NULL:2011/03/29(火) 09:19:39.13 ID:???
DB板で聞いてみれば?
765NAME IS NULL:2011/03/29(火) 21:26:36.51 ID:???
>>763
わんくまの誰かが実行速度試してたけど個々にcommitするより一気にするほうが速かったよ。
766NAME IS NULL:2011/03/29(火) 21:27:36.41 ID:???
当たり前だろ。
767NAME IS NULL:2011/03/29(火) 22:34:50.33 ID:???
じゃあ答えてやれよw
768NAME IS NULL:2011/03/29(火) 22:38:00.37 ID:???
そうか。それには気づかなかった。
769NAME IS NULL:2011/03/30(水) 01:30:16.95 ID:???
トランザクションログが磁気テープにある場合はその限りではない
770NAME IS NULL:2011/03/30(水) 01:36:00.34 ID:???
それでも同じじゃない?
771NAME IS NULL:2011/03/30(水) 07:29:23.27 ID:8JKcxO+l
>>769
そんなシステム、今時ないと思う…
772NAME IS NULL:2011/03/30(水) 10:26:31.11 ID:???
ネタだろ普通に
773NAME IS NULL:2011/03/30(水) 10:35:47.38 ID:???
バックアップはまだ磁気テープ使ってるだろ。
774NAME 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名' がシステム カタログに存在しないので、
> 削除 できません。

復旧する手立てを教えてもらえたらと思います。
775774:2011/03/30(水) 18:47:06.57 ID:???
何度か、SQL Serverのサービスを再起動させたり、Enterprise Managerを停止、接続を繰り返したりをしているうちに
該当のDBが削除されました。
(削除されたというより消えた?)

その後は、アタッチする事が出来る様になりましたので、そのまま復旧です。

やー、焦った。。
776NAME IS NULL:2011/03/30(水) 18:50:02.94 ID:???
つまんね
777NAME IS NULL:2011/03/30(水) 18:56:30.04 ID:???
なにこいつ
778NAME IS NULL:2011/04/04(月) 16:42:02.44 ID:???
いまだ!777ヌルヌルマンコォォォォ!!! 
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄    (´´
                  ∧∧       (´⌒(´
            ⊂(゚ー゚*)≡≡≡(´⌒;;;≡≡≡
        ⊆⊂´ ̄ ⊂ソ  (´⌒(´⌒;;
           ̄ ̄ ̄   ズザーーーーーッ
779NAME IS NULL:2011/04/04(月) 19:28:11.14 ID:???
ジャリジャリしてそうな音がしているが、大丈夫か?
780709:2011/04/06(水) 19:02:01.52 ID:???
以前お世話になった>>709です。
その節はありがとうございました。
そこで新たにくだらない質問ですがいいでしょうか。

SQLServer2005Expressを立てたXP端末(以前お話した例のヤツです)のDBを
今回買ったWindowsServer2008R2のSQLServer2008Expressにコピーしたいのですが上手くいきません。

ネットワーク上でXP端末の2005のインスタンスを見つけ、そこからウィザードでインポートしたのですが
ビューがテーブルの所に入ってきてしまったり、列の型が勝手に変わってキャストエラーが出たりで
わけが判りません。

XPのDBをデタッチしてmdfをコピー。その後WindowsServer2008にアタッチするのが正規の方法なのでしょうか?
今、XPのDBは稼働中なのでデタッチは出来る限りしたくありません。

どなたかいい案かサイトをご存知でしたらご教示願います。
781NAME IS NULL:2011/04/06(水) 19:25:32.93 ID:vjm8sWD5
>>780
Expressでバックアップとって、2008で復元とかではダメですか。
782NAME IS NULL:2011/04/06(水) 19:31:03.46 ID:???
>>781
拡張子.bakファイルですよね?
それもやってはみたのですが上手くいかなくて・・・とういかどうやったらいいのか解りません。

よかったら教えていただけませんか?
783NAME IS NULL:2011/04/06(水) 19:49:44.88 ID:???
mdfファイルとldfファイルをコピペしてアタッチするだけでできないか?
784NAME IS NULL:2011/04/06(水) 19:53:36.86 ID:???
>>783
mdfファイルってデタッチしないとコピーできませんよね?

というか私は出来ませんでした・・・
785NAME IS NULL:2011/04/06(水) 20:02:11.01 ID:vjm8sWD5
>>782
何がうまくいかなかったのかわかりません。
ttp://technet.microsoft.com/ja-jp/sqlserver/cc721623
の移行でも参考にしてはどうでしょうか。
786NAME IS NULL:2011/04/06(水) 20:14:01.45 ID:???
サービスも止めれないのにExpressで運用してて、
しかも止めずに移行したいっていうのか。
787NAME IS NULL:2011/04/06(水) 20:18:45.08 ID:???
>>785
ありがとうございます!参考にします。

>>786
やっぱり
> XPのDBをデタッチしてmdfをコピー。その後WindowsServer2008にアタッチするのが正規の方法なのでしょうか?
が正規なのでしょうか。
> サービスも止めれないのにExpressで運用して
。。。すみません。自分用に作ったDBがいつの間にか基幹になるほど肥大してしまいまして。。。
素人が調子に乗った結果です。。
788780:2011/04/07(木) 20:00:48.20 ID:???
本日.bakファイルにて復元しました所、成功しました!!
みなさんありがとうございました。

そこでもう一つくだらない質問ですが2008ExpressのDBサイズ10G縛りですが
これって.mdfファイルの大きさが10Gまでという認識で間違っていませんか?

お願いします。
789NAME IS NULL:2011/04/07(木) 22:17:28.99 ID:???
10GBって相当でかいよな。ふつうに。
そのデータが飛んだときのことを考えると、Expressでやってて良いのかどうか。
790NAME IS NULL:2011/04/12(火) 16:58:21.13 ID:???
みなさんTimeが立って使います?
使う場合どんな使い道ですか?
791NAME IS NULL:2011/04/12(火) 17:00:01.78 ID:???
うぉぉ・・・誤字

time型て使います?
使う場合どんな使い道ですか?

今一歩使い道が見えません・・・
792NAME IS NULL:2011/04/12(火) 19:41:38.51 ID:???
時間を条件に抽出したいが、キャストするコストが惜しい場合とか?でもインデックス張ればよさそうだし。
datetimeかdatetime2でいいんじゃない?
793NAME IS NULL:2011/04/14(木) 09:30:37.98 ID:???
>>789
データの堅牢性に、SQLのバージョン関係ないだろw
794NAME IS NULL:2011/04/14(木) 11:01:19.34 ID:???
大いに関係あるだろ
795NAME IS NULL:2011/04/14(木) 11:05:03.72 ID:???
エンジンは変わらないんじゃないのか?
何か機能制限はされているのかも知れないが。

運用ツール側の制限の方が関係ありそう。
796NAME IS NULL:2011/04/14(木) 13:46:46.66 ID:???
エンジンは一緒だから堅牢性は問題ないけど

> そのデータが飛んだときのことを考えると、Expressでやってて良いのかどうか。
これは運用面でExpressが心配って事でしょ
そりゃエディションによってデータが飛びやすいとかは無いよ
797NAME IS NULL:2011/04/14(木) 14:18:56.65 ID:???
つ 復旧モデル
798NAME IS NULL:2011/04/15(金) 00:35:13.88 ID:???
compactスレってないのな
需要ほとんどなさそうだけど
799NAME IS NULL:2011/04/15(金) 02:16:04.97 ID:auwxOD0d
>>798
ユーザーがどれくらいいるのかね
用途的にWinユーザーはmdb慣れてるし
他OSユーザーはSQLite使うし
SSMSEのインストール極悪だし
800NAME IS NULL:2011/04/15(金) 02:25:07.07 ID:???
今のバージョンはVisualStudioのIDEで扱うもんだと思う
801NAME IS NULL:2011/04/15(金) 09:53:00.23 ID:???
ネットワーク経由で繋げたらMDB余裕で捨てるわ
802NAME IS NULL:2011/04/15(金) 11:08:57.30 ID:???
昔開発していたけど、今は使う側。

SQL-ServerをDBとするVBの社内アプリで、ログイン時にID,PASS入れるんだけど
既にsaのパスワードが割れている場合、セキュリティもクソもないよな?


803NAME IS NULL:2011/04/15(金) 11:17:50.71 ID:???
sa無効にしてしまうとか
社内クラサバ系は基本Windows認証だよね?
804NAME IS NULL:2011/04/15(金) 21:10:23.53 ID:???
saなら何でもできちゃうからねぇ。
805NAME IS NULL:2011/04/19(火) 00:48:23.35 ID:???
うちは一つのパソコンを数人で使いまわすとこもあるのでSQLServer認証。
DBのログも全部保管して、誰がいつログインしてどんなクエリを投げたか
わかるようにしてる。

そもそもなぜsaのパスワードばれたし。さっさとパスワード変えろ
806NAME IS NULL:2011/04/19(火) 14:55:17.29 ID:???
たしって何やねん
807NAME IS NULL:2011/04/22(金) 20:24:15.02 ID:vSCe3VDi
SQL Server2000でのインデックス管理についてです。

インデックス管理で新規追加する時に、インデックを付けるフィールドにチェックを付けると思いますが、
こちら、各フィールド毎に新規作成するのと、纏めてチェックするのでは違いがあるのでしょうか?

違いがある場合、それはどのような意味合いになるのでしょうか?
808NAME IS NULL:2011/04/22(金) 22:37:51.88 ID:???
おまえは何を言ってるんだ
809NAME IS NULL:2011/04/23(土) 00:00:36.74 ID:???
>>807
新人さん?インデックスは用途によってフィールドとか順序とか考えるもんだぜ

複合インデックス参照
http://itpro.nikkeibp.co.jp/article/COLUMN/20060302/231519/
810NAME IS NULL:2011/04/25(月) 12:40:41.63 ID:3QaeGquW
どなたか教えてください。

SQLSERVER2000 の インポートおよびエクスポート ウィザード 
にあった SQL SERVER データベース間の オブジェクトのコピー
というのが、最近始めた SQLServer2008R2 のそれには
なくなってしまっているようです。

単純に、同SQLSERVER内で、主キーも含めたテーブル
またはストアドなど、オブジェクトの全コピーを
行いたいのですが、どのようにすれば良いのでしょうか?

宜しくお願いします。
811NAME IS NULL:2011/04/25(月) 19:22:57.45 ID:0NF4ycIs
>>810
スクリプトの作成・・・みたいなところからCREATE文作成ではだめでしょうか?
812NAME IS NULL:2011/04/26(火) 18:34:46.28 ID:???
質問です。
Accessのリレーションシップにおける「参照整合性」、「フィールドの連鎖更新」などの項目が
SQLServer2008 Management Studio上ではないように思えるのですが設定箇所が別にあるのでしょうか?
813NAME 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で応答が帰ってこないというのには何か理由があるのでしょうか?
よろしくお願いします
814NAME IS NULL:2011/04/27(水) 02:37:06.11 ID:???
>>812
よく探せ
815NAME IS NULL:2011/04/27(水) 07:24:49.82 ID:4h/fk8k0
>>813
Management Studioがわるいのか切り分けのためにコマンドから実行して問題が発生するかどうか試してはどうでしょうか。

sqlcmdコマンドです。
816813:2011/04/27(水) 16:25:52.01 ID:LuVFZ08f
>>815
返答ありがとうございます
つい先程sqlcmdからの動作確認を行いました
携帯からなので簡潔に報告しますが
結果はsaユーザは問題なくクエリを実行出来、リダイレクト先に結果が格納されました
非saユーザは実行中の状態で応答が帰って来ず、マネジメントスタジオと同じ結果となりました
よって、マネジメントスタジオの障害ではなさそうです
他にも何かアドバイス等ありましたらよろしくお願いします

追記
書き忘れていましたがsqlserverは2008R2です
817NAME 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)でも可能ですかね?
818NAME IS NULL:2011/04/27(水) 17:34:14.19 ID:???
>>817
2005のデータを2008で復元したことはある。
R2とかx64は知らんけど、2005同士でできない理由は無いと思う。
819NAME IS NULL:2011/04/27(水) 18:35:33.18 ID:???
>>816
とりあえず
DB_PROXY_USERでログインしてコマンドプロンプトから該当のコマンド実行する
UAC切ってAdministratorで実行する
とか試してみたら
820NAME IS NULL:2011/04/27(水) 19:34:56.93 ID:???
>>817

2000(32bit) のデータを 2008R2(64bit)にアタッチで復元
できたので出来ないとおかしい
821NAME 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を追加しても同様に駄目でした。

他に確認事項などありませんでしょうか
822NAME IS NULL:2011/04/28(木) 00:08:29.61 ID:???
|| sysadmin 固定サーバー ロールのメンバー以外のユーザーが xp_cmdshell を呼び出した場合は、
|| ##xp_cmdshell_proxy_account## という資格情報に格納されているアカウント名とパスワードによって、
|| Windows への接続が行われます。このプロキシ資格情報が存在しない場合、xp_cmdshell は失敗します。

この辺の話かなぁ。とりあえず、whoami以外のコマンドではどうなるのか、とか試してみた?
823813: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のコマンドのため、関係性は薄そうです。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

なかなか答えにたどり着けない・・・
824NAME IS NULL:2011/04/28(木) 00:57:16.37 ID:???
うーん。なんだろね?
そもそも、SQL Server認証で使うべきもんじゃなさげ、って言ってしまうと身も蓋もないけど。
825817:2011/04/28(木) 01:07:39.75 ID:???
>>818
>>820
返事が遅くなってすまんです。
2008でも復元できるなら、新しい方が良いのかな。
とりあえず2008を入れてやってみます。
ありがとうございました。
826NAME IS NULL:2011/04/28(木) 03:29:12.88 ID:???
2000に比べて2008(R2)の外部結合が異常に遅いのですが、パッチで直るなどの話題はないでしょうか?
827NAME IS NULL:2011/04/28(木) 06:01:25.69 ID:???
>>826
前提も無ければ異常ってのがどの程度の話なのかもわからんので答えの出しようがありませんが、
単純に同じハードウェア上で動かした場合、2000よりも2008の方が重いのは確かです。
828NAME IS NULL:2011/04/28(木) 07:59:39.91 ID:???
やったことありますが、できましたよ
829NAME IS NULL:2011/04/28(木) 10:23:21.95 ID:???
>>814
レス遅くなり申し訳ありません。
探してみたのですがやはり見つかりません

現状起きている問題が
親テーブルでレコードが追加された場合、子テーブルにも親と同一キーのレコードを追加するという流れなのですが、
MDB→MDBで動作していたのが、MDB→SQLServerに移行してから動かない状態です。
830NAME IS NULL:2011/04/28(木) 13:24:42.55 ID:???
>>823
資格情報の取得に失敗してるんじゃなくて、コマンドの実行で
なんらかのエラーか待ち状態になってるんじゃないかと思うんだが
このパターンで多いのはUACなんだが切ってもだめだったんだよな
>DB_PROXY_USERの所属グループにAdministratorを追加しても
Administratorsグループに該当ユーザを入れたんだよな?
バッチジョブとしてログオンする権限ないとはねられたりするけど
Administratorsなら普通は許可されてるはずだが
831NAME IS NULL:2011/04/28(木) 16:56:25.58 ID:???
直接は関係ないけど、xpで動かしてたアプリをwin7に移植したときに
特定のapi呼び出しで反応が返ってこない時があった。
それもUACが原因だった。エラーを返さず、処理も返さない、最悪の仕様だ。
832NAME IS NULL:2011/04/28(木) 16:58:05.31 ID:???
移植失敗してるじゃん
833NAME 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に追加すると成功する

エラー出さないのはやっぱりコマンドが待ち状態なんじゃね
834NAME IS NULL:2011/04/28(木) 20:47:25.28 ID:???
カラム名の命名規則ってどうするのが一般的なのかね。
毎回悩んでハゲそう。
835NAME IS NULL:2011/04/28(木) 20:59:29.09 ID:???
昔からの癖で
・英数半角8文字以内
・先頭1文字でカラム型
・続く3文字でTABLE名略称
・残った4文字(あるいは3文字+連番)で項目名
でやってるが困ったことは一度もない(キリッ

正直命名規則よりER図なり項目表なりを如何にメンテするかが重要だと思われ。
836NAME IS NULL:2011/04/28(木) 22:12:01.32 ID:???
>>830
>>833
返信ありがとうございます

こちらではsp_xp_cmdshell_proxy_accountは問題なく実行できます
Expressのバグでしょうか

皆様からご意見を頂きましたが、どうにも解決できそうな気がしないです。

今日、上司に相談し、MSに質問メールを投げることに決定しました。
(とはいえ、私自身は異動ですが・・・)

ご意見ありがとうございました。
837NAME IS NULL:2011/04/29(金) 00:50:13.37 ID:???
>>835
>残った4文字(あるいは3文字+連番)で項目名
コボラー発見!!
838NAME IS NULL:2011/04/29(金) 06:38:45.96 ID:???
日本語カラム名にして、ダイヤグラム作っとけばER図も項目表もメンテしなくていいのに
839NAME IS NULL:2011/04/29(金) 08:25:36.36 ID:???
>>838
日本語
SQLが打ちにくい、英数が出て来たとき全角は結構違和感ある
前「名称_1」みたいに全半混在なやつをメンテしたときは面倒臭かった

コボルまで行かなくてもシステムごとに通用する1?4文字程度の略語を使って
項目名の長さを揃えるのが一番楽な気がする
840NAME IS NULL:2011/04/29(金) 09:28:12.02 ID:???
>>827
2000は32bit、2008R2は64bitで別マシンですが、WHEREや内部結合は2008R2の方が微妙に速い程度のスペック差です。
なのに、外部結合だけ2倍ぐらい時間かかるようです。

>>838
賛成。
英名でもタイピングミス怖いのでコピペするし、そもそもExcelのブロックコピペ駆使して高速大量コーディングするし、
タイピングのし易さ関係ないです。
それより、数百や数千項目の英名考えるのに何日かかるんですかとか、
「英名和名対応表」なる大量資料作って、本当に必要なI/O定義が一切ない業者がいたりするのが気になります。
「英名和名対応表」の分、工数的にもスキル的にも欧米より損してるんじゃないですかと。
841NAME IS NULL:2011/04/29(金) 09:28:16.68 ID:???
システム的なフィールドは英数字
それ以外は漢字( ×入り数  ○入数 のようにカナは外して)
842NAME IS NULL:2011/04/29(金) 17:38:50.70 ID:???
このあたりは項目名の文字コードではまった経験があるかどうかで意見分かれるなw
843NAME IS NULL:2011/04/29(金) 18:49:10.64 ID:???
なるほど、参考になるわ。

昔、Accessのカラム名やVBの変数名が日本語になってるのを見て、
「文字コード気にしないの?怖すぎる!」って言ったら、
同僚の反応は「いつの時代の話だよ?今は全然問題ないっす」だった。
844NAME IS NULL:2011/04/29(金) 20:38:58.32 ID:???
項目名の2バイトでは苦しんだことはないが、格納データの2バイトでは相当苦めらるた。
長音が数字として扱われたり、並び替えが仕様とは違っていたり。
845NAME IS NULL:2011/04/29(金) 22:28:41.97 ID:???
SQL Serverで項目名の文字コードではまったやつなんているのか?
いたら具体例を聞いてみたい
846NAME IS NULL:2011/04/29(金) 22:30:42.23 ID:???
わしももう日本語にしてる。2008だけど。だって扱う業務の対象が日本語なんだもん。
ルールはアスキー文字は全て半角にすること。JIS第一第二水準文字だけ使うこと。
あと2000のころは日本語フィールドはVisualStudioで自動コード生成したら、
ぐちゃぐちゃだった。
847NAME IS NULL:2011/04/30(土) 02:49:58.36 ID:???
>>846
項目名で全角のスラッシュを見たことある。トラップすぎる

Oracleから来ると
SQL Serverはソート順とか大文字小文字同一視とかではまることが多い
848NAME IS NULL:2011/04/30(土) 10:17:52.88 ID:???
MSの日本ローカライズ担当がアホなだけですよ。
849NAME IS NULL:2011/04/30(土) 10:34:59.37 ID:???
そういうことじゃないだろ・・・
850NAME IS NULL:2011/04/30(土) 11:06:40.59 ID:???
世界中阿保ばっかりだわっ!
851NAME IS NULL:2011/04/30(土) 12:02:09.22 ID:???
テーブル名にピリオドとかスラッシュとか使われててビックリしのは良い思い出
852NAME IS NULL:2011/04/30(土) 12:29:18.80 ID:???
>>851
括弧使ったやつコロ助
853NAME IS NULL:2011/04/30(土) 17:09:15.57 ID:???
ngいまくってるケースは見たなあ
854675:2011/05/09(月) 08:10:22.98 ID:???
全角半角スペースが混じってる時は殺意を覚えたw
855NAME IS NULL:2011/05/09(月) 08:10:50.17 ID:???
どこの675だよw
856NAME 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 を書いた側がタイムアウトしちゃいます。

なんででしょ
ロック行を読み飛ばすんじゃなかったでしたっけ?
857NAME IS NULL:2011/05/20(金) 11:49:13.95 ID:???
ちなみに

select * from [テーブル] with (readpast) where [更新かけた行を特定する条件]

は即座に戻ってきます。(0レコードで)
858NAME IS NULL:2011/05/20(金) 11:50:56.73 ID:???
>>419-423 が関係しそうでしした。すみません
859NAME IS NULL:2011/05/20(金) 12:05:49.45 ID:???
READ COMMITTED では、なぜだかタイムアウト
REPEATABLE READ だと成功

READPAST は READ COMMITTED でも効くはずでしたよね・・・?
860NAME IS NULL:2011/05/21(土) 00:39:40.09 ID:???
少なくともうちの 2008 Developer Edition では期待通り動いてる
861NAME IS NULL:2011/05/22(日) 01:26:34.28 ID:???
SQLSERVERは仕様として明記されてないロック動作が多いからなぁ。
862NAME IS NULL:2011/05/24(火) 22:32:24.37 ID:1fhwQ9aF
sql server 2008 express r2 ですが
現在のシーケンス番号って取得できないの?

postgresqlでいうcurrvalのようになんだけど。
863NAME IS NULL:2011/05/24(火) 22:40:49.23 ID:9dtiO0L7
MAXじゃだめなの?

SELECT MAX(NO) FROM TABLEとか
864NAME IS NULL:2011/05/25(水) 04:05:52.53 ID:???
IDENT_CURRENT
865NAME IS NULL:2011/05/25(水) 20:40:34.73 ID:???
>>863
MAXとは違う場合があるから
866862:2011/05/25(水) 22:07:07.31 ID:???
>>864
d
867NAME 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
↑のようなページは見つけたのですが、
リンク先に書いてある、別のフォルダを指定する方法が分かりません。

スレ違いかもしれませんが、もし分かる方がいらっしゃったら教えて頂けないでしょうか?
868NAME IS NULL:2011/05/26(木) 00:05:26.03 ID:???
インストール先の環境は極秘事項?
869NAME IS NULL:2011/05/26(木) 06:20:37.16 ID:???
圧縮するな
870NAME IS NULL:2011/05/26(木) 08:37:31.32 ID:???
>>867
リンク先の
>詳細な技術情報については、MSDN ブログの
>「SQL Server 2005 と 2008 セットアップ エラー (圧縮された DATA ディレクトリ)」
>を参照してください。
を見ましたか?
871NAME 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 の分だけはコミット、ってことができないように思いますが
私の理解が間違えてますでしょうか?


872NAME IS NULL:2011/05/28(土) 03:34:17.60 ID:???
SqlCommand1-3が同一のトランザクションでセーブポイントもないのに
そのうちの一部だけコミットとかロールバックとかあり得ない
873NAME 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を選択したときに
プロパティ画面に表示されるものを使用しています。
874NAME IS NULL:2011/05/28(土) 08:57:49.06 ID:???
>>873
>  System.Web.HttpException: SQL Server データベースに接続できません。
そのままググっただけでも何十件もの情報がでてくる。
どれに当てはまるかは、あなたしだい。
875NAME IS NULL:2011/05/28(土) 16:29:42.68 ID:???
>>874
全部ダメでしたってのが今の状態なわけですw
876NAME IS NULL:2011/05/28(土) 16:32:27.58 ID:???
じゃ。無理。あきらめろ。
877NAME IS NULL:2011/05/28(土) 17:17:41.65 ID:???
>>876
マジでそんな選択しかないのですか?w
せめて、現在の状態(あと、何をやる必要がある等)を確認する手段などないのでしょうか?
878NAME IS NULL:2011/05/28(土) 17:31:31.05 ID:???
リモートかどうか、プロトコルは何を使ってるか、そんなのも書かないやつに
アドバイスのしようもない。
879NAME IS NULL:2011/05/28(土) 18:07:54.59 ID:???
やりたいことはSqlConnection関数使ってデータベースにつなげたいだけなんですよ
入門書にのってるサンプルプログラムを打って動作させたいとかそんなレベルです
できればぶっちゃけなんでもいいんです。

会社ではSqlServer2008Express
家ではSqlServer2005Express
をダウンロードしてきたのですがまったく同じエラーがでます

別にどっかのPCにつなげているわけではなくて1つのPCで作業をしてる状態です
リモートとかプロトコルって設定の話でしょうか?
それともなにか別に確認する項目はあるのでしょうか?
なんかあまりにも複雑で本当に入門書やるのにこの設定が必要なのか?って感じでビビってるんですが・・・

ちなみにVSは会社では2005、家では2010を使っています
880NAME IS NULL:2011/05/28(土) 18:16:41.26 ID:???
いやさ、その入門書で作ったクライアントプログラムがTCP:1433で接続しに来てるのか
どうかくらいはわかっててくれよ。あと入門書の手順何かすっ飛ばしてないか?

あと「全部ダメでした」じゃこっちに状況全く伝わらん。何をして、どうダメだったのか。
localhost1台で構築してるって話も今ようやく出てきたわけでな。洗いざらい吐け。
わからんなら出し惜しみするな。必要な情報かどうかはこっちが判断する話だ。
881NAME IS NULL:2011/05/28(土) 18:18:19.68 ID:???
それ以前に「プログラム」って具体的に何よ。
VC? C#? VB?
882NAME IS NULL:2011/05/28(土) 19:52:25.48 ID:???
ググってでてきたことを全部試してダメだったんだから、根本的なところを疑わないとだめなんじゃない?
SQLServerに見せかけた別のソフト、、があるならググってでてきそうだから、
もしかしたら見ているgoogleが別なのかもしれない
883NAME IS NULL:2011/05/28(土) 21:52:50.02 ID:???
Newしてないとか、プログラムのかなり根本的なレベルじゃね?
884NAME IS NULL:2011/05/29(日) 01:59:10.58 ID:???
>>873
問題を切り分けろ。
単純にvbsでoledbとかで接続を試してみろ。コードにして数行だ。
それでokなら、お前のプログラムミスだ。
885NAME IS NULL:2011/05/29(日) 05:58:09.27 ID:???
単に接続文字列が間違ってるだけな気がするが

とりあえずその入門書のタイトルと
お前が作ったプログラムのソース全部さらせ
886NAME IS NULL:2011/05/29(日) 09:04:47.59 ID:???
>プログラムで使ってる接続文字列はソリューションエクスプローラーでDBを選択したときに
>プロパティ画面に表示されるものを使用しています。
そのままコピペしたらだめだったはず。
887NAME IS NULL:2011/05/29(日) 10:02:42.15 ID:???
             (^ω^)⊃
         _,,..,,,,_⊂ミ⊃ ) プルルン
        ./ ,' 3 `∩ηっ
        l   ⊃ ⌒_つ
         `'ー---‐'''''


            /⌒ヽ
            ( 人  )
            |  | ボゥッ!!!!!!
            | ノ(|
            |.⌒| (^ω^;)
           _,,..,,,_|  | (つ ⊂)
         / ,' 3 |  |ーっ
         l   ⊃ ⌒_つ
          `'ー---‐'''''"
888NAME IS NULL:2011/06/01(水) 21:52:23.52 ID:???
スイマセン、ヒントください

Windows 2008 Server R2/SQL Server 2008の環境で、DTSをコマンド実行してます。
処理自体は動いているのですが、開始・終了がイベントビューアに表示されません。

2003 server
889NAME IS NULL:2011/06/01(水) 22:22:22.64 ID:???
2003なのか2008なのか
890NAME IS NULL:2011/06/01(水) 22:24:53.93 ID:???
>>889
スイマセン
2008です
891NAME IS NULL:2011/06/01(水) 22:34:29.43 ID:???
そもそも、イベントビューアに記録されるんだっけ?
892NAME IS NULL:2011/06/01(水) 23:07:33.06 ID:???
OS 2003 Server
893NAME IS NULL:2011/06/01(水) 23:09:19.51 ID:???
アンド 記号を入れると、それ以下が来れるんですね^^;

2003 ServerとSQL 2005の組み合わせでは、イベントビューアに表示されています
894NAME IS NULL:2011/06/02(木) 04:08:22.76 ID:???
895NAME IS NULL:2011/06/02(木) 11:36:55.12 ID:???
ユーザー定義型を戻り値とするユーザー定義関数って作れないんでしょうか
create function の書き方がよく分かりません。。
896NAME IS NULL:2011/06/02(木) 11:47:39.43 ID:???
あともうひとつ、
ユーザー定義型を引数で受け取るユーザー定義関数を作ったのですけど、
そのユーザー定義関数を呼び出す際に、Empty(行数ゼロ) を渡したいのですが、何かいい方法ないですか。

そのユーザー定義型を declare で変数つくって呼ぶしかないですか?

ユーザー定義型を引数とするユーザー定義関数をビューの中から呼び出したいのですけど
897NAME IS NULL:2011/06/03(金) 12:30:06.18 ID:HTJtVMpG
898NAME IS NULL:2011/06/03(金) 12:42:50.72 ID:???
SQLは金出して買うもんじゃないし
899NAME IS NULL:2011/06/03(金) 13:02:43.78 ID:???
まあ宣伝乙にマジレスすると、ネットで探したKeygeneratorで生成したプロダクトキー送ってくるだけでしょ。
ぼろ儲けっすねw
900NAME IS NULL:2011/06/03(金) 13:08:36.97 ID:???
SQLでキーなんて入れたっけ?
901NAME IS NULL:2011/06/03(金) 14:47:39.37 ID:???
>>899
マジレスするのもなんだけど、MSDNのキー売ってるんじゃないの?
902NAME IS NULL:2011/06/03(金) 18:19:39.09 ID:???
これは通報したら相当な賠償金が発生するなw
903NAME IS NULL:2011/06/04(土) 19:34:50.71 ID:???
blogなくなってんね。
あっさりばれたから?
904NAME IS NULL:2011/06/04(土) 21:30:34.62 ID:???
>>902 にびびったんじゃね?
905NAME IS NULL:2011/06/04(土) 22:00:01.25 ID:???
魚拓とったから、暇な時にMSに送っておく
906NAME IS NULL:2011/06/05(日) 01:39:53.40 ID:???
>>905
どうせならそこのリンク先の、検索したらぼろぼろ情報が出てくる
http://productkey.lovelove.cat/
こっちを連絡した方がいいんでないのかな。
うさんくさいったら。
907905:2011/06/05(日) 09:32:36.55 ID:???
やっぱりめんどくさいから止めた
908NAME IS NULL:2011/06/05(日) 09:38:16.70 ID:???
代わりに俺が送っておく
909NAME IS NULL:2011/06/05(日) 09:41:35.23 ID:???
あかだこもGoogleのキャッシュから突き出す
http://productkey.lovelove.cat/index.html
もそのまま通報する
910NAME IS NULL:2011/06/05(日) 15:50:49.44 ID:???
>>900
いわれてみればそうだ。
911NAME IS NULL:2011/06/05(日) 23:45:52.44 ID:J7j3ey3A
.net側からSqlCommandを使ってSQL文実行させたいのですが"GO"が入ってると怒られます。
USE db名 Go
の1文でもダメなのですが原因わかる方いらっしゃいますか?
912NAME IS NULL:2011/06/05(日) 23:47:17.49 ID:???
go はSQLじゃないから。
913NAME IS NULL:2011/06/06(月) 00:03:03.02 ID:???
ヒロミだね
914NAME IS NULL:2011/06/06(月) 00:20:29.70 ID:???
Transact SQLだからダメって事なのかな…。
915NAME IS NULL:2011/06/06(月) 09:27:20.26 ID:???
業務で使ってる SQL Server で SSD 使ってる人いますか?
データベースミラーリング(別筐体でミラーリングするあれ)を施した上で運用する前提です。

書き込み上限に達して、SSD があぼーんしたとても
別筐体の SQL Server が業務を引き継いでくれれば構いません。

前提)
  ・SSDは消耗品と割り切る
  ・フェールオーバーに伴うセッション断は許容する

データベースサイズが 20GB ほどのデータベース規模のところに適用させたいと思ってます。
どんな具合でしょ?
916NAME IS NULL:2011/06/06(月) 10:21:36.19 ID:???
trim対応のSSDと2008R2なら特に問題を感じない、という話は聞いた。
でもDBのファイルスペースの配置とかでコツがあるみたい。教えてくれなかったけど。
917NAME IS NULL:2011/06/06(月) 10:44:15.08 ID:???
みんな、そこまでシビアにチューニングすんのか。
脱帽。
918NAME IS NULL:2011/06/06(月) 11:56:11.70 ID:???
>>911
接続文字列でDB指定しろよ
919NAME IS NULL:2011/06/08(水) 13:26:55.76 ID:???
今、ASP(CLASSIC)+VBS+ADO+SQL2000のシステム担当してるが
SQL2000以上でもADO使えるの?
920NAME IS NULL:2011/06/08(水) 13:33:53.95 ID:???
>>919
評価版あるだろ、結果のレポよろしく
921NAME IS NULL:2011/06/08(水) 13:42:46.99 ID:???
>>919
2008にExcel2003から繋いでるよ
922NAME IS NULL:2011/06/08(水) 14:09:42.68 ID:???
>>921
ODBC定義してADOで?
923NAME IS NULL:2011/06/08(水) 14:32:57.07 ID:???
>>922
ADO OLEDBだけどODBCでもいけると思うよ
924NAME IS NULL:2011/06/08(水) 15:36:32.53 ID:???
>>923
サンクス。時間できたら評価版拾って試してみる
ただ、評価版インストするPCがないんだよなぁ・・・
さすがにSQL2000入ってる本番サーバーへのインストは無理だし
925NAME IS NULL:2011/06/08(水) 16:38:41.22 ID:???
なにその後半のぼやき
どうしたらいいか知りたいわけでもなさそうだからがんばってね
926NAME IS NULL:2011/06/08(水) 19:36:59.82 ID:???
サーバーにインストールする必要なんてないけどな。
927NAME IS NULL:2011/06/09(木) 13:26:55.57 ID:???
SQLってQRACLE理解できないバカが仕方なしに使うDBだよね?

両方使ってみてSQLがいかに糞かがよ〜くわかったwww
928NAME IS NULL:2011/06/09(木) 13:32:39.90 ID:???
よくわかんないけど、SQLが糞なら使わなきゃいいんじゃない?
929NAME IS NULL:2011/06/09(木) 14:55:28.92 ID:???
>>927
SQLって略す馬鹿も同レベルだろw
まあ、MSが悪いんだが。
930NAME IS NULL:2011/06/09(木) 15:05:55.43 ID:???
LAMP>>>>>>>>>>>>>>>WISA
931NAME IS NULL:2011/06/09(木) 19:58:23.57 ID:???
LinuxでもMicrosoftのSQL Serverって動くのけ?
932NAME IS NULL:2011/06/09(木) 20:54:16.23 ID:???
>>929
ヒント:Sybase
933NAME IS NULL:2011/06/20(月) 17:14:48.74 ID:RhnGwl8S
どなたか教えてください。

SQLServer 2008 をつかっています。
今までXpだと問題なく使えていましたが
Windows7 XpモードとWindows2003ですと
クラスはオートメーションまたは予測したインターフェースをサポートしていません。というエラーが
でます。
MDACかなとおもいますが確信がもてません。
934NAME IS NULL:2011/06/20(月) 18:21:51.01 ID:???
頑張ってください。
陰ながら応援しております。
935NAME IS NULL:2011/06/20(月) 19:15:37.24 ID:???
>>933
サーバーの話? クライアントの話?
「使えていた」って何の話?
MDACって思った理由は?
936NAME IS NULL:2011/06/20(月) 20:32:55.99 ID:???
>>933

釣られてみる

MDACっていっておられるので、クライアント側からサーバーに繋がらないという
現象に見える。

基本 Windows7 も Windows2003 SQL Server につながる MDACは入っていたので、
XP で参照設定していた ADOもしくはDAO の一致するバージョンが Windows7 と Windows2003
に入ってなかったりして.
937NAME IS NULL:2011/06/20(月) 20:35:56.66 ID:???
ぜんぜん違う。COMのエラーが出てるんだから、使ってるコンポーネントが
インストールされてるか確認。

せめて、コードくらい晒せよ。
938NAME IS NULL:2011/06/21(火) 16:16:43.56 ID:NZSpDwiB
933です。
Windows7 XPモードとwindowsXPではインストールしているTOOLは同一。
もともと、vb6でSQLServerをRDOを使っていたプログラムです。

なお、dbを検索した結果のレコードセットが一件のときは発生しません。
参照設定も同一ですので・・・違いはMDAC程度です。なお、Windows2003でも
同様のエラーが出ています。
939NAME IS NULL:2011/06/21(火) 16:22:38.45 ID:???
MDACかたっぱしから入れてみ?
940NAME IS NULL:2011/06/21(火) 18:14:19.28 ID:???
>>938

1. rdOpenForwardOnly だったら rdOpenKeySet に変えてみる

2. ADOに変えてみる
941NAME IS NULL:2011/06/21(火) 21:08:43.09 ID:???
RDOのランタイムはちゃんと配布してんの?
どのみち、RDOは現在非サポートだからどうしようもないけど。
942NAME IS NULL:2011/06/22(水) 10:27:41.33 ID:???
SQL2005鯖の更新を検討中なんです。
2008R2の新機能を使う予定はなく、単にリプレースとなりますが
同じマシンスペックのサーバーに入れた場合、どっちの方が速く動作すると思われますか?

SQL2005 はプロセッサライセンスで買ってるおり
速度の面で効果が見込まなければ 2008R2 のライセンスに100万近く投じる価値なしということで
引き続き SQL2005 を使い続ける予定です。

OS は 2008R2 に上げる予定ですが。
943NAME IS NULL:2011/06/22(水) 11:11:09.45 ID:???
944NAME IS NULL:2011/06/22(水) 13:04:04.73 ID:cMP/kGwo
933です。

dOpenKeySetを使っています。
RDOのランタイムは開発TOOL入れてますんで入っています。
ADOは、
10年ほど前のお客さんの環境もおんなじなんで、何かにかこつけて
作りましょうよ・・・で予算をもらいますわ。
Window2008+SQL2005(互換レベル2k)+XP+vb6です。
945NAME IS NULL:2011/06/22(水) 15:07:36.45 ID:???
2005ならあと3年は持たせろ
946945:2011/06/22(水) 15:08:20.41 ID:???
>>942
947NAME IS NULL:2011/06/22(水) 23:15:21.27 ID:IfODt5wb
>>942
圧縮機能で速くなるかもしれないが、CPUを結構使う。
データ次第
948NAME IS NULL:2011/06/25(土) 22:11:50.82 ID:???
a
949NAME IS NULL:2011/06/30(木) 13:34:21.01 ID:???
レン鯖でバックアップ取りたいと言ったらリンクサーバー使え言われました
リンクサーバーってリンクしてる方は素通しでデータ残らないと思っていましたが違うのでしょうか?
950NAME IS NULL:2011/06/30(木) 23:15:06.59 ID:???
951NAME IS NULL:2011/07/04(月) 11:33:59.15 ID:???
引数がデータ戻し型(output)のストアドって
最終レコードが取れるまで値を戻さないんだな
何気にイラってくる仕様だが、みんな我慢してるのか

最初に値セットしておけ!って感じなんだが
952NAME IS NULL:2011/07/04(月) 13:36:31.92 ID:???
953NAME IS NULL:2011/07/06(水) 10:46:56.66 ID:???
おまえは一体何を言ってるんだ?
954NAME IS NULL:2011/07/06(水) 12:22:35.79 ID:???
最終レコードが取れるまで値を返さないってのは
SQL Server 側の問題じゃなくて、System.Data.SqlClient.SqlCommand の仕様なのか?
955NAME IS NULL:2011/07/06(水) 13:48:13.44 ID:???
SQLの問題。
956NAME IS NULL:2011/07/06(水) 14:47:40.17 ID:???
返却されるレコードセットの書式をパラメータによって可変にしたいとき
まずは output パラメータに、これから戻されるレコードセットの種類を先に教えたいんだよな

もっとシンプルなところでレコード件数を先に返しておくとか、
先に select 〜 でoutput パラメータを列挙して、1行のレコードセット返すしかないのかね
957NAME IS NULL:2011/07/06(水) 14:58:11.03 ID:???
まずは、とか、最初に、とか、一体何の話なんだと思うが
1回のストアドの呼び出しの話じゃないのかね
958NAME IS NULL:2011/07/06(水) 18:00:25.21 ID:???
ストアドの中で

select 〜
select 〜
select 〜

って3つレコードセット返す風にすると
System.Data.SqlClient.SqlDataReader で NextResult を最後まで引っ張って
最後のレコードセットの最後のレコードまで読まないと output パラメータが戻ってこないんだけど
959NAME IS NULL:2011/07/06(水) 18:58:02.27 ID:???
つまりSELECTできたものから準々に返せよってこと?

よくわからんけどストアド分けたらだめなん?


てかそれ呼び出し後の処理どうなってんだよ。
準々に返されてもあとの処理どう書くんだ
960NAME IS NULL:2011/07/06(水) 19:51:13.68 ID:???
あほうの考えることはよう解らんのう
961NAME IS NULL:2011/07/06(水) 22:18:53.40 ID:???
SSRSの話はここでいいのでしょうか
パラメータでデータソース変えられるレポート作っており、ひとまずデータソース変えるのはうまく行きました
問題はここからで、そのレポートはデータソースの選択以外のパラメータもあるのですが
データソースの指定後に他のパラメータを変える度に読み込みが入ってしまいます
この読み込みを何とか防げないでしょうか?
さすがに鬱陶しいです…
962NAME IS NULL:2011/07/06(水) 22:19:34.83 ID:???
>>958
検証してないから不確かだけど、それはSqlDataReaderの仕様の問題だと思うが

まあレコードセット三つも返す上にoutput パラメータってどんな設計だとは思うが
963NAME IS NULL:2011/07/08(金) 10:47:08.90 ID:???
>>958
当然だ。さっきからおまえは自分で何を言ってるか分かっているのか。
964NAME IS NULL:2011/07/08(金) 22:37:49.21 ID:???
ねえねえ
みんな専門学校とか大学とか会社の研修とかでSQL習うの?
グーグル先生とトライアンドエラーでやっとセレクト句は書けるようになったけど
965NAME IS NULL:2011/07/08(金) 22:46:14.23 ID:???
文系だから学校で習うかは知らんが、普通に本読んだ後に実務で覚えた。
しかし、セレクト文とかで躓いてるようじゃシスアドも取れないぞ。
966NAME IS NULL:2011/07/08(金) 23:24:22.44 ID:???
HELPがあればどうにかなる
967NAME IS NULL:2011/07/09(土) 01:11:31.46 ID:???
Oracleのバグとの戦いにHelpなど糞の役にも立たない。
968NAME IS NULL:2011/07/09(土) 02:11:28.28 ID:???
>>958
>最後のレコードセットの最後のレコードまで読まないと output パラメータが戻ってこない

SqlDataReaderをCloseすれば別にレコード読まなくても戻ってきますが
969NAME IS NULL:2011/07/09(土) 07:33:09.31 ID:???
何故にここでOracle?
970NAME IS NULL:2011/07/09(土) 20:10:07.40 ID:???
Oracle 使ってる俺ってすごい?

って言うちんけなアピールだろ。

ちょっとした会社だと普通に使ってるだろうし、
個人でも XE とかあるから、今時自慢にもならないが。
971NAME IS NULL:2011/07/09(土) 23:13:27.69 ID:???
オラ、狂う・・
972NAME IS NULL:2011/07/10(日) 23:51:29.97 ID:???
ボラクル
973NAME IS NULL:2011/07/11(月) 18:29:30.25 ID:???
Management Studio 2008 で、
あるデータベースの、全てのテーブルのデータを、INSERT文として一括でSQLファイルに保存する方法はありますでしょうか?
個々のテーブルのデータをCSVファイルに保存するやり方は見つかったのですが、INSERT文を出力する方法が分かりませんでした。
よろしくお願いいたします。
974NAME IS NULL:2011/07/11(月) 19:01:24.79 ID:6LrhJY3M
>>973
データベース選択して右クリック、タスクから、DDLの一括エクスポートだったかな
975NAME IS NULL:2011/07/11(月) 19:39:28.47 ID:???
>>974
どうもです
うちのManagement Stuidoは無料版だからか、その選択肢がありませんでした
このサイトに別のやり方書いてあるのを見つけて、うまくいきました
http://d.hatena.ne.jp/seki-moto/20110421/ExportInsert
976NAME IS NULL:2011/07/11(月) 19:52:17.77 ID:yxrx500r
>>975
すまそ
おいらが間違えたみたいだ
977NAME 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ラベルが多種類公開されていましたが、公開されなったのでしょうか?
よろしくお願いいたします。
978977:2011/07/12(火) 22:02:39.36 ID:MGCS7YLo
SQL Server 2008 R2のパッケージ版です。
979977:2011/07/12(火) 22:27:09.78 ID:+wecPeA+
×公開されなったでしょうか?
○公開されなくなったのでしょうか?
980NAME IS NULL:2011/07/13(水) 08:44:50.39 ID:???
981NAME IS NULL:2011/07/13(水) 09:59:20.58 ID:???
SPでるほどバグがあったのか。
982NAME IS NULL:2011/07/13(水) 15:15:39.25 ID:???
>>981
全部で5点ほどの新機能と80点ほどの修正。
サービスパックで提供してくれるだけまだマシだと思うわ。Oracleはサポート入らないとほんとに何にもしてくれないし、
どう考えてもバグとしか言えないのにまるで修正プログラムを提供する気配のない製品すらあるし。
983NAME IS NULL:2011/07/13(水) 15:49:13.23 ID:???
Intel の開発製品は新規購入時に一年間のサポート契約が付いてくるけど
それ切れた後契約更新しなかったらその後のアップデート利用できないな。
ほかにも似たような方式の会社でてきてるから
今後はそういうのが増えちゃうのかな。
984NAME IS NULL:2011/07/13(水) 19:04:43.94 ID:???
他と比べてはじめてサポートはMSが最強といえる。
985NAME IS NULL
自動翻訳のイミフなKBを読み解く能力は必須
英語が読めると楽だね