板検索:
Microsoft SQL Server 総合スレ 11 (400)
まとめビュー
1
NAME IS NULL[]   投稿日:2016/05/29 16:50:08  ID:dqKJQypQ.net
Microsoft SQL Server (Transact-SQL) の総合スレッドです。

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

過去スレとかめんどいから誰か適当に貼って


2
NAME IS NULL[sage]   投稿日:2016/05/29 17:26:44  ID:???.net(351)
・過去スレ

Microsoft SQL Server 総合スレ 10

Microsoft SQL Server 総合スレ 10(レス数6で落ち)
Microsoft SQL Server 総合スレ 10

Microsoft SQL Server 総合スレ 9
データベース板の別スレッドへ

Microsoft SQL Server 総合スレ 8

Microsoft SQL Server 総合スレ 7
データベース板の別スレッドへ

Microsoft SQL Server 総合スレ 6
データベース板の別スレッドへ

Microsoft SQL Server 総合スレ 5
データベース板の別スレッドへ

Microsoft SQL Server 総合スレ 4
データベース板の別スレッドへ

Microsoft SQL Server 総合スレ3【MS SQL】
データベース板の別スレッドへ

MS SQL Server 総合スレ2
データベース板の別スレッドへ

3
NAME IS NULL[sage]   投稿日:2016/05/29 23:40:39  ID:???.net(351)
おつ

4
NAME IS NULL[]   投稿日:2016/05/30 02:56:20  ID:bu03jhsY.net
日本マイクロソフト人事本部シニアマネージャー(名ばかり管理職)の西川昌邦(さいかわまさくに)は犯罪者にして殺人犯だ!!
「あなたのような従業員は会社のパフォーマンスにとってマイナスなので早く死んでください」
などと自殺教唆を公然と行った!! その結果人が死んだ!!
丁寧に言えば何を言ってもいいというものではない!!これはヤクザや借金取りが脅迫をする時に
「いついつまでに金一億円をお振り込みください。命が惜しければ間違った判断をなされないことを期待します」
と発言するのと同じレベルだ!!
しかもそれを注意してやったら、「世間はわれわれの味方だ。文句があるなら訴えてきたらよろしい。メールを電番を公開したければ
どうぞご自由に。世論はわれわれを賛辞するするメールを送付するだろう」
などとイカ様気取りも大概にしろという発言を行った!!
抗議先 日本マイクロソフト人事本部 西川昌邦
メール:masaikaw●microsoft.com
(●を@に置き換えて)
電話:09025411718

5
NAME IS NULL[sage]   投稿日:2016/05/30 03:37:26  ID:???.net(351)
こういう異常者を切る眼力を持つ物が人事をやってる
さすがMSw

6
NAME IS NULL[sage]   投稿日:2016/06/02 14:04:22  ID:???.net(351)
せっかくなのでVS2015スレから転載

201 名前:デフォルトの名無しさん [sage] :2016/06/02(木) 04:43:03.97 ID:FKKiP5go
>194
公開されたぞ

SQL Server 2016 Developer (x64) - DVD (Japanese)

リリース日: 2016/6/1
ファイル名: ja_sql_server_2016_developer_x64_dvd_8778351.iso
言語: Japanese
SHA1: 3FACA4CB652E6209376B3843274C573E8161659B

7
NAME IS NULL[sage]   投稿日:2016/06/03 09:13:02  ID:???.net(351)
SQL Server Management Studioは間に合わなかったの?
preview版(英語)をダウンロードするようになってるんだが

8
NAME IS NULL[sage]   投稿日:2016/06/04 00:55:23  ID:???.net(351)
ssmsで完全バックアップを取りたいのですが保存先がサーバ側(リモート)ディレクトリしか指定できないようです
リモートに保存したあとコピーするなどではなく、直接ローカルに保存したいのですが可能でしょうか?
コメント2件

9
NAME IS NULL[sage]   投稿日:2016/06/04 03:00:44  ID:???.net(351)
>8
DBMSの話で普通、ローカルとかリモートとかってのはサーバ(DB)側からみての話だと思うが

BACKUP DATABASE コマンドでUNCパスが指定できるから、ネットワーク共有ファイルに保存はできるはず
ただし、サーバサービスを動かしてるアカウントに権限が必要だが
コメント2件

10
NAME IS NULL[sage]   投稿日:2016/06/04 05:02:11  ID:???.net(351)
>9
ありがとうございます
ネットワーク共有以外の方法は無いでしょうか?
例えばdb単位でdumpした奴をクライアント側(ssms)に保存するような機能は無いでしょうか
スクリプト生成も試したのですが互換性がどうのこうのと言われ使い物にならなかったです
bcpはスキーマを取れないようだし
コメント1件

11
NAME IS NULL[sage]   投稿日:2016/06/04 16:33:35  ID:???.net(351)
>10
バックアップデータがネットワークを介さずにクライアント端末に瞬間移動する機能を期待しているの?
コメント1件

12
NAME IS NULL[sage]   投稿日:2016/06/04 16:36:44  ID:???.net(351)
bcpにフォーマットファイル作成するオプションがあるが

13
NAME IS NULL[sage]   投稿日:2016/06/04 17:21:12  ID:???.net(351)
>11
瞬間移動?
mysqldump的なことです
コメント1件

14
NAME IS NULL[sage]   投稿日:2016/06/04 22:31:57  ID:???.net(351)
>13
サーバ上にあるデータベースのデータをクライアント側にバックアップしたい。でもネットワークは経由したくない。

って話じゃないの?
コメント1件

15
NAME IS NULL[sage]   投稿日:2016/06/05 00:12:16  ID:???.net(351)
>14
>ネットワークは経由したくない
そんなこと言ってないです
>9さんが言っているのはDB鯖にネットワークドライブをマウントさせてそのにバックアップを取ったら?と言っているんですよね
そうではなくmysqldumpのようにクライアント側にダイレクトにdumpさせたいので同等の機能はないんでしょうかと訪ねているのです
コメント1件

16
NAME IS NULL[sage]   投稿日:2016/06/05 01:16:00  ID:???.net(351)
>15
UNCで指定っていってるんだから、ネットワークドライブとしてマウントする必要ないでしょ。

CIFS使うことがいやな理由は?
コメント1件

17
NAME IS NULL[sage]   投稿日:2016/06/05 01:28:17  ID:???.net(351)
設定が分からないとか面倒とかでは。。

SSMS を動かしているクライアント上に、SSMS が直接バックアップファイルを作成できるか?
ってことなら 不可 でいいんだよね?
コメント1件

18
NAME IS NULL[sage]   投稿日:2016/06/05 01:36:16  ID:???.net(351)
>16
失礼
会社の鯖なんで共有の設定できないです
>17
>設定が分からないとか面倒とかでは。。
会社の鯖なんで弄れないです
やっぱ無理なんすね
ダメだなsqlserver
コメント1件

19
NAME IS NULL[sage]   投稿日:2016/06/05 01:44:06  ID:???.net(351)
>18
共有の設定するのはクライアント(端末)側でしょ?
コメント1件

20
NAME IS NULL[sage]   投稿日:2016/06/05 01:47:06  ID:???.net(351)
>19
そうなんですか!
windows無知すぎて恥ずかしい…
ありがとうございます!

21
NAME IS NULL[sage]   投稿日:2016/06/05 03:14:58  ID:???.net(351)
そもそもバックアップはDB管理者のタスクで、一般ユーザーのタスクじゃないから

クライアント側にデータ吐きたいだけならBCPで良いだろ
サーバの設定変えられんとか、アカウント変更できんとネットワーク共有使えん可能性が高いんだが
コメント1件

22
NAME IS NULL[sage]   投稿日:2016/06/05 03:49:38  ID:???.net(351)
>21
私はDBAではないです
bcpはddl吐けないですよね?
データのコピーならbcpで十分なのはわかってます

23
NAME IS NULL[sage]   投稿日:2016/06/05 14:14:34  ID:???.net(351)
そもそもなんのためにそんなことしようとしてるんだろう。

24
NAME IS NULL[sage]   投稿日:2016/06/05 17:20:39  ID:???.net(351)
ddlは吐かないがレイアウト定義は出力できる
ddlを吐いても、一般ユーザーにテーブル作成する権限があるとは限らんし

ホント、なんのためにddl付きのデータが欲しいんだ
コメント1件

25
NAME IS NULL[sage]   投稿日:2016/06/05 18:08:24  ID:???.net(351)
>24
>ddlを吐いても、一般ユーザーにテーブル作成する権限があるとは限らんし
>ホント、なんのためにddl付きのデータが欲しいんだ

そこは気にしなくていいです
ただmysqldumpと同じ機能がないことにショック

26
NAME IS NULL[sage]   投稿日:2016/06/05 19:03:54  ID:???.net(351)
だからバックアップはDB管理者の仕事だって言ってるだろ
クライアントにバックアップ保存するようなコンセプトじゃないんだよ

27
NAME IS NULL[sage]   投稿日:2016/06/05 19:28:34  ID:???.net(351)
(不正アクセスを試みてるようにしか見えない件)

28
NAME IS NULL[sage]   投稿日:2016/06/05 21:34:55  ID:???.net(351)
>8
無理です
SQL-Server にはそう言う機能がないので MySQL でも使ってて下さい

で、終了でしょ
コメント1件

29
NAME IS NULL[sage]   投稿日:2016/06/06 10:14:44  ID:???.net(351)
>28
yes

30
NAME IS NULL[sage]   投稿日:2016/06/11 01:01:56  ID:???.net(351)
バックアップは、というか基本的に全てのSQLはSQLServer上で動いてるから、SQLServerのプロセスの実行アカウントがアクセス出来る場所にしかアクセスできない
sqlcmdやbcpなんかのユーティリティでクライアントにデータ持ってきてるのは、結果セットをユーティリティがネットワーク経由してくれてるだけ、
バックアップファイルは結果セットじゃないんで無理

という認識でいる。あってるかどうかは知らない
mysqlは
SQLServerサービスの実行アカウントがNetworkServiceかDomainAdminsのユーザならUNCでいけるかな?

インメモリのテーブルにレプリケーションのハブリッシュテーブル指定できないとか対応しとけよMSのあほー
使えそうと思ったのに
コメント1件

31
NAME IS NULL[sage]   投稿日:2016/06/11 05:32:54  ID:???.net(351)
>30
> という認識でいる。
終わった話題に間違ったこと書くアホ w

32
NAME IS NULL[]   投稿日:2016/06/11 06:03:14  ID:bjKxFQNF.net
SQL server2012について、
コンピュータ名の変更が必要となっています。
すでにセットアップ済み、実行中のものなんですが、
コンピュータ名の変更を行うとSQL serverにログインできなくると見聞きしています。

msdnには以下のように書いており、
https://msdn.microsoft.com/ja-jp/library/ms143799(v=sql.110).aspx

まだ試してはいないのですが、他に必要な作業というのはあるのでしょうか?
また、ログインできなくる原因というのはSQL serverが管理している情報で、旧コンピュータ名のものがあるからという認識なのですが、それがどれほどあるかがわかりません。
コメント1件

33
NAME IS NULL[sage]   投稿日:2016/06/11 18:17:16  ID:???.net(351)
>ログインできなくる原因というのはSQL serverが管理している情報で、旧コンピュータ名のものがあるから
接続できなくなる理由はほとんどクライアント側だと思うが
すくなくともDBサーバー側ではそこに書いてある通りだろ
あとはBrowserとかリスナとかのサーバ側でもネットワーク設定の問題か
コメント1件

34
NAME IS NULL[sage]   投稿日:2016/06/11 20:35:00  ID:???.net(351)
SQLServer の資格情報がホスト名付きでシステム系のテーブルに格納されてるから、それを変更しないと。
ってのならやった記憶がなくもないような。

詳細は全く覚えてない。すまん。

35
NAME IS NULL[sage]   投稿日:2016/06/11 22:24:07  ID:???.net(351)
windows認証のログイン、ユーザーがだめじゃ?
コメント1件

36
NAME IS NULL[]   投稿日:2016/06/12 02:48:28  ID:YEbpLz0V.net
>35
日本マイクロソフト人事本部シニアマネージャー(名ばかり管理職)の西川昌邦(さいかわまさくに)は犯罪者にして殺人犯だ!!
「あなたのような従業員は会社のパフォーマンスにとってマイナスなので早く死んでください」
などと自殺教唆を公然と行った!! その結果人が死んだ!!
丁寧に言えば何を言ってもいいというものではない!!これはヤクザや借金取りが脅迫をする時に
「いついつまでに金一億円をお振り込みください。命が惜しければ間違った判断をなされないことを期待します」
と発言するのと同じレベルだ!!
しかもそれを注意してやったら、「世間はわれわれの味方だ。文句があるなら訴えてきたらよろしい。メールを電番を公開したければ
どうぞご自由に。世論はわれわれを賛辞するするメールを送付するだろう」
などとイカ様気取りも大概にしろという発言を行った!!
抗議先 日本マイクロソフト人事本部 西川昌邦
メール:masaikaw●microsoft.com
(●を@に置き換えて)
電話:09025411718

37
NAME IS NULL[sage]   投稿日:2016/06/12 10:21:57  ID:???.net(351)
>33
ありがとうございます。
browserとはsql server browserの事を指しているのでしょうか?
sql server browserとなると正直触れたことも無いので…
sql server 2012上での作業は>32のみということでしょうか?

あと、sqlに対して行うサーバー名の変更作業は、実際サーバー名を変更する前に行った方が良いのでしょう?
コマンドプロンプトからsqlcmdでも出来そうには思うのですが、リスク軽減的にどちらが良いのかもう一つ分かりません。
何度も質問してすみません。

38
NAME IS NULL[sage]   投稿日:2016/06/12 22:13:07  ID:???.net(351)
リスク軽減なら、ぶっ壊れても最悪再インストールすればいい検証環境で手順確立するのが一番
システムDBのバックアップリストアや再作製のやり方も練習する
システムの構築手順を確認する、最悪の場合に備えて再構築するための時間を確保する

かなあ。
express落とすか、developerかmsdnあるならそれつかって自分のPCで試してみればいい。
システム構成もホスト名変更する背景もわからんから具体的なアドバイス難しい

39
NAME IS NULL[sage]   投稿日:2016/06/13 07:34:56  ID:???.net(351)
サーバー名の変更だけならそれで良いはず
規定のインスタンス使ってない場合はよくわからない
Windows人称でないなら問題も出なさそう

40
NAME IS NULL[]   投稿日:2016/06/14 11:06:11  ID:nfKm+RL8.net(2)
DBのバッチ系の処理がおそいおそいと文句言われる
HDをSSDに替えてアッと言わせてやろうと思うけど効果ありますか?
ちなみにSQLServer2008無印
現在の構成はRAID5でログのみミラーリング
コメント2件

41
NAME IS NULL[sage]   投稿日:2016/06/14 11:28:04  ID:???.net(351)
効果ありそうだけどSSDの損耗が早くてアッと言われそう
コメント2件

42
NAME IS NULL[sage]   投稿日:2016/06/14 11:42:31  ID:???.net(351)
>40
バッチ処理をどう実装しているかによる。
単発クエリを10万回ループとかだったら、SSDに変えてもほぼ無力。

43
NAME IS NULL[sage]   投稿日:2016/06/14 12:31:42  ID:???.net(351)
>40
効果的なチューニングにはウイークポイントの調査が必要です。
複数あるバッチのどれが長時間かかるのか、バッチのSQLのうち長時間かかるのはどれか(1回の時間x回数)

SQLがわかったら実行プランを取得してテーブルスキャンしてる項目を確認する。またOSのパフォーマンスモニタで書き込み、読み込みの状態を調べる。

サーバのハードウェアRAID書き込みキャッシュがON(ライトバック)になっているかも確認する(シスコのやつはバッテリー付きモデルなのに標準がOFFだった。)

44
NAME IS NULL[sage]   投稿日:2016/06/14 12:32:58  ID:???.net(351)
エンタープライズを使っている場合はテーブルの圧縮を行うのも有効です。
ほとんど欠点なく、スループットが上がります。

45
NAME IS NULL[sage]   投稿日:2016/06/14 18:01:50  ID:???.net(351)
>41
いつの時代だよ

46
NAME IS NULL[sage]   投稿日:2016/06/14 18:09:47  ID:???.net(351)

47
40[]   投稿日:2016/06/14 19:47:31  ID:nfKm+RL8.net(2)
みなさん、ありがとん!

バッチは毎日、毎時とそれぞれ数千〜数万件をBCPやインポート機能+カーソル処理でおこないますから
かきこみ相当あるかも(汗)

一応、定期のメンテプランは実行していて圧縮、再構成等マメにやっています。ハードウェアRAID書き込みキャッシュがONもかくにんしよ、


印メモリは予算的にむりだし2008がサポート切れまでこき使ってやるつもり。
コメント1件

48
NAME IS NULL[sage]   投稿日:2016/06/14 21:14:21  ID:???.net(351)
bcp等で巨大なデータを書き込む際にキー有りテーブルに書くのではなく、キーなしに書いて後からキーをつけた方が早くなります。
ただ、一時的にテーブルサイズが倍になる(alter tableすると内部でテーブルがコピーされるから)弊害がでます。

うちではbcpに6時間かかってたやつが3時間になったよ

49
NAME IS NULL[sage]   投稿日:2016/06/14 21:51:18  ID:???.net(351)
処理の仕方にもよるけど、cpuのクロック高いのにするとか
うちが扱ってる製品がそうで、10コアoverとかようつかわん
E7-4000番台に3Ghz超える4、6コアのcpu欲しい
インテルさんお願い

50
NAME IS NULL[sage]   投稿日:2016/06/15 03:10:15  ID:???.net(351)
ネックがどこにあるかわからんのにどうこう言ってもなぁ

51
NAME IS NULL[sage]   投稿日:2016/06/15 10:25:45  ID:???.net(351)
>47
> バッチは毎日、毎時とそれぞれ数千〜数万件をBCPやインポート機能+カーソル処理でおこないますから
> かきこみ相当あるかも(汗)
それは、コードがボトルネックだな
ハードウェアを増強しても、5分が4分とかになるくらいだろ
コードを書き直せば、5分が30秒とかになるだろうな

52
NAME IS NULL[sage]   投稿日:2016/06/15 11:19:21  ID:???.net(351)
1回のinsert or update or deleteが20msくらい×5万回=1,000秒=16分ちょい
とかになってるのかな

53
NAME IS NULL[sage]   投稿日:2016/06/24 18:37:55  ID:???.net(351)
sql server 2014 expressで
nvarchar(100)のカラムにハングル文字を書いて読み取ったら文字化けしました。
Server Management Studioで確認しても文字化けして
????と成ってます。
ネット情報では文字列の前にNプレフィックスを付ける必要があるとの事ですが、
そういう作業をせずに、DBの既定の言語をUTF-8に設定するみたいなのは出来ないのでしょうか?
既定の言語はSJISらしいですが、本当でしょうか?

54
NAME IS NULL[sage]   投稿日:2016/06/24 19:05:09  ID:???.net(351)
言語と文字コードは別物なんだが

55
NAME IS NULL[sage]   投稿日:2016/06/24 19:47:40  ID:???.net(351)
そもそもOSの言語が何で、サーバ/クライアントの言語が何かわからんが

nvarcharに対する文字列は基本的にはNプレフィックス付けるべき
付けないとおそらく照合順序に従って変換されてると思われる
(どのレベルでの照合順序が使われてるかは知らん)

データベースの既定の照合順序はALTER DATABASEで変えられるけど
データベース作り直す方が良いと思うぞ
コメント1件

56
NAME IS NULL[sage]   投稿日:2016/06/24 22:04:59  ID:???.net(351)
>55
とりあえず全部のカラムにNを付けたら解決しました。
nvarchar型以外のカラムにもNを付けたのですが問題ありますか?
試した限りでは問題なさそうなのですが。
Win7とWindows Server 2012R2です。

57
NAME IS NULL[sage]   投稿日:2016/06/28 20:13:35  ID:???.net(351)
Windows Updateを最新にした状態で2016をインストールしようとしたら「最小要件を満たしていない」と蹴られたのだが理由が分からない。
スペックが足らない訳でもないし、.Net Flamework 4.6.1はインストール済みなのに。。。

環境は以下のとおりです。Cドライブの空き容量は99GBです。

OS:Windows7 Professional x64
CPU:Intel Xeon E3-1241 v3 @ 3.50GHz
CPUクーラー:ETS-T40F-W
マザーボード:ASUS H97 PLUS
メモリ:ADATA AD3U1600W8G11-2 8GB×4
SSD(Cドライブ):Plextor PX-256M5S 256GB
SSD(キャッシュ):64GB
HDD:WD20EARS×2
VGA:NVIDIA GeForce GTX 660
コメント1件

58
NAME IS NULL[sage]   投稿日:2016/06/28 21:55:27  ID:???.net(351)
MSDN見てみたらWindows7が要件から抜けてるぞ
ms143506
コメント1件

59
NAME IS NULL[sage]   投稿日:2016/06/29 00:04:24  ID:???.net(351)
>58
Oh・・・マジか。見つけられなかったよ、そうかWindows7は対象外か。大人しく2014インストールするよ。

60
NAME IS NULL[sage]   投稿日:2016/06/29 01:00:35  ID:???.net(351)
>57
速そうなマシンだな

61
NAME IS NULL[sage]   投稿日:2016/07/14 19:37:36  ID:???.net(351)
SqlServer2014ExpressSP1の64bitを使っていて、
サービスの自動起動がされるときと、されないときがあるんですが、何かわかりますか?

手動で開始、停止を繰り返しても特に問題は起きず、
自動起動しなかったときに手動起動を行うことも問題なく出来ます。
サービスの自動遅延開始など試してみましたが、効果はありませんでした。
OSはWindows7ProfessionalのSP1です。

62
NAME IS NULL[sage]   投稿日:2016/07/14 19:54:43  ID:???.net(351)
エラーログやOSのイベントログぐらい確認できないのかよ
コメント2件

63
NAME IS NULL[sage]   投稿日:2016/07/14 20:08:25  ID:???.net(351)
>62
SqlServerのエラーログには何も吐き出されてなかったのですが、
OSのイベントログは見ていませんでした。そちらから調べてみます。

64
NAME IS NULL[sage]   投稿日:2016/07/14 20:44:06  ID:???.net(351)
SQL Server (MSSQLSERVER) サービスの接続を待機中にタイムアウト (30000 ミリ秒) になりました。
と出力されていたので、タイムアウトの時間を60000ミリ秒に設定してみました。
これで発生しなくなるかはまだわかりませんが、しばらく様子を見てみます。

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

65
NAME IS NULL[sage]   投稿日:2016/07/15 15:38:03  ID:???.net(351)
そもそも30秒で起動できないような環境が正しいか検証するべきじゃね

66
NAME IS NULL[sage]   投稿日:2016/07/19 20:15:06  ID:???.net(351)
2014 management studioで
TRUNCATE TABLE
でデータを削除してしまったのだが、UNDOは出来るの?
至急おしえてくれ。

67
NAME IS NULL[sage]   投稿日:2016/07/19 21:07:50  ID:???.net(351)
UNDOが何の事を指してるか分かりませんが、できません
バックアップから回復して下さい
コメント1件

68
NAME IS NULL[sage]   投稿日:2016/07/19 21:53:59  ID:???.net(351)
>67
バックアップはどこにある?
自動バックアップがあるの?

69
NAME IS NULL[sage]   投稿日:2016/07/19 22:54:30  ID:???.net(351)
自分でバックアップを取ってないなら諦めてください

70
NAME IS NULL[sage]   投稿日:2016/07/19 22:58:58  ID:???.net(351)
完全復旧モデルなら、今からバックアップ取って日時指定でリカバリできる気がする

71
NAME IS NULL[sage]   投稿日:2016/07/19 23:19:18  ID:???.net(351)
潔く諦めるか、そこだけ何故か震度7に襲われたことにするか、ついうっかり硫酸をこぼしてしまうか 天狗の仕業にするか  様々な手はある
もしくはこれから徹夜で手入力し続けて、明朝やつれきってゲッソリした顔で上司を迎えて同情を買うか
まぁ、買ってはくれないだろうけれども  楽になりたいなら、びっくりするほどユートピア!を社員の前でお披露目するしかないだろうことは想像に難くない

72
NAME IS NULL[sage]   投稿日:2016/07/20 05:46:49  ID:???.net(351)
>>完全復旧モデル
何よそれ。

73
NAME IS NULL[sage]   投稿日:2016/07/27 08:28:47  ID:???.net(351)
SQL Server 2012 SP3 をダウンロードしたいんだけどダウンロードセンターからダウンロードできない。

これだよねえ。
https://www.microsoft.com/ja-jp/download/details.aspx?id=49996
言語を選んでダウンロードボタンを押すと

ダウンロードしていただき、ありがとうございます。
Microsoft SQL Server 2012 Service Pack 3 (SP3)
インストール方法
以下略…

となってなにも起こらないです。
IEでもFireFoxでも同じです。
どうしたらいいす??

と、Chromeで試しながら書いていたらChromeではダウンロードファイルの選択ダイアログが出て、
ダウンロード開始することができた。ロサキネンシス!

74
NAME IS NULL[]   投稿日:2016/07/30 13:19:55  ID:yq4MDUYW.net(2)
sqlserverからaccessのデータへ接続したいのですが
以下のページを参考にすると

http://sqltips.blog40.fc2.com/blog-entry-11.html

「Microsoft Jet 4.0 OLE DB Provider」というものが必要みたいなんですが
私のsqlserverには表示されていません。
どこかで手に入れてインストールしておく必要があるんでしょうか?
どなたか教えてください
コメント1件

75
NAME IS NULL[sage]   投稿日:2016/07/30 13:27:13  ID:???.net(351)
SQL鯖がx64だったら無理と思う
コメント1件

76
NAME IS NULL[]   投稿日:2016/07/30 13:40:24  ID:yq4MDUYW.net(2)
>75
やっぱりそうなんですね
何とかaccessからデータ抽出する方法ってないでしょうか?
32bit版のsqlserverをインストールすればいけますか?

77
NAME IS NULL[sage]   投稿日:2016/07/30 14:23:20  ID:???.net(351)
Access側にSQL鯖へのリンク張って、そこで転送するとか

78
NAME IS NULL[sage]   投稿日:2016/07/30 15:31:32  ID:???.net(351)
>74
64ビット版のODBCドライバ経由すれば良いんでない?

79
NAME IS NULL[sage]   投稿日:2016/07/30 16:06:54  ID:???.net(351)
Jet OLEDBは古い
ACE.OLEDBってのがあって、これは64ビット版もある
たぶんそれでできるだろうけど、ACEってサーバ側での使用は想定も許諾もされてない気がする

accessからSQLServerにリンクテーブル張るのが楽な王道じゃないかな

80
NAME IS NULL[sage]   投稿日:2016/07/30 18:47:00  ID:???.net(351)
リンク貼る時何選べばよかとよ?
native clientとか分からん選択肢が一杯出て来るけん

81
NAME IS NULL[sage]   投稿日:2016/09/06 09:56:12  ID:???.net(351)
SSMS2016でATOKが使えないんだが・・・
Win7x86
コメント1件

82
NAME IS NULL[sage]   投稿日:2016/09/07 15:49:03  ID:???.net(351)
アプリの表示件数と実データの件数が合わないらしいから調べろと言われ
指示されたテーブルのフィールドを見たら泣きたくなった

だって、マスタキーがカンマ区切りで格納されてるんだもの orz

自分で関数作るか解析専用の外部スクリプト作るしかないのか?
コメント1件

83
NAME IS NULL[sage]   投稿日:2016/09/09 03:01:08  ID:???.net(351)
>82
ちょっと思ったんだが、CSV型みたいなCLRのユーザ定義型を自分で作ってみるとかどうだろう

84
NAME IS NULL[sage]   投稿日:2016/09/09 10:59:36  ID:???.net(351)
>81
ssmsでatokが使えないってどういう意味よ?

85
NAME IS NULL[sage]   投稿日:2016/10/07 16:24:10  ID:???.net(351)
SQLを発行してテーブルのデータを読み込む場合、
結果をDataTableに一気に読み込むのと、
SqlDataReaderを使って 
while (dr.Read()){
 ... 
}
のようにループで一個ずつ取り出すのとで、どっちが良いとかありますか?
コメント1件

86
NAME IS NULL[sage]   投稿日:2016/10/07 21:57:05  ID:???.net(351)
>85
まず読み込む件数によると思うが
コメント1件

87
NAME IS NULL[sage]   投稿日:2016/10/08 02:21:43  ID:???.net(351)
>86
数件〜数万件くらいです。状況によって変わります。
コメント1件

88
NAME IS NULL[sage]   投稿日:2016/10/08 05:22:55  ID:???.net(351)
>87
上限が数万なら一気読みでいいかと
将来的にもっと増えるかもならループかな
コメント1件

89
NAME IS NULL[sage]   投稿日:2016/10/08 06:31:28  ID:???.net(351)
>88
数が増えるとループのほうが良いのですか?
なぜですか?

90
NAME IS NULL[sage]   投稿日:2016/10/19 17:17:06  ID:???.net(351)
MySQLのREPLACE INTOに相当するコマンドはありますか?
コメント1件

91
NAME IS NULL[]   投稿日:2016/10/21 18:43:10  ID:9/r7lXFV.net
すみません、ご教示ください。
応研の給与大臣を使用していて、カスタマーサポートの指示に従いデータを復旧していたのですが、
以下の互換性コンポーネントをインストールするようダイアログが出ました。


Microsoft SQL Server 2005 の旧バージョンとの互換性コンポーネント
対象 : カスタマ、パートナー、開発者

X86 パッケージ (SQLServer2005_BC.msi) - 11258 KB
X64 パッケージ (SQLServer2005_BC_x64.msi) - 18552 KB
IA64 パッケージ (SQLServer2005_BC_ia64.msi) - 23490 KB

当方の環境がWindows10 64bitなのですが、どのパッケージをインストールすれば良いのでしょうか?
単純にX86 パッケージで良いものかわからなかったもので。
コメント1件

92
NAME IS NULL[sage]   投稿日:2016/10/21 19:31:32  ID:???.net(351)
>91
ベンダーなりメーカーなりに聞けよ

93
NAME IS NULL[sage]   投稿日:2016/10/22 10:43:18  ID:???.net(351)
>90
無い。mysqlの方が進んでいる

94
NAME IS NULL[sage]   投稿日:2016/10/23 02:01:53  ID:???.net(351)
mergeで全項目上書きでいいんじゃね

そもそもdeleteしてinserすれば良いだけで
ちゃんとしたトランザクションをサポートするDBMSでreplaceの必要性がわからんが
コメント1件

95
NAME IS NULL[sage]   投稿日:2016/10/24 02:54:50  ID:???.net(351)
生SQLだと0秒なのに、ストアド内に書くと35秒とか、
似たような悩みはググるといっぱい出てくるんだけど、どれ見ても解決してない様子

「推定実行プランの表示」ってダメ元で見てみたら、
ストアド版だけインデックス貼れって警告があって貼ったら直った

全く同じ内容なのに実行プランが違うわけないじゃん
もしかして有償サポート増やすために仕組んでる?

96
NAME IS NULL[sage]   投稿日:2016/10/24 03:10:48  ID:???.net(351)
mysqlやpostgreはいくら便利な命令があっても、スピードが遅いから単純なことにしか使えない
しかしまあ、t-sqlはお硬いやね
お硬いから速いのかもしれんが
GREATEST、LEASTぐらいは付けてもいいような

97
NAME IS NULL[sage]   投稿日:2016/10/24 03:29:06  ID:???.net(351)
SQLが同じでも実行計画が同じになるとは限らん
ストアドの実行計画は実行時に決定されるとは限らん

インデックス追加したということは、生SQLの方はインデックスを使ってないのに早かったのか
生SQLで使われてたインデックスがストアドでは使われてなかったのか

この程度の判断が自分でできないなら素直にどっかの業者に頼んだほうがいいんじゃね
コメント2件

98
NAME IS NULL[sage]   投稿日:2016/10/24 03:31:07  ID:???.net(351)
>97
全く同一の内容だと言ってるだろ頭悪いな
コメント1件

99
NAME IS NULL[sage]   投稿日:2016/10/24 03:33:38  ID:???.net(351)
>97
しかも自分で直ったと書いてあるだろ馬鹿

100
NAME IS NULL[sage]   投稿日:2016/10/24 03:35:16  ID:???.net(351)
ていうか俺自身が方々で数十倍〜数百倍にスピードアップさせてきた業者だからw

101
NAME IS NULL[sage]   投稿日:2016/10/24 03:47:25  ID:???.net(351)
>98
生SQLとストアドって言ってるんだけど、何が全く同一なのか?

推定実行計画は必ずしも実際の実行計画なわけじゃないぞ

ストアド内の個々のSQLの、実際の実行計画って簡単には確認できなかった気がするなぁ
だれか簡単なやり方しってる?
コメント1件

102
NAME IS NULL[sage]   投稿日:2016/10/24 03:53:11  ID:???.net(351)
何が問題だったかわからんけど、とりあえず不要かもしれんインデックス追加して直りましたってか
パフォーマンスチューニングやる業者のレベルとしては信じられんな

103
NAME IS NULL[sage]   投稿日:2016/10/24 05:57:49  ID:???.net(351)
>94
>replaceの必要性がわからんが
deleteしてinsertを一つのコマンドで実行したいからじゃねえ?

104
NAME IS NULL[sage]   投稿日:2016/10/24 07:59:00  ID:???.net(351)
文字列型のカラムで
2016/10/24 12:34:56
2016/1/2 2:3:5
のように桁がバラバラなのですが、それを
2016/10/24 12:34:56
2016/01/02 02:03:05
のように
YYYY/MM/DD HH:MM:SS
に揃えるSQL文を教えてください。
コメント1件

105
NAME IS NULL[sage]   投稿日:2016/10/24 09:01:09  ID:???.net(351)
>101
dm_exec_query_statsにある情報でいいんかな
dm_exec_query_plan、dm_exec_sql_text組み合わせてステートメント単位でとってこれるよ
カーソルオープンは厳しかったと思うけど

生SQLが早いってことは検索条件に変数使ってるとかかね
分布が特異な偏りしてるインデックスをストアドで使うなら、with recompileつけるのが推奨だったと思う
ヒント文つけてもいいけど
コメント1件

106
NAME IS NULL[sage]   投稿日:2016/10/24 20:28:53  ID:???.net(351)
>104
一旦日付型にCASTしてからフォーマット
つか特殊な要件が無ければ、DB上は日付型で保持してホストアプリ上で表示変換させた方が良いぞ

>105
>dm_exec_query_plan、dm_exec_sql_text組み合わせ
それ見ても、どのプロシジャなのか探すのが大変だからなぁ
コメント2件

107
NAME IS NULL[sage]   投稿日:2016/10/24 21:24:42  ID:???.net(351)
>106
>104
日付を文字列で保管するとどういうデメリットがありますか?
コメント2件

108
NAME IS NULL[sage]   投稿日:2016/10/24 21:34:11  ID:???.net(351)
>106
dbidとobjectidで引っ張ってくればいいじゃない
うちはバックアップとかみたく自動で定期的にとるよう運用に乗っけてるよ
リリースして遅くなったなんてときにかなり重宝する

109
NAME IS NULL[sage]   投稿日:2016/10/24 21:39:15  ID:???.net(351)
>107
orderbyとかwhere条件が大変
変換噛ましてやれないことはないが、そのぶんだけおそくなる
それにデータサイズも文字型のほうが大きくなる
コメント1件

110
NAME IS NULL[sage]   投稿日:2016/10/24 21:42:26  ID:???.net(351)
>109
なるほど。
でも日付型は1750年以降くらいしか保持できないそうですが、それで
問題は出ないのですか?
コメント2件

111
NAME IS NULL[sage]   投稿日:2016/10/24 21:49:30  ID:???.net(351)
>107
文字列で持ってたら、日付計算どうすんだよ

>110
日付型って言っても色々あるから
dateかdatetime2使え
コメント1件

112
NAME IS NULL[sage]   投稿日:2016/10/24 21:52:59  ID:???.net(351)
>111
>日付計算
このデータに関しては日付の計算をする予定はありません。
>dateかdatetime2使え
紀元前を扱うにはどうするのでしょうか?
コメント1件

113
NAME IS NULL[sage]   投稿日:2016/10/24 21:53:23  ID:???.net(351)
>110
要件定義次第
だがまずない

114
NAME IS NULL[sage]   投稿日:2016/10/24 21:54:49  ID:???.net(351)
>112
後はどういった要件があるのかな?
コメント1件

115
NAME IS NULL[sage]   投稿日:2016/10/24 22:00:16  ID:???.net(351)
>114
ありません。
コメント1件

116
NAME IS NULL[sage]   投稿日:2016/10/24 22:07:49  ID:???.net(351)
>115
どういった目的で紀元前を扱いたい?
扱うとは具体的にどういった処理をする?
コメント1件

117
NAME IS NULL[sage]   投稿日:2016/10/24 22:31:02  ID:???.net(351)
>116
紀元前を扱う目的はその年代の年月日をデータで保管したいから。
日付の計算はしない。
それだけ。
コメント1件

118
NAME IS NULL[sage]   投稿日:2016/10/24 22:34:19  ID:???.net(351)
>117
なら文字型が無難。

119
NAME IS NULL[sage]   投稿日:2016/10/26 00:41:26  ID:???.net(351)
てきとーにアンインストールしたら次から全然インストールできんくなった...助けて

120
NAME IS NULL[sage]   投稿日:2016/10/26 01:21:01  ID:???.net(351)
インストールログみて止まってるとこでググる
システムの復元でアンインストール前に戻す
OSから入れ直す
なにも情報ないからこれくらいしか言えない

121
NAME IS NULL[sage]   投稿日:2016/10/26 12:44:47  ID:???.net(351)
ットアップが失敗しました。
クリーンアップが必要ですってポップアップがでてきます..

122
NAME IS NULL[sage]   投稿日:2016/10/28 08:12:24  ID:???.net(351)
なんとか、再インストールできやした。あざした。

123
NAME IS NULL[sage]   投稿日:2016/10/31 14:07:37  ID:???.net(351)
sql serverとmysqlとで同じテーブルを同期させるなんて出来ますか?
sql serverの本データをmysqlにコピーする感じで。
コメント1件

124
NAME IS NULL[sage]   投稿日:2016/11/03 07:25:24  ID:???.net(351)
>123
MySQLへリンクサーバー定義して、同期時に更新とかで出来そうな気がする
同期どうするかは考えんとダメだけど
コメント1件

125
NAME IS NULL[sage]   投稿日:2016/11/03 10:12:13  ID:???.net(351)
>124
sql serverからmysqlへの一方通行のコピーなら簡単に出来るもんなの?

126
NAME IS NULL[sage]   投稿日:2016/11/04 05:38:06  ID:???.net(351)
リンクサーバ定義すれば、SQLServerからはローカルテーブルとほぼ同じように扱える
コメント1件

127
NAME IS NULL[sage]   投稿日:2016/11/04 16:29:37  ID:???.net(351)
>126
ありがとうございました。
リンクサーバーでググってみます

128
NAME IS NULL[sage]   投稿日:2016/11/07 22:55:01  ID:???.net(351)
デフォルトだとdbo スキーマが使われますが、
実際の開発現場では、スキーマを何種類も作成して使い分けるなど
するのでしょうか?
dbo一個だけでテーブルを使い分ければそれで済む場合も多いと思いますが。
コメント1件

129
NAME IS NULL[]   投稿日:2016/11/07 23:26:03  ID:eRnTZUaL.net
>128
dboはスキーマではなくユーザー。

Oracleのようだと勘違いしてる?
コメント1件

130
NAME IS NULL[sage]   投稿日:2016/11/08 00:40:36  ID:???.net(351)
例えばここにdboはスキーマだと書いてありますが。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14142218604

131
sage[]   投稿日:2016/11/08 19:07:02  ID:6hEpw8np.net

132
NAME IS NULL[sage]   投稿日:2016/11/08 23:19:02  ID:???.net(351)
今のSQLServerはDBユーザとスキーマが別なので、同じ名称のスキーマもユーザも存在するぞ

スキーマは使い分ける必要があればそうすればいいし
単一スキーマで問題なければ全部dboでもいいんじゃね
コメント1件

133
NAME IS NULL[sage]   投稿日:2016/11/09 00:28:18  ID:???.net(351)
>129-130
> dboはスキーマではなくユーザー。
違うよ
https://msdn.microsoft.com/ja-jp/library/bb669061(v=vs.110).aspx
コメント2件

134
NAME IS NULL[sage]   投稿日:2016/11/09 09:53:38  ID:???.net(351)
>132
>スキーマは使い分ける必要があればそうすればいいし
スキーマを分けるのは例えばどんな場合なん?
コメント1件

135
NAME IS NULL[sage]   投稿日:2016/11/09 19:50:50  ID:???.net(351)
>134
テーブル更新できないスキーマ作ったりのセキュリティ要件とか

スキーマっていうよりユーザって言う方がしっくりくるんだけどな
まあどうせDBごとでユーザとスキーマは1対1だろうし
実際スキーマとユーザの違いはすっきり説明できん
単にワンクッション入ってるだけってイメージだ

136
NAME IS NULL[]   投稿日:2016/11/09 22:45:58  ID:9dB+mYx1.net
>133
本来はユーザーで所有者なんだよ。

スキーマという概念は後付け。

SQL Serverではユーザーとスキーマは別のくくり。

137
NAME IS NULL[sage]   投稿日:2016/11/09 23:03:36  ID:???.net(351)
そんなオレオレ定義を開陳されても困る

138
NAME IS NULL[]   投稿日:2016/11/10 18:02:32  ID:0Mu12LBJ.net
私は元創価の会員でした。
すぐ隣に防衛省の背広組みの官舎があるのですが、
自分の家の窓にUSB接続のwebカムを貼り付けて、そこの動画を撮影し続け、
学会本部に送っていました。

別に大したものは写っていません。ゴミだしとか奥さんが子供を遊ばせている所とか。
官舎が老朽化して使われなくなってから、
今まで法人税(うちは自営業です)をほぼ払わなくても済んでいたのが、
もう守ってやれないのでこれからは満額申告するように言われました。
納得がいかないと言うと、君は自業自得で餓鬼地獄へ落ちる、
朝夕南無妙法蓮華経と三千回ずつ唱えて心をきれいにしなさいと言われ
馬鹿らしくなって脱会しました。

それ以来、どこへ行くにもぞろ目ナンバーの車につけまわされたり大変な日々です。
全部自分の出来心から起きたことで、どこに訴えるわけにもいかないのですが、
なんとかあの人たちと縁を切った上で新しい始まりを迎える方法はないんだろうか。

139
NAME IS NULL[sage]   投稿日:2016/11/10 22:12:44  ID:???.net(351)
まあ、SQLServerに限れば、昔はスキーマとDBユーザは同一だったから
>スキーマという概念は後付け。
と言えなくはないかもしれんが

>SQL Serverではユーザーとスキーマは別のくくり。
とどうつながるのか理解できん

140
NAME IS NULL[sage]   投稿日:2016/11/11 07:20:29  ID:???.net(351)
スキーマを正しく説明出来る人はここにはいないんですか?
コメント2件

141
NAME IS NULL[sage]   投稿日:2016/11/11 10:40:53  ID:???.net(351)
CitrixのXenAppのデータベースのぞいたら、サービスの単位でスキーマ分けてたな
ユーザはコンピュータアカウントだけででdb_owner
そんなやり方もあるんだなと感心した
うちは機能単位でなんてわけられないからdbo1個
リソースガバナー使う場合もあるからユーザは複数

142
NAME IS NULL[sage]   投稿日:2016/11/11 10:55:41  ID:???.net(351)
>140
スキーマというのは、大抵のRDBMSで共通する概念ですね。
一つのデータベース内で論理的なグルーピングをするためのものです。

PostgreSQLのヘルプがわかりやすいので引用します。

> データベースには、複数の名前付きスキーマが含まれ、スキーマにはテーブルが含まれます。
> スキーマには、データ型、関数および演算子などの他の名前付きオブジェクトも含まれます。
> 同じオブジェクト名を異なるスキーマで使用しても矛盾は起こりません。

> スキーマの使用が好まれる理由はいくつかあります。
>
> ・1つのデータベースを多数のユーザが互いに干渉することなく使用できるようにするため。
> ・管理しやすくなるよう、データベースオブジェクトを論理グループに編成するため。
> ・サードパーティのアプリケーションを別々のスキーマに入れることにより、他のオブジェクトの名前と競合しないようにするため。
> ・スキーマは、ネストできないという点を除き、オペレーティングシステムのディレクトリと似ています。

143
NAME IS NULL[sage]   投稿日:2016/11/11 19:49:22  ID:???.net(351)
>140
>133 に URL 書いてあるのになぜ読まん

144
NAME IS NULL[]   投稿日:2016/11/13 01:56:32  ID:ImZglz/9.net
SQL Serverは日本マイクロソフトのサポートがやる気ねえからな。

145
NAME IS NULL[sage]   投稿日:2016/11/13 17:11:33  ID:???.net(351)
日本MSはMSの名を借りた国内代理店だと思ってる

146
NAME IS NULL[sage]   投稿日:2016/11/14 10:03:43  ID:???.net(351)
Windows Server 2012R2 のWindows VPSでSQL Server Express 2016動かすには
メモリ2GBだと厳しいか?
IISも動かしている。

147
NAME IS NULL[sage]   投稿日:2016/11/14 19:09:41  ID:???.net(351)
Expressは使用メモリ1GBに制限されてなかったかな…
もちろん余裕があるに越したことはないけれども
コメント1件

148
NAME IS NULL[sage]   投稿日:2016/11/15 00:33:47  ID:???.net(351)
Committed bytesの適正値を考えると、メモリ2GBならIISとSQLserver合算で1GB未満、できれば600〜800MBくらいかなあ感覚だけど
IISとSQLserverで上限設定しときゃサーバーが不安定になるのは抑えられると思う
素直にメモリ増強するのが一番いいけどね
コメント1件

149
NAME IS NULL[sage]   投稿日:2016/11/15 23:39:28  ID:???.net(351)
>147>148
レスありがとうございました。
余裕をみて4GBくらいでVPS契約してみます。
コメント1件

150
NAME IS NULL[sage]   投稿日:2016/11/16 11:07:27  ID:???.net(351)
>149
個人利用でやる分には2GBでもいいと思うよ
会社のパソコン(Windows7の32bit、メモリ2GB)にSQLserver Developer EditionとIIS入れてて普通に動作する
Officeとかも使うとやっぱきつくなるんで普段はサービス停止してるけどね

151
NAME IS NULL[sage]   投稿日:2016/11/16 12:40:26  ID:???.net(351)
質問です。

先日、知り合いの店でデータベースリストアが勝手に走ったのですが
何が原因なのか不明な状態です。下記が一部ログになります。

The database '*****'' is marked RESTORING and is in a state that does not allow recovery to be run.

分かる方いらした教えてください。
コメント1件

152
NAME IS NULL[sage]   投稿日:2016/11/16 20:11:15  ID:???.net(351)
>151
ディスクが溢れたとかかも
まずはイベントログを見た方がいいと思う
https://blogs.msdn.microsoft.com/karthick_pk/2010/11/25/the-database-model-is-...

153
NAME IS NULL[sage]   投稿日:2016/11/17 23:05:51  ID:???.net(351)
ある特定のテーブルで大量の件数をDeleteする時だけ
異常に時間がかかるんですが何故だかわかりますか?
ググってもイマイチ分からんです

Delete From TABLE Where PK<****
みたいな単純なやり方なんですが…

エスパーの方教えてください
コメント2件

154
NAME IS NULL[sage]   投稿日:2016/11/18 00:05:01  ID:???.net(351)
>153
断片化が走りまくってるとか?
Insertするときもプライマリキー張ってると徐々に遅くなってくしそれかも
一回リビルドインデックスしてからやってみたら変わらんかなあ

sum関数でInt型の限界越えてオーバーフローしたんだが、実行プラン次第でオーバーフローしたりしなかったりするのは仕様?不具合?
2008r2から2014のsp2に移行しようとして本番データで動かしたらエラーなりやがった
MSに問い合わせる前にバグか仕様かのあたりつけときたい
コメント1件

155
NAME IS NULL[]   投稿日:2016/11/18 07:56:06  ID:mgIvH7zu.net(4)
>153
SELECTするときも時間がかかってる?

156
NAME IS NULL[sage]   投稿日:2016/11/18 08:03:38  ID:???.net(351)
あとでrollbackされたときに備えて、delete予定データをいったんtempに吐いてるから
データ数が多いと死ぬほど遅い

生かすデータだけ別テーブルに吐いてtruncate tableして別テーブルをリネームしたほうが早い場合もある
コメント3件

157
NAME IS NULL[sage]   投稿日:2016/11/18 08:05:35  ID:???.net(351)
リレーション絡んでると無理だけど

158
NAME IS NULL[]   投稿日:2016/11/18 08:14:49  ID:mgIvH7zu.net(4)
>156
そんな初心者みたいなアドバイスするなよw
コメント1件

159
NAME IS NULL[sage]   投稿日:2016/11/18 11:56:10  ID:???.net(351)
>158
待ってましたー、w

160
NAME IS NULL[sage]   投稿日:2016/11/18 12:53:12  ID:???.net(351)
>156
1000万件中10万件だけ残したいとか
そういう時はそっちの方がいいよね
truncateは本当に爽快

161
NAME IS NULL[]   投稿日:2016/11/18 13:09:12  ID:mgIvH7zu.net(4)
初心者スレかよw

162
NAME IS NULL[sage]   投稿日:2016/11/18 13:35:15  ID:???.net(351)
だけど、>156 以外に方法ないんだな、これが
あと、1回あたりのdelete数を減らしてやって(その分、何回も回して)
1トランザクションあたりのロックを多少なりとも緩和するか

163
NAME IS NULL[sage]   投稿日:2016/11/18 13:39:05  ID:???.net(351)
自分の場合、1億レコードが1000万件を退避させるとき
SET ROWCOUNT 指定して、小刻みに削除してる
(トランザクションログが一杯になるのを防止)

それでも平気で一晩とかかかるが
コメント2件

164
NAME IS NULL[]   投稿日:2016/11/18 13:41:35  ID:mgIvH7zu.net(4)
>163
おまえの環境なんか知らねえよw

165
NAME IS NULL[sage]   投稿日:2016/11/18 13:48:32  ID:???.net(351)
じゃ具体的な打開策を示してみろよ

166
NAME IS NULL[sage]   投稿日:2016/11/18 18:52:28  ID:???.net(351)
・復旧モデルを完全から単純にする
・テーブルロックを明示して削除する
・クラスターインデックスをやめる
・インデックスをドロップしてから削除

全部やって遅いなら、ハードを速いのに変えろ

167
NAME IS NULL[sage]   投稿日:2016/11/19 10:21:04  ID:???.net(351)
具体的には何も言えないチキン ⇒ ID:mgIvH7zu
コメント1件

168
NAME IS NULL[sage]   投稿日:2016/11/19 10:29:48  ID:???.net(351)
パーティションテーブルにできるならそれにしちゃえば?
あれならパーティション単位にトランケート 出来るらしいが

169
NAME IS NULL[sage]   投稿日:2016/11/19 11:41:15  ID:???.net(351)
色々あるもんだね

170
NAME IS NULL[]   投稿日:2016/11/19 12:44:15  ID:QTm9YLIS.net
>167
質問した本人がいないからな。

171
NAME IS NULL[sage]   投稿日:2016/11/19 15:34:55  ID:???.net(351)
truncate table に where 書けたら解決なのにな
それか、delete に「Rollback不能で構いませんから速くやってください」って with 句を準備してくれるか
コメント1件

172
NAME IS NULL[sage]   投稿日:2016/11/19 21:17:15  ID:???.net(351)
ロールバック不能で良いっていっても、その文でのアトミックは保障しないとだめだからなぁ

173
NAME IS NULL[sage]   投稿日:2016/11/19 22:46:43  ID:???.net(351)
>154
これの下の質問書いた者です
不具合ではなさそうなのがわかったのですがどうしたものかと質問です。

select 番号,sum(金額)
from テーブルA
inner join テーブルB on 〜
inner join テーブルC on 〜
inner join テーブルD on 〜
where 〜
group by 番号

これの実行プランがテーブルDとの内部結合前にgroup byとsumしててInt型の上限越えてしまいました
テーブルDとの内部結合を先にやってくれてたらそのデータが除外されて問題なかったのにっていう結果
whereとjoinとgroupby って優先順位特にないんでしたっけ
確実なエラー回避方法がBIGInt変換くらいしか思い付かない
コメント1件

174
NAME IS NULL[sage]   投稿日:2016/11/19 23:12:30  ID:???.net(351)
>171
deleteも結局はページ単位の処理になるからね、消すだけじゃなくページ間のインデックスも保持しなきゃとかいろいろやってるから
全部いらないから細かいこと抜きでってできるtruncateのようにはいかないよ

175
NAME IS NULL[sage]   投稿日:2016/11/20 01:43:45  ID:???.net(351)
>173
SQLは手続き型言語ではないので実行順序はオプティマイザが決めるってのが原則
ある程度はオプティマイザへの指示をクエリヒントって形で出せるけど

Dの結合を先にするようにサブクエリ書いてFORCE ORDER指定で行けるかもしれんが
そんなSQLは保守性わるいし、基本的にはどんな実行計画でもエラーにならんようにしろとしか

176
NAME IS NULL[sage]   投稿日:2016/11/23 10:58:15  ID:???.net(351)
>163
1億レコードって物凄い大きなDBですか?
どんなシステムなのか見当もつかない
コメント2件

177
NAME IS NULL[]   投稿日:2016/11/23 15:31:19  ID:RVwlvGQS.net
>176
誰もが知ってる会社のシステムならその程度は珍しくもないけど。


178
NAME IS NULL[sage]   投稿日:2016/11/23 20:11:21  ID:???.net(351)
>176
全然普通じゃん
どんな仕事してん?
コメント1件

179
NAME IS NULL[sage]   投稿日:2016/11/23 21:48:35  ID:???.net(351)
>178
むしろお前にどんな仕事してるのかを聞きたいわ

180
NAME IS NULL[]   投稿日:2016/11/24 00:03:09  ID:nZ9WujKe.net
健全でない言葉が含まれているため表示しません 内容を確認する

181
NAME IS NULL[sage]   投稿日:2016/11/28 14:13:26  ID:???.net(351)
更新しなくてSELECTだけのストアドがあります。
パラメータは3つです。

返ってくる行は30行程度で
クエリエディタから実行すると精々1〜2秒で戻ってきます。

クエリエディタでやってることと同様のものを
System.Data.SqlClient.SqlCommand で作って ExecuteReader してやるんですが
ExecuteReader が終わるまで15秒ほどかかります。
条件のよいとき(クエリエディタで1秒のもの)でも8〜9秒です。

いったい何が原因なのでしょうか。
コメント1件

182
NAME IS NULL[sage]   投稿日:2016/11/28 14:34:48  ID:???.net(351)
解決しました。

ALTER DATABASE データベース名 SET ARITHABORT ON
で算術アボートを有効にしてやったら、クエリエディタと同じになりました。

183
NAME IS NULL[sage]   投稿日:2016/11/28 14:56:49  ID:???.net(351)
ちょっと違ってました。

ALTER DATABASE データベース名 SET ARITHABORT ON
することで、クエリエディタと同じ速度になりましたが、
ADO.NET のときと同じ速度に、つまりは遅い方に揃ってしまいました。

ALTER DATABASE データベース名 SET ARITHABORT OFF
に戻したうえで、SqlCommand を投げるごとに
先に SET ARITHABORT OFF しておくと、早いクエリエディタと同じ速度になりました。

ゼロ割算の対策はしてあるつもりだし、むしろ NULL で進むよりエラーにしてもらったほうが嬉しいので
これはこれでいいのですが、全ての SqlCommand に埋め込まないといけないのか・・・

184
NAME IS NULL[sage]   投稿日:2016/11/28 15:26:31  ID:???.net(351)
>181-182
テーブル変数とか使ってる?
実テーブルからだけのselectでも発生してる?

185
NAME IS NULL[sage]   投稿日:2016/11/28 15:54:51  ID:???.net(351)
テーブル変数を使ってたんですが、作業表(#〜)にしても一緒でした。
中身一緒かもしれませんが。
コメント1件

186
NAME IS NULL[sage]   投稿日:2016/11/28 16:07:15  ID:???.net(351)
>185
テーブル変数つかうと、行数を正しく判定できないで遅いプラン作る事があるってのは聞いたことある
selectしてるとこにRECOMPILEヒント入れるとマシになるかも
当然リコンパイル分のパフォーマンス劣化はあるけど、遅いプランとどっちがマシか比べて

187
NAME IS NULL[sage]   投稿日:2016/11/28 16:19:19  ID:???.net(351)
ストアドの中のselect〜の末尾に option(RECOMPILE) 追加するんですよね?
試してみましたが、全く効果なく、事前の SET ARITHABORT ON を外すと元通り劇遅になりました。

ConnectionStringで SET ARITHABORT ON を指定できたらいいのですが。。。

188
NAME IS NULL[sage]   投稿日:2016/11/28 16:38:59  ID:???.net(351)
ARITHABORT OFFで遅い実行計画つくることがあるとはMSDNにも書かれてるけど
実際にそれが原因で問題のある実行計画作られたのは見た事ないなぁ
executeにWITH RECOMPILEつけても同じ?
これでダメなら、自分で適切なヒント付けてやればいいんだけど
そもそも実行計画の問題じゃない気もしなくはないな

189
NAME IS NULL[sage]   投稿日:2016/11/28 17:00:05  ID:???.net(351)
テーブルに単価のフィールドを持ってなくて、そのかわりに金額÷数量を単価とみなすビューを作ってあるんです
金額/nullif(数量,0) as 単価

それ利用してるもんだから、ゼロ割算の関係だとしたらビンゴなんですよ。

190
NAME IS NULL[sage]   投稿日:2016/11/28 17:12:45  ID:???.net(351)
以降は、君のブログで。

191
NAME IS NULL[sage]   投稿日:2016/11/28 17:20:38  ID:???.net(351)
SET NOCOUNT ON してる?
ほんとにSET ARITHABORT の問題なら、ストアドの中でSET ARITHABORT ON すれば良い
コメント1件

192
NAME IS NULL[sage]   投稿日:2016/11/28 17:30:39  ID:???.net(351)
>191
SET NOCOUNT ON は基本やってます。
ストアドの中で SET ARITHABORT ON 明示してもいいんですか。

とりあえず今回気が付いたもの以外にも、気が付かないだけで潜在的に遅いものがありそうな気がしてまして
かつ、ストアドでなくソースの中でSQL吐いてるのもあって、
CreateCommand する直後で全て SET ARITHABORT ON したほうが良さそうな感じ。

http://www.sommarskog.se/query-plan-mysteries.html
が詳しいようです。
コメント1件

193
NAME IS NULL[sage]   投稿日:2016/11/28 17:32:01  ID:???.net(351)
いま注目してるストアドを相手にしたときは

SET ARITHABORT OFF で16秒
SET ARITHABORT ON  で2秒

くらいの違いがありました。
続けて何度か回しても結果は大差ないので、キャッシュの関係もなさそうだし・・・

194
NAME IS NULL[sage]   投稿日:2016/11/28 18:04:45  ID:???.net(351)
>192
そこも、基本的にはオプションが違うと実行計画が違うよって話

実行計画うんぬん以前に、オプションで結果変わってるし
そのコードじゃゼロ割りの対策してないしw

キャッシュってのは、クエリプランのキャッシュのこと
データキャッシュとは別だから、何回回しても大差ないよ
コメント2件

195
NAME IS NULL[sage]   投稿日:2016/11/28 18:12:55  ID:???.net(351)
>194
> そのコードじゃゼロ割りの対策してないしw
ど素人は黙っとけ

196
NAME IS NULL[sage]   投稿日:2016/12/02 13:29:12  ID:???.net(351)
col1  nvarchar(100)   Primary Key
col2  int  Primary Key, IDENTITY
con3  nvarchar(100)
の場合に
col1,col3の値を指定してinsertのつもりが、間違えてUpdateを実行したら
col1の値に等しい全ての行のcol1, col3が全部同じ値になってしまったのですが
そういうもんですか?
コメント2件

197
NAME IS NULL[sage]   投稿日:2016/12/02 15:28:09  ID:???.net(351)
どうやったらInsとupd間違うんだろう
where句なしで実行ってこと?
ORマッパーみたいなツールの話だろうか

198
NAME IS NULL[sage]   投稿日:2016/12/02 15:30:42  ID:???.net(351)
言ってる意味がわからないけど
col2がidentityならそれでユニークは保障されるから
col1とcol3が全部同じでもなんの不思議もない

どう間違えたらinsert文がupdate文になるのか知らんが
そういうSQL流したんだろ

199
NAME IS NULL[sage]   投稿日:2016/12/02 17:00:30  ID:???.net(351)
col1   col2    col3
Aさん    1    データ1
Aさん    2    データ2
Aさん    3    データ3
Bさん    4    データ4
Cさん    5    データ5
Cさん    6    データ6

col1   col2    col3
Aさん    1    データ1
Aさん    2    データ1
Aさん    3    データ1
Aさん    4    データ1
Aさん    5    データ1
Aさん    6    データ1
こんなふうになりました。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)

200
NAME IS NULL[sage]   投稿日:2016/12/02 17:54:06  ID:???.net(351)
update 表名
set col1 = 'Aさん',col3 = 'データ1'

以外でこうなるSQLを考えるクイズの時間です

201
NAME IS NULL[sage]   投稿日:2016/12/02 18:25:05  ID:???.net(351)
>196
つか、そもそもそのテーブルのPKがおかしい。
コメント1件

202
NAME IS NULL[sage]   投稿日:2016/12/03 09:08:53  ID:???.net(351)
>201
複合主キーじゃあないの?
どのあたりがおかしい?
コメント1件

203
NAME IS NULL[sage]   投稿日:2016/12/03 18:56:22  ID:???.net(351)
>202
普通 Identity だけにしないか?
複合にする意図がわからん

204
NAME IS NULL[sage]   投稿日:2016/12/03 19:34:14  ID:???.net(351)
clo2は単にユニーク保障のためだけで、実質はcol1+連番がキーなんだろ
そういう意図を表すためには複合主キーで良いんじゃね

あくまでcol2単独の検索はしない前提たが
インデックスがcol1からの(クラスタ化)インデックスひとつで済むってメリットもあるかもしれんw
コメント1件

205
NAME IS NULL[sage]   投稿日:2016/12/03 20:22:19  ID:???.net(351)
>204
> そういう意図を表すため
いやその「そう言う意図」がイミフなんだが

206
NAME IS NULL[sage]   投稿日:2016/12/04 10:31:37  ID:???.net(351)
>196
のような手法は一般には使わないの?

207
NAME IS NULL[]   投稿日:2016/12/04 10:45:59  ID:5zb5esCr.net
insertのつもりでupdateしてしまう手法のことか?
コメント1件

208
NAME IS NULL[sage]   投稿日:2016/12/04 11:20:07  ID:???.net(351)
>196 のような手法
って言うのが Identity + 他の何か を複合キーにすると言う話なら俺は見たことはない
むしろ >207 の言ってる方がまだあり得る

209
NAME IS NULL[sage]   投稿日:2016/12/14 16:16:48  ID:???.net(351)
TBS

210
NAME IS NULL[sage]   投稿日:2016/12/15 15:38:31  ID:???.net(351)
調べものしててmsdnのサイト見てたら2016の次にVNextとかいうのがでてた
早いなあと思ってたら2016のSP1が既に出てて驚愕
Microsoftなんか焦ってる?

211
NAME IS NULL[sage]   投稿日:2016/12/17 16:44:00  ID:???.net(351)
linux版はvNext相当だっけ

212
NAME IS NULL[sage]   投稿日:2016/12/21 10:18:02  ID:???.net(351)
VPSでSQL SERVER EXPRESS 2016を使う場合には最低限どんなスペックが必要かな?
運用中の人がいたらCPU数、メモリGBなどアドバイスが欲しい。

213
NAME IS NULL[sage]   投稿日:2016/12/21 18:43:55  ID:???.net(351)
規模も用途も書かんのなら、公式の動作環境以上の回答があるとは思えんが

214
NAME IS NULL[sage]   投稿日:2017/01/18 23:26:29  ID:???.net(351)
カーソルのFAST_FORWARDって内部で何してるの?
INSENSITIVEやFORWARD_ONLYだとmaxdop数分のスレッドでカーソルオープンしてるのに、FAST_FORWARDだと1dopになる
クエリは単一テーブルのselect文で、group by、order by句がある
msdnのカーソルのとこ読んだけどわかんなかったよ
ちな2014のsp2です

215
NAME IS NULL[sage]   投稿日:2017/02/01 11:41:06  ID:???.net(351)
入門書としておすすめの書籍ある?

216
NAME IS NULL[]   投稿日:2017/02/03 18:34:25  ID:0GL48OMF.net
2014でレプリケーションができないです
配布元のデータができないです
リカバリする方法ないでしょか?

217
NAME IS NULL[]   投稿日:2017/02/04 11:55:40  ID:nkqeAkqN.net

218
NAME IS NULL[sage]   投稿日:2017/02/04 19:51:14  ID:???.net(351)
sql サーバーってマルチコアcpuで実行すると並列で処理されてレスポンス速くなったりするの?
コメント2件

219
NAME IS NULL[sage]   投稿日:2017/02/04 20:08:45  ID:???.net(351)
>218
ならないよ。

220
NAME IS NULL[sage]   投稿日:2017/02/04 20:09:35  ID:???.net(351)
>218
なるよ

221
NAME IS NULL[sage]   投稿日:2017/02/04 23:23:46  ID:???.net(351)
レスポンス変わるだろうけど、ディスクアクセスの要素のほうが強くて条件次第では大幅に、とはいかなそうね

222
NAME IS NULL[sage]   投稿日:2017/02/05 02:38:35  ID:???.net(351)
2016 express版を使っています。
20万件くらいのテーブルから全件をorder byして取り出すだけで
20秒くらいかかるんです、そんなもんですか?
コメント1件

223
NAME IS NULL[sage]   投稿日:2017/02/05 07:46:27  ID:???.net(351)
>222
なんにもしなきゃそんなもんでしょ
コメント1件

224
NAME IS NULL[sage]   投稿日:2017/02/05 08:10:32  ID:???.net(351)
>223
速くする方法を教えて下さい。
データは1時間に一回くらい更新されるので、例えばその時にorder byした
データを作成しておけば良いかなあと思うのですが、そういう方式で速くなりますか?
コメント2件

225
NAME IS NULL[sage]   投稿日:2017/02/05 08:32:05  ID:???.net(351)
>224
インデックスは張ってるのか?
コメント1件

226
NAME IS NULL[sage]   投稿日:2017/02/05 08:38:28  ID:???.net(351)
>224
しなけりゃ何秒かかるのよ?
コメント1件

227
NAME IS NULL[sage]   投稿日:2017/02/05 09:07:02  ID:???.net(351)
>225
なんですかそれは?
>226
ああ、勘違いでした。
order byしてもしなくてもクエリ自体は一瞬で終わっていました。
時間が掛かるのは
C#でDataTableにloadで読み出しているところでした。
1行が1KBくらいのデータ
200,000行なので、200MBくらいのデータを読み出している計算になりますか。
その場合、20秒くらい掛かるもんですか?1秒以内くらいにできますか?
コメント2件

228
NAME IS NULL[sage]   投稿日:2017/02/05 10:06:55  ID:???.net(351)
>227
.NETスレ行け

229
NAME IS NULL[sage]   投稿日:2017/02/05 18:56:51  ID:???.net(351)
行かない

230
NAME IS NULL[sage]   投稿日:2017/02/06 23:59:23  ID:???.net(351)
>227
このスレでの質問じゃないね

231
NAME IS NULL[sage]   投稿日:2017/02/07 11:16:26  ID:???.net(351)
sql serverとsql server express は速さは違うのでしょうか?
コメント2件

232
NAME IS NULL[sage]   投稿日:2017/02/07 12:31:51  ID:???.net(351)

233
NAME IS NULL[sage]   投稿日:2017/02/07 12:39:38  ID:???.net(351)
>232
何倍くらい?
コメント1件

234
NAME IS NULL[sage]   投稿日:2017/02/07 12:43:35  ID:???.net(351)
>233
0.8〜1.19倍くらい
コメント1件

235
NAME IS NULL[sage]   投稿日:2017/02/07 12:57:17  ID:???.net(351)
>231
条件による
使えるメモリーとかコア数違うから

236
NAME IS NULL[sage]   投稿日:2017/02/07 13:58:59  ID:???.net(351)
>234
誰が測定したのですか?

237
NAME IS NULL[sage]   投稿日:2017/02/07 18:00:30  ID:???.net(351)
なんだこのアホなやりとりは

238
NAME IS NULL[sage]   投稿日:2017/02/07 19:31:44  ID:???.net(351)
レス古事記だろ
スルーでいいよ

239
NAME IS NULL[sage]   投稿日:2017/02/21 14:26:23  ID:???.net(351)
updateするときに、違いがなかったらupdateされないようにしたいです。
(トリガーで履歴を取っているのと、timestamp列が無駄に変わるのを防ぎたいため)

そこで、updateのwhereに
binary_checksum(項目1,項目2,項目3,・・・)<>binary_checksum(@項目1,@項目2,@項目3,・・・)
ってのを追加してます。

概ねいいんですが、かなり単純な条件でコンフリクトが発生しました。
bit型の項目1と項目9があって、項目1:1→0,項目9:0→1 のとき、binary_checksumが一緒になるという・・・

HashBytes だと () の中に複数の項目が書けません。
binary_checksumみたいな () に複数項目が書けるもので、もうちょっとコンフリクト起きにくいなにかないですか。
コメント1件

240
NAME IS NULL[sage]   投稿日:2017/02/21 14:48:31  ID:???.net(351)
>239
コンフリクトの使い方間違ってるんじゃないか?

それはともかく、単純にwhere old_item1 <> new_item1 or old_item2 <> new_item2 or ...
ってやるのは駄目なのか?

241
NAME IS NULL[sage]   投稿日:2017/02/22 08:27:45  ID:???.net(351)
binary_checksumがどうやって計算してるかしらんが、たとえば単純なsumだったら
(1,0)と(0,1)が同じ値になるのは当然だわな
素直に全項目比較する方がいいんじゃね

どういう状況かわからんが、本来はホストアプリ側で更新する(UPDATE発行する)かどうか判断するべきだと思うけどな

242
239[sage]   投稿日:2017/02/22 10:07:47  ID:???.net(351)
ありがとうございます。
仕方ないので
where ・・・ and (binary_checksum(項目1)<>binary_checksum(@項目1) or binary_checksum(項目2)<>binary_checksum(@項目2) ・・・)
という風にやりました。
HashBytesにしなかった理由は、項目1つならコンフリクトの可能性が低いと判断したためです。
(演算の軽いほうで)

243
NAME IS NULL[sage]   投稿日:2017/02/22 21:31:00  ID:???.net(351)
SQLServerを使用したいと思っているのですが、全くの無知なので教えて頂きたいです。

現在、accessを使用しています。
接続人数は3人(3台)で、バックエンドデータを1つ作成しフロントエンドを3台に配布してリンクテーブルを使って使用しています。
最近、同時接続時にクエリ実行が遅くなってきて困っています。

このバックエンドデータをSQLServerに移し、ODBC接続でリンクすればクエリ速度等は解決するのでしょうか?
また、SQLServerに移行したとしてもフロントエンドのacceesでは同じようにクエリやVBAでテーブルの印刷処理やクエリでの更新等も特に設定などを変えずにそのまま使用出来るのでしょうか?

初歩的なことだと思うのですがよろしくお願いします。
コメント2件

244
NAME IS NULL[sage]   投稿日:2017/02/22 21:55:11  ID:???.net(351)
>243
とりあえずやってみると良いよ
費用かからないし
しかし今時こんなが環境あるんかな
20年くらい昔によくあったやつ
コメント1件

245
NAME IS NULL[sage]   投稿日:2017/02/22 23:17:15  ID:???.net(351)
>243
アップサイズは全部が全部改善するとは限りませんが基本的には改善します
下の方が書かれている様に、まずやってみると良いですよ
これくらいか〜と体感できますので

ODBCリンクであれば基本的にフロントのAccessはそのまま使用できます
SQL Serverは文字コード、ソート順、キー、インデックス
くらいは確認しておいた方が良いですよ
コメント1件

246
NAME IS NULL[sage]   投稿日:2017/02/23 12:33:19  ID:???.net(351)
>244
>245
有り難うございます。
バックエンドをSQLServerに移行すると、フロントエンドでのVBAやクエリでの処理が今まで通り使えるのかが分からずに悩んでいました。

基本的には、バックエンドがacceesファイルからSQLServerに替わっても、特に編集し直すこともなくフロントエンドを使用することが出来るで大丈夫ですか?
コメント1件

247
NAME IS NULL[sage]   投稿日:2017/02/23 14:40:40  ID:???.net(351)
>246
.mdb or .accdbでODBC接続なら編集不要だと思うけど
SQL SERVERの照合順序は気を付けて
照合順序はアプリ側の実装に依存するから自力で調べて
コメント1件

248
NAME IS NULL[sage]   投稿日:2017/02/23 18:48:24  ID:???.net(351)
>247
助言有り難うございます。
accdbなのでそのまま使えそうです。

とりあえず、SQLServerをインストール、accessデータをインポートしODBC接続までしました。
何故かテーブルデータをフロントエンドのaccessで編集出来なかったのですが、主キーが設定されてないのか、ファイアーウォールがまだ未設定だからなのか調べ中です。

疑問なのですが、
10万件のデータがあり、1件のデータを更新したい為に、単純な更新クエリを作成したとします。
単純な更新クエリなので抽出や選択もなく、10万件の全てのデータが更新されます。つまり9万9999件は無駄な更新です。
これをaccessデータのリンクテーブルではかなり時間がかかりますが、SQLServerでのリンクテーブルでは数秒で処理が終わるほど変化があるのでしょうか?
それとも、このような無駄なクエリではあまり速度は変わらず、クエリ自体を考え直すべきなのでしょうか?
コメント2件

249
NAME IS NULL[sage]   投稿日:2017/02/23 20:18:10  ID:???.net(351)
>248
テーブル編集はSQL Server Management Studioを使うか、DDL直接投げるか
単純なUPDATEなら10万レコードだろうが一瞬で終わるよ(※データ量次第)
コメント1件

250
NAME IS NULL[]   投稿日:2017/02/23 20:51:17  ID:/7OWtulZ.net
思わせぶりな※

251
NAME IS NULL[sage]   投稿日:2017/02/23 21:19:27  ID:???.net(351)
>248
昔のAccessしか知らないけど
主キー無い場合はテーブルリンク作成時にキー項目選択するとかだったはず
当然可能なら主キーは設定すべきだけど

「9万9999件は無駄な更新」ってのが意味不明
何万件あろうが更新対象が1件の場合は1件しか更新しないよ
その場合の更新は文字通り一瞬で終わる
コメント1件

252
NAME IS NULL[sage]   投稿日:2017/02/23 22:30:45  ID:???.net(351)
>249
フロントエンドのフォームでテーブルのデータは編集出来ないのでしょうか?
>251
私の勘違いでしょうか。
いつも日報等で更新したいデータはカレントレコードの1件なのですが、更新クエリを使うと〜万件(全件)のデータを更新します、と表示されて、数分かかります。
クエリはフィールドAが空白ならフィールドBに"合格"の文字、フィールドAが空白以外なら"不合格"の文字を入れる、というクエリです。
これでは全レコードがクエリの対象になっていると解釈すべきですか。
コメント4件

253
NAME IS NULL[sage]   投稿日:2017/02/24 02:51:11  ID:???.net(351)
>252
テーブル開いてデータ変更できるよ
更新権限のないユーザーで接続してると思う

254
NAME IS NULL[sage]   投稿日:2017/02/24 06:17:19  ID:???.net(351)
>252
このロジックだったら全件更新だよ

以下なら2件の更新になるよ
それでも時間かかる場合はAとBのインデックスを作成すれば一瞬で終わる
Aが空白でBが合格以外の場合は、Bに合格を入れる
Aが空白以外でBが合格の場合は、Bに不合格を入れる
コメント3件

255
NAME IS NULL[sage]   投稿日:2017/02/24 07:23:35  ID:???.net(351)
>252
> いつも日報等で更新したいデータはカレントレコードの1件
そのレコードを抽出する選択クエリを作成すればいいだけじゃね?

256
NAME IS NULL[sage]   投稿日:2017/02/24 11:13:40  ID:???.net(351)
>252
>全レコードがクエリの対象になっていると解釈すべきですか
どんなクエリ(SQL)流したかとどんなテーブル(インデックス)だったか分からんと分からん
が、全件読み込んでる可能性が高いなぁ

>254
クエリの検索条件にACCESSの関数入れたりしたら全件取得するかもしれんぞ

メインはサーバ側の話じゃなくてACCESSの動作の話だし
ACCESSのスレ探すが作るかして移動したほうが良いんじゃね

257
NAME IS NULL[sage]   投稿日:2017/02/24 12:27:49  ID:???.net(351)
皆様有り難うございます。一度クエリを見直してみます。

色々と調べたのですが、単純なフロントエンドをaccess、バックエンドをSQL ServerでODBC接続では、
クエリ等の処理はサーバー側でななくクライアント側で処理されるのであまり速度の恩恵はないと見たのですが、やはりそうなのでしょうか?
これをサーバー側で処理する場合、かなりVBA等の手直しが必要なそうですが、そこまでいくと素人レベルでは難しそうです。
コメント1件

258
NAME IS NULL[sage]   投稿日:2017/02/25 03:47:54  ID:???.net(351)
やってみてそう感じたなら恩恵はないんだろうね

259
NAME IS NULL[sage]   投稿日:2017/02/25 11:50:18  ID:???.net(351)
>257
SQL文の実行はAccessではなくSQL Serverだよ

>254で改善できると思われ
コメント1件

260
NAME IS NULL[sage]   投稿日:2017/02/25 17:40:28  ID:???.net(351)
>259
有り難うございます。
SQL文はSQL Serverで処理されるのですね。

今の解釈としては
accessのみのリンクされたデータベースでは、処理は全てクライアント側の仕事になりネットワークトラフィックが膨大になる。
SQL ServerとのODBCのリンクテーブルでは、SQL文をSQL Serverに渡し、SQL Serverが処理を行い、その解をクライアントに渡すのでネットワークトラフィックが少なくてすむ。
という理解で大丈夫でしょうか?

今までクエリ処理が重かったので、VBAを使ってきたのですが、出来るものはクエリに変えた方がいいのでしょうか?
コメント1件

261
NAME IS NULL[sage]   投稿日:2017/02/25 19:54:24  ID:???.net(351)
アクセスでodbcリンクテーブルを使うとデータが多いと遅いから
更新ない一覧表示とかの時はパススルークエリ使ったほうがいいと思うわ

262
NAME IS NULL[sage]   投稿日:2017/02/25 23:10:34  ID:???.net(351)
>260
>SQL文をSQL Serverに渡し、SQL Serverが処理を行い
は正しいんだが、実行する内容によって、まずACCESSがどんなSQLを発行するか
その結果を受け取った後にどんな処理をするかによるので
>ネットワークトラフィックが少なくてすむ
とは限らん
>254で言ってるように、検索条件にACCESSの関数入るような処理だと結局ACCESS側で全件取得して検査するかもしれん
なんにしてもACCESSの話だからこれ以上はどっか移動しろ

263
NAME IS NULL[sage]   投稿日:2017/02/26 23:01:28  ID:???.net(351)
「上位200行を編集」で表示されたデータを全選択してコピーすると
選択したデータにはあった括弧などの文字が欠落してコピーされる」みたいになバグがSqlServerにあると聞いたのですが
本当なのでしょうか?(例えば"(ABC)"を選択してコピーし、メモ帳などに貼り付けると"(ABC"になってたなど)

264
NAME IS NULL[sage]   投稿日:2017/02/26 23:28:44  ID:???.net(351)
なんでどこで聞いたか言わないのかねえ

265
NAME IS NULL[sage]   投稿日:2017/02/27 08:15:54  ID:???.net(351)
自分で試せる環境はないのかね。

266
NAME IS NULL[sage]   投稿日:2017/03/03 00:00:11  ID:???.net(351)
VB6からSqlServerに接続する時はoo4oとかいうのを使うんだっけ?

267
NAME IS NULL[sage]   投稿日:2017/03/03 04:44:09  ID:???.net(351)
それオラクル
コメント1件

268
266[sage]   投稿日:2017/03/03 06:07:27  ID:???.net(351)
>267
そうだった、オラクルだったw

10年以上前(受託開発やってた会社の正社員時代)に使ってたからすごくなつい気分になったよ、ありがとう。
そんな俺も今じゃ客先常駐のしがない派遣社員・・・orz

269
NAME IS NULL[sage]   投稿日:2017/03/04 17:12:25  ID:???.net(351)
sql server使う人は言語はphp?
コメント1件

270
NAME IS NULL[sage]   投稿日:2017/03/04 17:31:18  ID:???.net(351)
>269
なぜそう思った

271
NAME IS NULL[sage]   投稿日:2017/03/05 06:30:37  ID:???.net(351)
sql server使う人は言語はC#?

272
NAME IS NULL[sage]   投稿日:2017/03/05 11:37:02  ID:???.net(351)
SQLServerはStandardとEnterpriseのEdition機能差が酷すぎるわ
碌に新機能使えないならStandardなんて名乗らずにLiteとかにしろよと

273
NAME IS NULL[sage]   投稿日:2017/03/05 11:41:36  ID:???.net(351)
おれは C#,C++, PowerShell 辺りが多い

274
NAME IS NULL[sage]   投稿日:2017/03/05 11:53:02  ID:???.net(351)
Javaとか

275
NAME IS NULL[sage]   投稿日:2017/03/05 17:53:33  ID:???.net(351)
Javaと聞くといつも風呂釜洗浄剤を思い浮かべてしまう

276
NAME IS NULL[sage]   投稿日:2017/03/05 18:03:30  ID:???.net(351)
俺はexcelvba
コメント1件

277
NAME IS NULL[sage]   投稿日:2017/03/05 20:06:10  ID:???.net(351)
>276
vbaで出来るの?
コメント2件

278
NAME IS NULL[sage]   投稿日:2017/03/05 20:28:50  ID:???.net(351)
>277
vba sql-server でググれ

279
NAME IS NULL[sage]   投稿日:2017/03/05 20:35:26  ID:???.net(351)
>277
ado(activex data object)でやってる
マスターの更新とかデータのセットや取得はエクセルでやったほうが楽チン

280
NAME IS NULL[sage]   投稿日:2017/03/06 00:11:22  ID:???.net(351)
OLEDB廃止だったはずだけど、いまだにADOで接続できるドライバあるのか
まあ、OLEDB-ODBCで行けるっちゃいけるんだろうけど

281
NAME IS NULL[sage]   投稿日:2017/03/08 14:25:17  ID:???.net(351)
現在2012にて動いている環境を2014に移行させようと思っています。

データは毎夜間にbcpコマンドを使って取り入れており、そのコマンド・フォーマットファイル自体は既存のものを流用予定です。
で、実際に動かしてみると2014のみ

SQLState = 22005, NativeError = 0
Error = [Microsoft][ODBC Driver 11 for SQL Server]キャストした文字コードが無効です。

が2レコード出ました。原因のレコードは突き止めたのですが、問題は分からず。
いろいろ試すと以下の事が分かりました。

・datetime2を使用しているカラムが怪しい?
・2レコードのうち片方のレコードを削除すると全レコード取り込みOK
・問題の1レコードの位置を最下部に移動して保存し直しすると全レコード取り込みOK
・問題の1レコードのdatetime2の最下部を1桁切ると全レコード取り込みOK

この件に関しては対応方法はあるのですが、そもそもの原因が分からないのは気持ち悪いです。
何か思いつく事はありますでしょうか?
コメント1件

282
resumi[]   投稿日:2017/03/08 17:40:19  ID:hjh5f++s.net(2)
https://goo.gl/l3fSYl
これ本当??
普通にショックだね。。

283
resumi[]   投稿日:2017/03/08 18:04:56  ID:hjh5f++s.net(2)
2重書き込みのため表示しません 内容を確認する

284
NAME IS NULL[sage]   投稿日:2017/03/08 20:59:53  ID:???.net(351)
>281
暗黙の型変換かなあ

bcpじゃないけどバッチ処理で値によって引っかかって
手前側でcastして明示的に型変換かけてから突っ込んだことがあるな

1レコード削除したら動くとか、ケツに持ってったら動く
とは整合性取れないけども

285
NAME IS NULL[sage]   投稿日:2017/03/08 22:54:59  ID:???.net(351)
問題のレコードの末尾にエスケープコードか何か入ってるんじゃないの?

286
NAME IS NULL[sage]   投稿日:2017/03/09 10:10:24  ID:???.net(351)
NVARCHAR内のNULL文字(NCHAR(0))を検索または置換する方法はありますか?
LIKE '%'+NCHAR(0)+'%'
REPLACE(name, NCHAR(0), '')
等を試してみましたが、だめでした。
コメント1件

287
NAME IS NULL[sage]   投稿日:2017/03/09 13:06:16  ID:???.net(351)
>286
正しいやり方かどうかはわからんが
select * from table where name like N'%' + nchar(0) + N'%' collate JAPANESE_BIN
で検索できたよ
コメント1件

288
286[sage]   投稿日:2017/03/09 17:08:09  ID:???.net(351)
>287
できました
ありがと

289
NAME IS NULL[sage]   投稿日:2017/03/09 17:13:43  ID:???.net(351)
SQLサーバっていまだにNとかncharとかcollateとかいるのか
コメント1件

290
NAME IS NULL[sage]   投稿日:2017/03/09 22:25:14  ID:???.net(351)
>289
ncharは他のdbでもいるだろ
コメント1件

291
NAME IS NULL[sage]   投稿日:2017/03/10 11:42:27  ID:???.net(351)
>290
あ、そうなの?
最近PostgreSQLしかやってないから、他DBがどうなってるのか知らない

292
NAME IS NULL[sage]   投稿日:2017/03/28 10:32:41  ID:???.net(351)
1回目もクエリだけやたら時間がかかるっていう経験ないですか?
2回目は速い
改善する方法あったら教えてください
コメント1件

293
NAME IS NULL[sage]   投稿日:2017/03/28 13:20:36  ID:???.net(351)
>292
まずは、やたら時間がかかる原因を調べる。実行計画を見るとか。

そういうクエリ自身の問題ではない場合で、以下にあてはまるのなら、0回目のクエリを発行してデータをキャッシュにのせればいい。
(0回目:データベース起動後に重いクエリを実行するとか、テーブル全体を読んでキャッシュにのせるとか)
・単に対象データを物理ディスクから大量に読む必要がある
・なおかつ何回も類似クエリを発行する必要がある
・1回目が遅いのも改善したい

キャッシュミス多発なら、キャッシュサイズを拡大する。
ハード性能的に無理なら、より性能の良いハードに乗り換える。


294
NAME IS NULL[sage]   投稿日:2017/03/28 14:33:14  ID:???.net(351)
DBサイズくらいのメモリ積め

295
NAME IS NULL[sage]   投稿日:2017/03/28 14:55:00  ID:???.net(351)
今調べたら、Windows Serverは余裕でTBの領域に入ってるな。2016でmax 24TB。
メモリは32GB*4の128GBで17万程度。

296
NAME IS NULL[sage]   投稿日:2017/03/28 16:34:29  ID:???.net(351)
ストアドにしてコンパイル済みにする手もあるが

297
NAME IS NULL[sage]   投稿日:2017/03/30 00:46:03  ID:???.net(351)
ストアドにしたって、データのキャッシュミスは減らんと思うが
コンパイル時間で1回目だけやたら時間がかかるとか、どんな複雑なクエリ書いたらそうなるってんだ
コメント1件

298
NAME IS NULL[sage]   投稿日:2017/03/30 15:01:26  ID:???.net(351)
>297
単にディスクからの読み込み量が多いだけでしょ
場合によっては、その読み込みが不要な場合もあるから、1回目のクエリから高速化できかもしれん
コメント1件

299
NAME IS NULL[sage]   投稿日:2017/04/02 18:33:09  ID:???.net(351)
>298
データがキャッシュにヒットする以外に
ディスクからの読み込みが不要で高速化できる場合の具体例をあげてくれ
コメント1件

300
NAME IS NULL[sage]   投稿日:2017/04/03 13:31:22  ID:???.net(351)
>299
説明不足ですまん。
ディスクからの読み込みがゼロになるということじゃなくて、不要な読み込みがなくなるかもという話。
例えば、
・インデックスがなくseq scan発生
・インデックスはあるがクエリがまずくてインデックスが使われずseq scan発生
とか。
コメント1件

301
NAME IS NULL[sage]   投稿日:2017/04/04 08:11:48  ID:???.net(351)
>300
それストアドにしたって解決されないわけだが
むしろ実行計画の生成タイミングで悪化する可能性もあるんじゃね
SQL Serverのストアドがいつ実行計画立てるかしらんけど
コメント1件

302
NAME IS NULL[sage]   投稿日:2017/04/04 10:59:56  ID:???.net(351)
>301
ストアドは関係ないよ
クエリの内容そのものに問題があったり、indexを作ったりしたら読み込みページ数が減るかもねという話
なので、まずは実行計画を見るところから始めましょうということ

303
NAME IS NULL[sage]   投稿日:2017/04/04 11:06:24  ID:???.net(351)
舐めるデータが多くて、初回はハードディスクから、2回目以降はキャッシュされたメモリーから
だから速度が違う

ストアドにすることで、コンマ何秒かは改善するかもしれないが、その程度

あとインデックスを見直すか

304
NAME IS NULL[sage]   投稿日:2017/04/04 11:23:43  ID:???.net(351)
ストアドストアド言ってる人は、90年代に生きてるんですかね

305
NAME IS NULL[sage]   投稿日:2017/04/04 12:18:00  ID:???.net(351)
今どきはストアド使わんのがトレンディなんか?
コメント4件

306
NAME IS NULL[sage]   投稿日:2017/04/04 13:22:41  ID:???.net(351)
>305
実行時間短縮が目的でストアドを使う奴はいないだろうね
コメント1件

307
NAME IS NULL[sage]   投稿日:2017/04/04 14:30:20  ID:???.net(351)
数百KBレベルのクエリなら、parse->palnningでコンマ何秒かかかるかもしれん

308
NAME IS NULL[sage]   投稿日:2017/04/04 19:25:55  ID:???.net(351)
>306
関係ない事を言うのに俺にアンカつけんのやめてもらえんかな
俺までバカに見えるやろが
コメント1件

309
NAME IS NULL[sage]   投稿日:2017/04/05 10:42:22  ID:???.net(351)
>308
>305がバカな発言だと思ってないんだw
コメント1件

310
NAME IS NULL[sage]   投稿日:2017/04/05 12:26:42  ID:???.net(351)
>309
だからなんだよ?
お前がそう思ってる事が今なんか関係あるのか?
バカしかいないのかここは
コメント1件

311
NAME IS NULL[sage]   投稿日:2017/04/05 13:18:00  ID:???.net(351)
>310
> だからなんだよ?
>305みたいなマヌケなレスするなってことだよ
そんなこともわからんバカなの?
コメント1件

312
NAME IS NULL[sage]   投稿日:2017/04/05 13:28:16  ID:???.net(351)
>305
いつまでも暴れられると困るので。
> 今どきはストアド使わんのがトレンディなんか?
そういうトレンドはありません。

313
NAME IS NULL[sage]   投稿日:2017/04/05 20:27:50  ID:???.net(351)
まあしかし、ORMの普及や回線速度の向上とかでストアド不要論が優勢な流れはあるかと
昔はトラフィック減らして速度向上させるためにストアドって流れはある事はあったからな
コメント2件

314
NAME IS NULL[sage]   投稿日:2017/04/05 21:15:40  ID:???.net(351)
>311
だから関係ないレスでアンカつけんのやめてもらえんかな
俺までバカに見えるやろが

315
NAME IS NULL[sage]   投稿日:2017/04/05 21:58:10  ID:???.net(351)
>313
SQLSeverと親和性高いC#がEF推しているのを見ると不要論が優勢でも不思議じゃないな
コメント1件

316
NAME IS NULL[sage]   投稿日:2017/04/06 10:39:37  ID:???.net(351)
>315
EFとストアドに何の関係が?

317
NAME IS NULL[sage]   投稿日:2017/04/06 10:50:33  ID:???.net(351)
>313,315
ORMやEFが広まれば、よりストアドプロシージャ・ファンクションの需要が高まる気がするが。
ドメインロジックはサーバ側で実装し、クライアントはそれを使用するだけというスタイル。

318
NAME IS NULL[sage]   投稿日:2017/04/06 13:19:00  ID:???.net(351)
そんな思想があったらRailsなんぞ流行らんわ
何処の時空の話だよ
コメント1件

319
NAME IS NULL[sage]   投稿日:2017/04/06 13:59:58  ID:???.net(351)
>318
まぁ、RailsだろうがEFだろうが、データをどかっと取ってきて、クライアントコードで
ごりごりドメインロジックを実装するような層には関係ない話かな。

320
NAME IS NULL[sage]   投稿日:2017/04/06 14:11:49  ID:???.net(351)
そんな話じゃねえよ
EFが何しにPOCOなんての売りにしてたかって話だ
コメント1件

321
NAME IS NULL[sage]   投稿日:2017/04/06 15:42:00  ID:???.net(351)
>320
つまりは、
> データをどかっと取ってきて、クライアントコードで
> ごりごりドメインロジックを実装する
ということだろ?
POCOメインのプログラマには関係ない話だよ。

そんな話じゃないなら、どんな話なんだ?

322
NAME IS NULL[sage]   投稿日:2017/04/06 15:53:14  ID:???.net(351)
DB側でスキーマ書いて処理も書いてってのが古い思想という話をしている
開発スピードが無闇に上がってスキーマ変更朝令暮改でって今時はな
コメント1件

323
NAME IS NULL[sage]   投稿日:2017/04/06 15:58:59  ID:???.net(351)
>322
> DB側でスキーマ書いて処理も書いてってのが古い思想という話をしている
なるほどね。
でも、ドメインロジックをデータベース側に寄せるか、クライアント側に寄せるかという問題は、
今でも存在する。ふるいも新しいもないと思うが。

> 開発スピードが無闇に上がってスキーマ変更朝令暮改でって今時はな
それこそ、データベース側にドメインロジックの実装を寄せた方がいいのでは?

324
NAME IS NULL[sage]   投稿日:2017/04/06 16:05:36  ID:???.net(351)
例えば、2003年のMartin Fowlerのブログポスト:
『ドメインロジックとSQL』
http://bliki-ja.github.io/DomainLogicAndSQL/

ここに書かれていることは、全然古いとは思わない。
逆に、自動生成されるコードをメインに使うようになる場合は、ドメインロジックを
ストアドファンクションで実装してViewにした方がいい場合も結構あると思うんだが。
コメント1件

325
NAME IS NULL[sage]   投稿日:2017/04/06 16:19:28  ID:???.net(351)
昔々のウォーターフォールで上流で設計決まる時代ならそれもよかろうさ
だが今はデータ構造から卓袱台返される
その時アプリとDB両方に手ぇ入れるのと
アプリだけで済むのとどっちが早いか?
自明だろ

326
NAME IS NULL[sage]   投稿日:2017/04/06 18:53:09  ID:???.net(351)
DB側でごりごり書いたストアドって、InMemoryでUnitTestできるのかい?

327
NAME IS NULL[sage]   投稿日:2017/04/06 20:44:49  ID:???.net(351)
Web系とかで高速開発/デプロイな現場なら
コードファーストも面白いし効率あがりそうと思うけど
DevOpsの時代っても考えなしに書くでなし
結局はV字開発なんだからDB側でスキーマ決めるくらい
やれば?みたいな思いはあるな古い考えなんだろうけど

SIerソルジャーだから>324もよくわかる
SQL一発取得+コーディングレスなアプローチが
楽/効率的な局面は現場じゃザラにあるよねえ

SSRS/PowerBIとかDataSpiderだの触るととくにそう
ストアド書いてぽちぽちするだけでけっこう
運用に耐えるもんできるし変更追従も保守も楽だしな
基幹から社内向けWebで集計帳票や明細表な要件なら
SQL以外のコーディング自体がそもそもバカバカしい
コメント1件

328
NAME IS NULL[sage]   投稿日:2017/04/08 22:23:48  ID:???.net(351)
>327
純粋なコードファーストはある程度以上の規模だと使い物にならんと思ってた
スキーマはDB側でかっちり決めんと話にならんだろうと

これが古い考えだと言われればそうなんだろうかと思ってた
が、既存のデータベースからコードファーストなんて手法が出来た所を見ると
やはりスキーマをDB側で決めるのは今でも必要なんじゃないか

ストアドにいろんなものを閉じ込めるのは、手法の新旧で言えばそれこそ古い手法だと思う
ストアドの保守はアプリの保守よりコストが高いのが現状じゃないかと思う
ストアドの保守がアプリの保守より低コストだって言う所ならそれを採用するのもありなんだろうけど
コメント1件

329
NAME IS NULL[sage]   投稿日:2017/04/09 16:01:53  ID:???.net(351)
>328
ストアドって何よ?
コメント2件

330
NAME IS NULL[sage]   投稿日:2017/04/09 18:40:23  ID:???.net(351)
with(nolock)をselect文全てに付けるとヤヴァイ?
ググったらコミット前のデータが返ってくるとか
ページ分割が起こった場合行の重複や欠落が発生するとか書いてあるけど
今仕事で触ってる既存のselect文のコード全部そうなってる
コメント2件

331
NAME IS NULL[sage]   投稿日:2017/04/09 19:22:13  ID:???.net(351)
ヤバイかどうかは業務内容による

332
NAME IS NULL[sage]   投稿日:2017/04/10 14:48:01  ID:???.net(351)
>329
質問の真意が図りかねるが
>ストアドにいろんなものを閉じ込める
の事であるなら、たとえば
ビジネスロジックをストアドとして実装することや
DBアクセスの結果をストアドの帰りとすることでスキーマ変更をアプリに意識させないこと
などの手法を指してる

純粋にストアドの意味が分からないなら
DBに格納できる一連の手続きかな
コメント1件

333
NAME IS NULL[sage]   投稿日:2017/04/10 15:17:23  ID:???.net(351)
>330
常に1スレッドからしか触られない前提なら別にヤバくない
コメント2件

334
NAME IS NULL[]   投稿日:2017/04/10 22:02:15  ID:mMYNtWws.net
ストアドってPGのたしなみとして
できて当たり前だと思うけど
今の新人は>329みたいなのが
多いのか。

335
NAME IS NULL[sage]   投稿日:2017/04/11 07:27:15  ID:???.net(351)
>333
誰も同時に触らないならnolock必要なくね?
何のために入れたのやら

何処かでnolock入れると速くなるよ!とかデッドロック回避できるよってのを聞いてよく考えずに入れたのか

同時に一人(1スレッド?)しか触らないなら
2つのロックが対立することは無いんだから
コメント1件

336
NAME IS NULL[sage]   投稿日:2017/04/11 13:39:32  ID:???.net(351)
>335
nolock指定すれば雀の涙ほど速くなる
それ以外の理由? 知らんそんなものは管轄外だ

337
NAME IS NULL[sage]   投稿日:2017/04/11 19:12:06  ID:???.net(351)
Hyperーvのレプリカサーバーに入っているSQLSERVERもライセンスって必要ですか?
コメント1件

338
NAME IS NULL[sage]   投稿日:2017/04/11 19:42:30  ID:???.net(351)
>337
OSのライセンスが2つ必要ならそりゃSQLServerのライセンスも同じじゃね
コメント1件

339
NAME IS NULL[sage]   投稿日:2017/04/11 20:03:02  ID:???.net(351)
>338
ありがとうございました。
不要と理解しました

340
NAME IS NULL[sage]   投稿日:2017/04/12 01:11:00  ID:???.net(351)
>333,335
スレッド一つでも複数コネクション持ってゴニョゴニョすると問題が出る気がする
コメント1件

341
NAME IS NULL[sage]   投稿日:2017/04/12 03:42:34  ID:???.net(351)
>340
さすがにそれはない
まさかCOMMITせん訳でもあるまい?
コメント1件

342
NAME IS NULL[sage]   投稿日:2017/04/12 06:15:01  ID:???.net(351)
>330
マルチスレッドの場合でも全トランザクションを
同期化してスレッドセーフにすればヤバくない

343
NAME IS NULL[sage]   投稿日:2017/04/13 00:21:38  ID:???.net(351)
>341
コミットしてから次のトランザクション始めるならコネクション二つとか必要ないだろ
ようは同時実行するトランザクションがあるかどうかで、スレッドとか関係ないって話

344
NAME IS NULL[sage]   投稿日:2017/04/13 14:55:41  ID:???.net(351)
スレッド内でトランザクション完了しないで別のトランザクション始めるとかどんな状況だよ
特にSQLServerだと無駄に昇格起こってMSDTCエラー起こすぞ
コメント3件

345
NAME IS NULL[sage]   投稿日:2017/04/13 15:49:12  ID:???.net(351)
スレッドがどうこうとか、あんまり関係ない。
別プロセスでも話は同じ。

要は、トランザクション分離レベルがダーティーリードになっても大丈夫かどうかで決定すべき。
ダーティーリードとは、自分以外の誰か(別プロセスも含む)のコミット前のデータを読むことに
なっても問題ないかどうかという話。

346
NAME IS NULL[sage]   投稿日:2017/04/13 17:00:25  ID:???.net(351)
>344
シーケンスなかった時に、連番とるためにやったことあるわ
コメント1件

347
NAME IS NULL[sage]   投稿日:2017/04/13 19:40:53  ID:???.net(351)
>346
俺もよくやるよ。>344が無知なだけ
コメント1件

348
NAME IS NULL[sage]   投稿日:2017/04/13 19:43:06  ID:???.net(351)
>344
晒し

349
NAME IS NULL[sage]   投稿日:2017/04/13 19:49:56  ID:???.net(351)
>347-348
まさかと思うが入れ子トランザクションでドヤってんじゃあるまいな…?
コメント1件

350
NAME IS NULL[sage]   投稿日:2017/04/13 20:10:39  ID:???.net(351)
>349
何のために別にコネクション(トランザクション)が必要か考えたら
入れ子トランザクションではダメなことぐらいわかるだろうに
コメント2件

351
NAME IS NULL[sage]   投稿日:2017/04/13 20:15:54  ID:???.net(351)
>350
連番取るのにトランザクション外からやるっての?
ますますもって意味わからんぞ
コメント1件

352
NAME IS NULL[sage]   投稿日:2017/04/13 21:36:54  ID:???.net(351)
>351
連番管理用のテーブルと、連番を利用するテーブルを別のテーブルにするんだよ
短時間で終わる連番の発行と、時間のかかる更新系の処理を別トランザクションにすることで
連番管理用のテーブルのロックを解放する
コメント3件

353
NAME IS NULL[sage]   投稿日:2017/04/13 21:43:45  ID:???.net(351)
>350
よーく考えよう

354
NAME IS NULL[sage]   投稿日:2017/04/14 10:56:34  ID:???.net(351)
>352
今となっては、バッドノウハウ
コメント1件

355
NAME IS NULL[sage]   投稿日:2017/04/14 11:06:49  ID:???.net(351)
結論は何も考えずにnolock入れるつもりなら止めとけってことじゃないの

356
NAME IS NULL[sage]   投稿日:2017/04/14 15:02:31  ID:???.net(351)
>352
それフツーに不整合出ねえ?
コメント1件

357
NAME IS NULL[sage]   投稿日:2017/04/14 15:57:02  ID:???.net(351)
>352
出ませんが、何か?

358
NAME IS NULL[sage]   投稿日:2017/04/14 20:02:12  ID:???.net(351)
>354
今時の代替手段はどんなの?

>356
何を懸念してるか知らんが問題ない
欠番の発生は想定内
コメント2件

359
NAME IS NULL[sage]   投稿日:2017/04/14 20:21:40  ID:???.net(351)
>358
シーケンス

360
NAME IS NULL[sage]   投稿日:2017/04/14 20:31:11  ID:???.net(351)
>358
> 今時の代替手段はどんなの?
シーケンスだろ

361
NAME IS NULL[sage]   投稿日:2017/04/14 21:37:16  ID:???.net(351)
シーケンス互換性ないじゃん
コメント1件

362
NAME IS NULL[sage]   投稿日:2017/04/15 14:02:49  ID:???.net(351)
>361
シーケンスと何が互換性ないって?
コメント1件

363
NAME IS NULL[sage]   投稿日:2017/04/16 08:42:49  ID:???.net(351)
>362
違う
シーケンスとかIDENTITYは製品間で互換性無いって言ってんだろ

364
NAME IS NULL[sage]   投稿日:2017/04/17 00:45:52  ID:???.net(351)
今の流れでそれがどうだと?

365
NAME IS NULL[sage]   投稿日:2017/04/17 13:04:14  ID:???.net(351)
シーケンスって…なに?
コメント1件

366
NAME IS NULL[sage]   投稿日:2017/04/17 14:40:37  ID:???.net(351)
>365
つ google

367
NAME IS NULL[sage]   投稿日:2017/04/17 16:51:13  ID:???.net(351)
何でこの程度のことググらないのか、毎度ながら不思議

368
NAME IS NULL[sage]   投稿日:2017/04/18 12:21:23  ID:???.net(351)
むしろお前が教えればいいだけなのにどうしてわざわざググらなければいかんのか

369
NAME IS NULL[sage]   投稿日:2017/04/18 13:06:43  ID:???.net(351)
教えてくれる奴が来るまで待つとか馬鹿でしょ

370
NAME IS NULL[sage]   投稿日:2017/04/18 19:21:58  ID:???.net(351)
いや待てよ勝手に理解したつもりになるな

371
ich1[]   投稿日:2017/04/21 16:41:35  ID:R/eXxgbc.net
https://goo.gl/q9Ml0S
これは嘘でしょ?本当だったら落ち込むわ。。

372
NAME IS NULL[sage]   投稿日:2017/04/22 01:49:55  ID:???.net(351)

373
NAME IS NULL[sage]   投稿日:2017/04/25 22:38:34  ID:???.net(351)
最近DB触り始めたんですが、チューニング的なことをする必要が出てきてT-SQLを知りたいです
例:)http://outofmem.tumblr.com/post/77053433681/sql-serverdb%E5%86%85%E3%81%...
↑こんなふうにシステムビューとか含めてリファレンス的に読める本があれば教えて欲しいんですがどうですか

調べてもゼロ年代の本しかなくて、いきなり買うのも勇気がいります……
ちなみに日本語しかダメです

374
NAME IS NULL[sage]   投稿日:2017/04/25 23:17:16  ID:???.net(351)
>332
>「ストアド」 = 「DBに格納できる一連の手続き」

いかにもシステム屋さんな定義だなw
コメント5件

375
NAME IS NULL[sage]   投稿日:2017/04/26 12:56:31  ID:???.net(351)
>374
では、君の素晴らしい定義を教えてもらおうかな
コメント1件

376
NAME IS NULL[]   投稿日:2017/04/26 20:31:45  ID:yyy4jyWJ.net
いきなり答えあわせじゃおもしろくないから
>374に笑われない定義は何かな?」ゲームしようぜ

377
NAME IS NULL[sage]   投稿日:2017/04/26 22:45:55  ID:???.net(351)
べつに>374の定義はどうでもいいけど
>374が何屋さんを自称するのか気になるわ

378
NAME IS NULL[sage]   投稿日:2017/04/29 00:21:18  ID:???.net(351)
まだほとぽりは冷めてないぜ>374

379
374[sage]   投稿日:2017/04/29 01:07:23  ID:???.net(351)
健全でない言葉が含まれているため表示しません 内容を確認する

380
NAME IS NULL[sage]   投稿日:2017/04/29 09:51:21  ID:???.net(351)
すみません。質問させてください。
CREATE PROCEDUREについて、
ストアドプロシージャが既に登録されていたらDROP後、CREATE→OK
ストアドプロシージャが既に登録されていたらなにもしない  →NG
となるのはなぜなのでしょうか?

https://technet.microsoft.com/ja-jp/library/ms175502(v=sql.105).aspx」の
「バッチの使用に関するルール」に「・・・CREATE ステートメントはバッチの最初に記述する必要があります」
とあるので構文エラーなのかなとは思うのですが、構文エラーとした理由はあるのでしょうか?

これは出来る
IF OBJECT_ID ( 'dbo.プロシージャ', 'P' ) IS NOT NULL BEGIN
DROP PROCEDURE dbo.プロシージャ
END
GO
CREATE PROCEDURE dbo.プロシージャ・・・

これはできない
IF OBJECT_ID ( 'dbo.プロシージャ', 'P' ) IS NULL BEGIN
CREATE PROCEDURE dbo.プロシージャ・・・

381
NAME IS NULL[]   投稿日:2017/04/29 19:13:45  ID:SlYPafLa.net
create or replace
じゃ不満なのか?

382
NAME IS NULL[sage]   投稿日:2017/04/29 20:46:20  ID:???.net(351)
不満はないんだけど、なんでかなと。そういうものなんだと思っときます。

383
NAME IS NULL[sage]   投稿日:2017/05/07 03:32:11
物凄く初歩的で申し訳ないのですが、SQL Server2008をSQL Server2014へ
アップグレードでインストールした後、不要な2008を消したいんですが
普通にアンインストールでいいものなんでしょうか。
コメント2件

384
NAME IS NULL[sage]   投稿日:2017/05/07 06:15:58
>383
たぶん良いんじゃないか。
結果を教えてくれ。

385
NAME IS NULL[sage]   投稿日:2017/05/10 00:57:31
>383ではないが
2008R2 Express SP3を2016 Expressにして、2008をアンインストールしてみた
軽く動かした感じでは動いてるっぽいけど
2008のアンインストールが色々手間だった

まあ実務マシンなら、俺ならアンインストールせずにスタートメニューだけ消しとく

386
NAME IS NULL[sage]   投稿日:2017/05/10 21:21:25
俺なら2008アンインストール、2016インストールするけど

387
NAME IS NULL[]   投稿日:2017/05/11 19:47:33
Windows ServerでSQL Server 2012を入れております
SSMSでバックアップのスケジュールを確認しようとしたんですが管理にメンテナンスという項目がありません
SSMSを見てもExpressという表示はないんですが原因って他にありますか?

388
NAME IS NULL[sage]   投稿日:2017/05/11 19:51:28
ログインユーザーがsysadminじゃなかったってのは昔あったな
コメント1件

389
NAME IS NULL[sage]   投稿日:2017/05/12 13:25:14
https://msdn.microsoft.com/ja-jp/library/ms178127.aspx
Agent XPsが無効だとメンテナンスプランやらエージェント使えないんでは
あー、でもこれメンテナンスの項目は出てた気がするなあ
コメント1件

390
NAME IS NULL[sage]   投稿日:2017/05/12 14:33:52
今↓の現象が発生しました。

SSMS2016 で日本語入力が行えない IMEがオフになったままになる
https://social.msdn.microsoft.com/Forums/ja-JP/09e3ebdf-f9ec-457c-aedd-e521e303...

物凄い致命的な不具合だと思うんですが、みんなの大丈夫ですか?

391
NAME IS NULL[]   投稿日:2017/05/12 20:07:03
>388
sysadminというのはロールですよね?
Administratorですし、sysadminにもチェックはありました

392
NAME IS NULL[sage]   投稿日:2017/05/12 22:11:13
SSMSってエディション関係ないからな。DBエンジンがEXPRESSだったって落ちじゃないのか
接続先のバージョンとか出てたっけ
コメント1件

393
NAME IS NULL[sage]   投稿日:2017/05/13 06:25:13
2016のssmsとexpress使ってるけど、imeの問題は出ないぞ

394
NAME IS NULL[sage]   投稿日:2017/05/13 07:09:40
Visual Studio 2015 Express 使ってるけどごくまれ(数ヵ月に一回ぐらい)IME がOnにならなくなる時がある
メモ帳とかを起動してIMEをOnにしたりするとVisual Studioでも普通に使えるようになるからあまり気にしてないけど

395
NAME IS NULL[sage]   投稿日:2017/05/13 11:11:12
>389
項目は出ているけど開けなかった記憶あるわ
項目自体出てないのは>392の通りExpress使っているとかじゃないのかね

396
391[]   投稿日:2017/05/13 23:35:10
すいません、たぶんDBのほうがExpress使ってるかもしれません
どこで確認できますか?また自動でバックアップする方法とかありますか?
コメント1件

397
NAME IS NULL[sage]   投稿日:2017/05/14 00:45:41
SqlServerに特化したPowerShellがあるらしいけど、使ってる人いるのかな?
コメント1件

398
NAME IS NULL[sage]   投稿日:2017/05/14 01:42:00
>396
マジで言ってるのかアレだなあ...
&#9642;&#65039;エディション確認
・繋いだインスタンスを右クリックでプロパティ
・masrerデータベースで
select @@version

&#9642;&#65039;バックアップ
Backup database コマンド書いたSQLファイルを
sqlcmd/osqlで呼ぶbat書いてタスクスケジューラに登録

expressで開発、検証じゃなく本番運用する気なら
悪いこといわんからstandard買って載せ替えるが宜しい
奉行とかPCAとかのパッケージバンドルかねえ

399
NAME IS NULL[]   投稿日:2017/05/20 15:16:05
アップルラボ 詐欺 怪しい 疑惑 iPhone 修理 非正規店 グレーゾーン 韓国 中国
根本つとむ 中卒 ブサイク ブス キモい 詐欺師 生活保護
根本つとむ 逮捕 犯罪者 罪状 重要参考人 障害者 アスペルガー症候群
アップルラボ 被害者の会 壊れた おかしい 犯罪 故障 iPhone7 スティーブジョブズ
アップルラボ 脱税 iPad 脱獄 水没修理 MacPro 買取
アップルラボ 誇大広告 2ちゃんねるで宣伝 消費者センター 粉飾決済 恥 ダメ
アップルラボ 迷惑企業 最低 やめて欲しい 中卒 変 創価学会 中国

400
NAME IS NULL[sage]   投稿日:2017/05/20 18:14:01
>397
> SqlServerに特化したPowerShellがあるらしいけど
どこの情報?
普通に [Data.SqlClient] 経由で使うのとなにか違うの?
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

データベース板 タイトル検索

このスレッドが人気です(実況系)
羽鳥慎一モーニングショー★3 (955)テレ朝実況
実況 ◆ 日本テレビ 55270 (879)NTV実況
NHK総合を常に実況し続けるスレ 134101 ごま油 (663)NHK実況
実況 ◆ フジテレビ 83440 (74)フジ実況
ビビット 5/23(火) ★1 (515)TBS実況
はやドキ!& あさチャン!火曜日★2 (703)TBS実況
おはよう!時代劇 暴れん坊将軍4 #17(第18話)[字][再] (933)テレ朝実況
キスマイブサイク ★1 (816)フジ実況
このスレッドが人気です(ニュース系)
【速報】コンサートで事件 爆発可能性=英マンチェスター 20人死亡、200人負傷【動画】 (1000)ニュー速+
【音楽】<多数の死傷者>アリアナ・グランデさんのコンサート会場で爆発! (358)音楽・芸能ニュース
【レゴランド】来場者低迷、隣接店舗が2か月で閉店 売り上げが想定の10分の1 (124)ニュー速+
【英国】コンサートで事件 爆発可能性=英マンチェスター 犠牲者も【動画】 (609)ニュー速+
【フィリピン】ドゥテルテ大統領「信頼できるのは中国とロシアだけ」ロシア・中国との「軍事同盟」も辞さず? (223)ニュー速+
【天皇退位】「皇太子」称号に難色 秋篠宮さま意向で見送り (671)ニュー速+
【テレビ】<テレビを見ないとバカになる>という投稿に騒然!「価値観の違い」の声も 「テレビは見ない」という人も増えてきた。 (440)音楽・芸能ニュース
【中国6邦人拘束】「精神状態が心配だ」 社員が拘束の日本地下探査が会見 (693)ニュー速+
データベース板の人気スレ
Oracle 質問総合スレ12 (763)
DB設計を語るスレ 9 (1002)
SQL初心者質問スレ (635)
PostgreSQL Part.11 (218)
Oracle 質問総合スレ9 (986)
MySQL 総合 Part24 (1010)
Oracle 質問総合スレ10 (1014)
SQL質疑応答スレ 15問目 (1013)
SQL質疑応答スレ 17問目 (331)
[test] 書き込みテスト 専用スレッド [テスト] (384)
MySQL 総合 Part25 (893)
Microsoft SQL Server 総合スレ 11 (400)
♪つっかもうぜ!DB! (65)
はじまりです。 (584)
XML統合スレッド (397)
SQLite Part.10 (599)
頼むから正規化しろよ 第二正規形 (288)
RDBMS比較総合スレ 【サーバ】 (115)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)