X



トップページDB@2ch掲示板
1002コメント327KB
Microsoft SQL Server 総合スレ 11 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0741NAME IS NULL
2018/02/20(火) 17:49:18.93ID:???
メタプログラミングやコードジェネレーションを考えればいいと思うよ
できるやつは無駄を省いて機械に仕事をさせる
Paul GrahamのLispの話と同じ
0742NAME IS NULL
2018/03/03(土) 09:21:09.95ID:???
新進気鋭の「グラフデータベース」って用途が思いつかないな
0743NAME IS NULL
2018/03/03(土) 16:40:26.84ID:???
RDBはグラフと相性悪いからな
用途が思いつかないうちは使う必要ない
0744NAME IS NULL
2018/03/03(土) 19:29:07.99ID:???
ビッグデータ()とかバズりたい奴向けやろ
0745NAME IS NULL
2018/03/03(土) 21:51:50.18ID:???
一昔前の技術で言えば多次元DBと同じようなもん
RDBみたいにあらゆる所で使われる技術ではない
0746NAME IS NULL
2018/03/03(土) 21:52:38.80ID:???
グラフデータベース=ビッグデータ()
とか言ってると恥ずかしいよ
0747NAME IS NULL
2018/03/04(日) 01:22:04.38ID:elOR/YZE
何年前の話題やねんw
0748NAME IS NULL
2018/03/06(火) 20:30:45.91ID:Y3UcuCKK
間違えて全データ消してしまったんですが
ldf/mdfファイルから消す直前のデータに戻す方法ってありますか?
0749NAME IS NULL
2018/03/06(火) 22:48:19.99ID:???
バックアップあるなら戻せばいいじゃん?
リカバリモデルにもよるけど
0750NAME IS NULL
2018/03/07(水) 00:02:46.51ID:/Gdd1MyZ
bakファイルがなくてldf/mdfファイルだけの状態です
0752NAME IS NULL
2018/03/13(火) 12:58:28.97ID:jwO7/+7T
2017 Expressへ32bit windows7接続出来ますか?
0753NAME IS NULL
2018/03/13(火) 17:08:26.50ID:???
できますよ
0754NAME IS NULL
2018/03/14(水) 07:45:47.09ID:znnrpK8K
ありがとうございました。
WINDOWS認証ですが18456エラーが出ます、あとLOGを見ると明示的に指定されたデータベースを開けませんでした。
とあります、何が悪いのでしょうか?
今までは2005 EXPRESSでした。
0755NAME IS NULL
2018/03/14(水) 13:40:26.89ID:???
何時のVerからかは忘れたが、今はマシン名\インスタンス名の形式で指定してやらんと繋がらない
例えばlocalhost\SQLEXPRESS
0756NAME IS NULL
2018/03/14(水) 15:02:13.68ID:znnrpK8K
>>755そうですか?試してみます、ありがとうございました。
0757NAME IS NULL
2018/03/14(水) 19:11:25.05ID:???
>>754
そのエラーコード以外に状態コードが出てるでしょ
それ込みでググればだいたい原因分かるよ

Error: 18456, Severity: 14, State: 38. <―このStateの部分

メッセージから推測するとPermissionに問題ないなら
そのログインに指定されてるDefault Databaseがないんじゃないのかな?
存在するデータベースを指定してみれば切り分けできる
0758NAME IS NULL
2018/03/23(金) 16:35:09.86ID:???
SQL Server 2017 Express の localdb のみをインストールし、コマンドプロンプトから
sqllocaldb start MSSQLLocalDB
として開始しようとすると、
「プロシージャ エントリ ポイント BCryptKeyDerivation がダイナミック リンク ライブラリ bcrypt.dll から見つかりませんでした。」
と出て失敗します。
対処方法はありますか? Windows7 64bit です。
SQLServer2017構成マネージャーにも何も出てこないし、
SQL Server Management Studio で (localdb)\MSSQLLocalDB としても接続できず困っています。
0760NAME IS NULL
2018/03/23(金) 21:28:54.62ID:???
>>759 ありがとうございます。

bcrypt.dll ファイル自体は system32 と SysWOW64 のどちらのフォルダにも存在しています。
SQL Server 2017 Express は、そもそも Windows7 はサポート外で、ただし localdb だけならいける、と
いうことなのでやってみたけど、やっぱダメなのか・・
SQL Server Management Studio をちょっと勉強したかったのだが。
0761NAME IS NULL
2018/03/24(土) 10:11:24.87ID:???
>>760
「ただしlocaldbだけなら〜」はどこからの情報なのか
0762NAME IS NULL
2018/03/24(土) 14:01:15.39ID:???
>>761
これです→ http://diy-kagu.hatenablog.com/entry/2017/08/09/155801
記事は2016だけど、2017でも大丈夫だろうと。
自分の環境特有の理由かもしれない。
もう少しやってみてダメなら 2017 をアンインストールして 2016 で再度やってみる。
SQLの勉強でなくて、SQL Server Management Studio を勉強したい。
0764NAME IS NULL
2018/03/26(月) 10:12:43.42ID:???
>>763 ありがとうございます。
2017バージョンの localDB と SSMS をアンインストール後、
2014バージョンの localDB と SSMS を入れ、SSMS から接続までできました。
これで SSMS の勉強ができます。
0765NAME IS NULL
2018/03/27(火) 21:04:57.51ID:???
SQL Server 2016 expressで特定のテーブルのアクセスが異常に遅いのですが、何か原因はありますか?

特定のテーブルの情報
・データ50万件 (select count(*)だけで10秒かかる)
・頻繁にインサートしている
・主キーを設定していない

プログラムでDBに接続側がタイムアウトになるくらい何かが起きているようです。
0766NAME IS NULL
2018/03/28(水) 13:15:59.84ID:???
そら主キーなかったら遅いだろ
0767NAME IS NULL
2018/04/17(火) 14:13:45.26ID:???
sp_who2 をすると、サーバーに繋ぎに来てるコンピュータ名やプログラム名が見れますが
ドメインユーザー名を取得することできませんか。

SQL認証で、ユーザー/パスを全員共通にしてあるんですけど
各接続SPIDに対するドメインユーザー名が判別できるとありがたいんですが。

Windows認証だったら判別つくのですが、プログラムはSQL認証で使いたいです。
(ユーザーがもし SSMS で繋ぎにきたときにテーブル全開示になっちゃうのを防ぐため)
0768NAME IS NULL
2018/04/17(火) 19:10:39.61ID:???
できません
0769NAME IS NULL
2018/04/19(木) 12:38:19.26ID:???
>>765
俺、そのケースで散々パフォーマンスチューニングだのインデックス再構築だの設計変更だのしてたが、
最終的なオチはExpressのデータファイルの10GB制限に引っかかっててインデックス検索で1MB単位で容量の削除、自動拡張を繰り返してた、
というケースがあった。
今でも当時のことを思い出すと赤面するぐらい恥ずかしい思い出。
0770NAME IS NULL
2018/04/19(木) 23:59:08.45ID:???
自動拡張はともかく、容量の削除ってなんだ?
0771NAME IS NULL
2018/04/20(金) 00:29:36.06ID:???
>>770
インサートで限界を突破して自動拡張が停止
→ロールバックされて容量が元に戻る
→ギリギリ容量が残ってるので自動拡張が…
以下、タイムアウトするまで(あるいは何とか入りきるまで)延々繰り返し

みたいな(ちょっと詳細省いたけど
0772NAME IS NULL
2018/04/21(土) 11:37:33.55ID:???
自動拡張されたデータファイルのサイズはロールバックしても自動的に縮小されたりしなかったと思うんがだが
自動拡張に出来なくて空きがないならエラーで帰ってくるから、タイムアウトまで延々待たされるなんて事も無かったと思うけど
0774NAME IS NULL
2018/05/03(木) 17:13:22.69ID:???
SQL Server の参考書でいいやつってどれ?
SQL の文法解説じゃなくて、SQL Server 独特の文化とか、SSMS の操作法とか、そのあたりを学びたい。
0775NAME IS NULL
2018/05/03(木) 18:24:13.53ID:aGiZKSfN
>>774
公式DLの自習書シリーズが最強だと思う
ボリュームが多いが参考書臭さがなく実務より
0776NAME IS NULL
2018/05/03(木) 18:25:55.90ID:aGiZKSfN
>>774
公式DLの自習書シリーズが最強だと思う
ボリュームが多いが参考書臭さがなく実務より
0777NAME IS NULL
2018/05/03(木) 19:44:18.01ID:03ggByZ2
>>774
あまりない。そこがSQL Serverの厳しいところ。
0778NAME IS NULL
2018/05/03(木) 22:41:41.95ID:???
>>775 おお! 無料でこんなのあるんだ、ありがとう!
>>777 オラクルよりもマイナーなのかな?
0779NAME IS NULL
2018/05/03(木) 23:43:56.18ID:brE82I5/
>>778
自習書は日本マイクロソフトが日本の会社に作らせたもの。

ただし手抜きや説明の偏り、一部は間違っているが、日本マイクロソフトのサポートの方もこれを参考にしている。

マイクロソフトはどの製品も作りっぱなしでマニュアルは自動翻訳のよくわからないものばかり。

Management StudioについてはどのRDBMSより経験がなくても直感的にわかりやすい。
0780NAME IS NULL
2018/05/04(金) 01:38:57.38ID:l3Y7dHLE
>>774
SQL Server 2005、2008以降は大きく変わっていないから、特に翔泳社の本は役に立つよ。

最近のSQL Server本は本当に役に立たない。特にマイクロソフト公式本はひどい。

秀和システムの赤い本もひどい。
0781NAME IS NULL
2018/05/04(金) 08:19:21.05ID:???
>>779
なんで翻訳物に手を出すの?
0782NAME IS NULL
2018/05/04(金) 09:42:04.84ID:l3Y7dHLE
>>781
0783NAME IS NULL
2018/05/04(金) 10:54:05.67ID:???
>>782
>マイクロソフトはどの製品も作りっぱなしでマニュアルは自動翻訳のよくわからないものばかり。
0784NAME IS NULL
2018/05/04(金) 13:58:18.36ID:l3Y7dHLE
>>783
マイクロソフトのサイトを見たことがないの?
0785NAME IS NULL
2018/05/04(金) 14:04:11.53ID:???
>>784
ごめんね自動翻訳なんて見ないんだ
0786NAME IS NULL
2018/05/04(金) 14:04:44.52ID:???
>>784
英語読めないのかい?
0787NAME IS NULL
2018/05/04(金) 15:59:47.61ID:???
M$日本の公式ドキュメントは「これは自動翻訳で生成されました」だらけなんだが
>>785はggrもしないらしい
0788NAME IS NULL
2018/05/04(金) 16:06:01.60ID:???
>>787
英語のドキュメント読むに決まってんだろ何言ってんの?
0789NAME IS NULL
2018/05/04(金) 16:12:20.05ID:???
>>787
ググった結果英語のドキュメントが出てこない世界に住んでるんだねすごいね
0790NAME IS NULL
2018/05/04(金) 20:10:03.98ID:???
789の世界のgoogleは日本語の結果のみ表示ができないらしい
0791NAME IS NULL
2018/05/04(金) 22:23:50.48ID:l3Y7dHLE
その英語もひどいから意味がない。
0793NAME IS NULL
2018/05/05(土) 17:00:07.44ID:T1SL703t
>>792
ユーザーにわからせようとはしてない。外国人は基本的に不親切だから、この説明でわからない方が悪いというスタンス。
0795NAME IS NULL
2018/05/10(木) 20:41:14.88ID:7P381X6c
自動拡張されたデータを削除してもファイルサイズが大きいままなのですがどうすればサイズを小さくできますか?
0796NAME IS NULL
2018/05/10(木) 20:48:55.39ID:???
まずバックアップします
0797NAME IS NULL
2018/05/12(土) 00:31:47.87ID:???
DBCC SHRINKFILE
0798NAME IS NULL
2018/05/12(土) 00:44:55.12ID:hux6qi0J
>>795ですがみなさん方法をご存知ないですか?
それとも削除した後からでは小さく出来ませんか?
0799NAME IS NULL
2018/05/12(土) 07:22:09.07ID:???
共同ツール 1
https://seleck.cc/685

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903

ttps://goodpatch.com/blog/sketch-plugins/
0800NAME IS NULL
2018/05/13(日) 00:56:54.94ID:S1zmRzPe
最新のManagement studioが64bit OSしか
サポートしてないんだが、いったいマイクロソフトはどういうつもりなんだろう?
Linuxのサポートよりよっぽど大事だろう?
0801NAME IS NULL
2018/05/13(日) 01:55:14.27ID:NO/7QD/0
>>800
それSQL Server本体とセットではないManagement Studioではないのか?
0802NAME IS NULL
2018/05/13(日) 02:43:17.16ID:???
>>800
それで何か困るの?
0803NAME IS NULL
2018/05/13(日) 08:22:29.07ID:???
>>800
> サポートしてないんだが、いったいマイクロソフトはどういうつもりなんだろう?
32bit OS でグダグダ言うクレーマーの相手はしませんと言う意思表示だろ
0804NAME IS NULL
2018/05/13(日) 10:17:13.68ID:aUXovNI8
今32bitOSって動いてる?
0805NAME IS NULL
2018/05/13(日) 10:31:18.97ID:???
>>804
会社で動いてるよ(Windows 7)
もうすぐ廃棄するけど
0806NAME IS NULL
2018/05/13(日) 13:04:14.54ID:aUXovNI8
>>805
win7にSQLを入れてDBサーバーとして使ってる訳じゃないでしょ?
0807NAME IS NULL
2018/05/13(日) 13:20:15.30ID:???
>>806
Visual Studio 入れてるから LocalDB 入ってるけど?
まあテスト用だけどね
0808NAME IS NULL
2018/05/25(金) 22:14:21.62ID:???
非力なマシンだと、SSMSが重くてつらい
0809NAME IS NULL
2018/05/25(金) 22:29:57.73ID:???
>>808
32bit切り捨てたしね
0810NAME IS NULL
2018/05/25(金) 23:21:04.44ID:???
立ち上がりきったらそう遅くねーけどな
立ち上げがVisualStudioより遅せーのはアホかと思うが
0811NAME IS NULL
2018/05/25(金) 23:24:30.32ID:TatbyLnb
たぶん若いやつだと思うが、起動に時間がかかるなら、それを考慮して起動中はべつのことをしてろよw
0812NAME IS NULL
2018/05/25(金) 23:53:50.76ID:Z93MyXqj
ほなシコっとってもええんか?シコるで?
0813NAME IS NULL
2018/05/26(土) 00:43:38.25ID:bRsNkwI2
>>808
起動もだが、実行中のプランを見るヤツとか、
重すぎてまともに動かない。
ロック状況見るヤツも無くなっちゃったし、
糞化がハンパない。
0814NAME IS NULL
2018/05/27(日) 14:40:12.20ID:???
個人でexpress以外使ってる人いる?
0815NAME IS NULL
2018/05/27(日) 15:48:44.54ID:Lqhm87aC
>>814
個人ってどーいう事?
そんな奴おらんだろ?
0816NAME IS NULL
2018/05/27(日) 16:07:16.20ID:8hLmukSL
>>815
まれにいるだろ。
0817NAME IS NULL
2018/05/27(日) 17:32:39.64ID:???
>>814
Developer Editionならいるんじゃね
0818NAME IS NULL
2018/05/27(日) 17:42:19.92ID:???
Win10Proで2017Developer使ってるよ
0819NAME IS NULL
2018/05/27(日) 17:57:50.42ID:???
ExpressやDeveloperとかの無償版がなきゃ泣く泣くStandard買う奴もいるんだろうけど個人ユースならExpressで充分って言う人がほとんどだろうしなぁ
0820NAME IS NULL
2018/05/29(火) 09:13:12.99ID:???
中小でも社内で完結させられるならExpressで十分だしな。同時接続の人数によるが。
サイズオーバーしてもDB分ければいいし。
0821NAME IS NULL
2018/05/29(火) 12:18:56.63ID:7/O8R114
企業でexpressはほぼほぼライセンス違反とちゃうんか?
知らんけど
0822NAME IS NULL
2018/05/29(火) 13:25:46.38ID:???
expressは商用おkやぞ
ダメなのはDeveloper
0823NAME IS NULL
2018/05/29(火) 16:56:50.03ID:???
クライアントOSでやるとそっちのライセンスに引っかかるけどな
0825NAME IS NULL
2018/05/29(火) 21:20:02.44ID:Ay/YE4Sk
>>823
おまえのせいでアホにアホって言われてもうたわ
どう責任とってくれんねん
0827NAME IS NULL
2018/06/16(土) 13:18:37.96ID:???
bcp って評価はどうなの?
0828NAME IS NULL
2018/06/16(土) 18:31:45.50ID:UP0xR2sD
>>827
未だにダブルクォートとかの囲み文字付きファイルや改行入りが処理できない駄目ツール
(SSISではできるのに)
パフォーマンスはそこそこ。
あなたの評価は?
0829NAME IS NULL
2018/06/16(土) 23:26:28.39ID:???
SQL Server PowerShellってどうなの?
0830NAME IS NULL
2018/06/17(日) 00:38:22.75ID:DF4YrmFv
>>828
SSISも勝手にやられてしまう仕様が多くて使いづらいけどな。
0831NAME IS NULL
2018/06/21(木) 09:34:01.43ID:???
セッションの確認の事で教えてください。

物理的に別々の2つのサーバにそれぞれSQL Sever 2005が入っています。
それぞれの現在のセッション数を調べたく、以下のSQL文を実行するアプリを作りました。

select hostname, count(*) from master..sysprocesses where hostname != '' group by hostname

一方のSQL Serverはうまくセッションを取得できたのですが、もう一方の方は自分のアプリ分のセッションしか見えてきません。
SQL Serverの方の設定とか関係してるのでしょうか?他の方法でもいいのですが、うまくセッションの状態を調べる方法があれば教えてください。

ちなみに接続文字列は以下でアクセスしています。
Data Source=xx;Initial Catalog=DvtReport;Persist Security Info=True;User ID=xx;Password=xx;Pooling=false;
0832NAME IS NULL
2018/06/21(木) 13:35:19.88ID:???
普通に考えて、そのログインの権限が違うんだろ
0833NAME IS NULL
2018/06/21(木) 14:04:47.96ID:???
>>832
ありがとうございました。見えました。
アホな質問ですみませんでした。
0834NAME IS NULL
2018/06/23(土) 15:02:34.02ID:???
一般的に接続の作成、開放はコストが高いと言うけど、この場合のコストって何?
クライアントから見た時間は当然として、サーバー側はどんなコストがかかるの?やっぱりその間の処理が重くなるとかあるのかな?
0835NAME IS NULL
2018/06/23(土) 15:16:13.35ID:tpSzsfc7
>>834
0836NAME IS NULL
2018/06/23(土) 17:02:33.78ID:???
コスト=負荷と思っとけ
接続口を作るのはOSとやり取りするからけっこう大変な処理
0837NAME IS NULL
2018/06/23(土) 21:08:58.69ID:???
>>834
サーバはリソース(CPUとメモリ)
クライアントは時間
0838NAME IS NULL
2018/06/23(土) 21:40:32.04ID:???
>>836 >>837
例えば常時だいたい100くらいセッションがプールされてるとして、新たに100のクライアントが増える場合、サーバーにとって100プールが増えるのと増加100分は毎回接続、開放してもらうのと、どっちがいいかな?
0839NAME IS NULL
2018/06/23(土) 22:29:07.38ID:???
そもそもサーバは接続プールとかしてるのかね
プールしてるならなおさら、クライアントは毎回解放してもらわんとプールが有効に使えないわけだが
0840NAME IS NULL
2018/06/23(土) 22:30:11.62ID:???
そもそもサーバは接続プールとかしてるのかね
プールしてるならなおさら、クライアントは毎回解放してもらわんとプールが有効に使えないわけだが
0841NAME IS NULL
2018/06/23(土) 22:46:40.47ID:???
>>838
プールはクライアント側の実装だからサーバにとっては単に長時間の接続でしかない
サーバが許容する上限を超えるまではプールしたほうが良いことが多いが、
限界をこえるようなら毎回接続開放するしかない
クライアントの数が多いとか、接続毎のクエリ発行頻度が低い場合は
プールせずにこまめに切断したほうが良いこともある
0842NAME IS NULL
2018/06/24(日) 10:15:42.74ID:???
SSMS の軽量版、簡易版を出してほしい。
DB管理者向け機能を省略し、一般ユーザ向けのバージョン。
0843NAME IS NULL
2018/06/24(日) 10:24:36.26ID:???
SSMS に一般ユーザーが使う機能なんてあるか?
0844NAME IS NULL
2018/06/24(日) 13:04:29.63ID:???
え?SSMSって一般ユーザがSQL投げて問合せするツールじゃないの?
0845NAME IS NULL
2018/06/24(日) 13:31:19.84ID:???
テーブル間にリレーション定義してあって着目セルがリンク対象だったとき
右クリとかでリンク先の該当テーブル表示、みたいなところまでやってもらいたいところだ
0846NAME IS NULL
2018/06/24(日) 13:51:04.78ID:???
リレーションシップなんて飾りです 偉い人にはそれがわからんのですよ
0847NAME IS NULL
2018/06/24(日) 13:54:29.71ID:???
SQL投げてる時点で一般ユーザーじゃねーだろ
0848NAME IS NULL
2018/06/24(日) 14:01:00.27ID:???
>>842
一般ユーザとは?
0849NAME IS NULL
2018/06/24(日) 17:14:17.60ID:???
SQL分からんようなやつに直接触らせるDBはねーよ
0850NAME IS NULL
2018/06/24(日) 17:16:02.63ID:???
おまえに食わせるSQLはねぇ!
0851NAME IS NULL
2018/06/24(日) 19:11:03.77ID:???
ssmsの悪い所は
オブジェクトエクスプローラがテーブルやプロシージャ含めて全てツリー表示している所だな
増えてくるとスクロールが大変。
それからテーブルやビューを見るとき次々タブが増えてどれ修正していたのかわからなくなる

SIオブジェクトプラザという有料のツールだとそこら変うまく出来てる
データベースをまたぐ依存関係もわかる
だけど高いのと時々固まるのでおすすめできない
0852NAME IS NULL
2018/06/24(日) 19:40:37.73ID:???
>>851
>次々タブが増えて

JaneStyleみたいにタブが横方向に表示しきれなくなるたびに縦方向に1段増やすようにして欲しいね
0853NAME IS NULL
2018/06/24(日) 23:23:46.74ID:???
昔はエンドユーザーがSQLを投げていた。あな恐ろしや
0854NAME IS NULL
2018/06/30(土) 10:49:48.52ID:???
bcp はデータのインポート、エクスポートが主目的。
sqlcmd は SSMS の簡易なCUI版アプリケーション。オラクルでいうところの sqlplus。

っていう位置づけでよろしいか。
0855NAME IS NULL
2018/07/01(日) 13:16:46.05ID:iOtlwpag
>>854
bcpはOracle Databaseで言えばSQL*Loaderにあたるもの。
0856NAME IS NULL
2018/07/04(水) 22:27:52.09ID:???
最近は、mssql-cli というのもあるね
0857NAME IS NULL
2018/07/08(日) 22:24:33.92ID:???
>>854
どっちも不便だからsqlps使うといいよ
0858NAME IS NULL
2018/07/11(水) 01:23:22.13ID:???
>>853
select権限だけなんだから好きにしろって話だろw
0859NAME IS NULL
2018/07/12(木) 12:54:12.43ID:/YTA8M6s
【上流きどり、都民″】 マ7トLーヤ『大洪水は都会人の弱者切捨ての結果、大地震は核爆発の結果』
http://rosie.5ch.net/test/read.cgi/liveplus/1531363082/l50


豪雨のどさくさにカジノ法案強行、火事場泥棒!
0860NAME IS NULL
2018/07/12(木) 21:34:55.74ID:RO0MxO/p
一日に数件のレコード(数百文字くらい)が新規に追加されるDBなのだが、
追加されたタイミングで自分宛てに通知メールを送ったり出来ますか?
メール本文には追加されたテキストデータが有れば尚良し。
0861NAME IS NULL
2018/07/13(金) 19:38:57.79ID:???
前のSQL Mail 今はデータベースメールって言うらしい でメール送信はできる

トリガー仕込んでやればできるんじゃね
0862NAME IS NULL
2018/07/14(土) 00:07:50.29ID:aYAJ4wRd
>>861
ありがとござんした。
0863NAME IS NULL
2018/07/20(金) 18:14:47.36ID:???
プロシージャでSELECTの結果を返してるんですが、INFORMATION_SCHEMAなどで、何個のSELECT結果を返してるかを、調べる方法はありませんか?
やっぱり、実行しないと厳しいですかね
0864NAME IS NULL
2018/07/21(土) 13:29:57.03ID:???
何個のSELECT結果ってどういうことだ
0865NAME IS NULL
2018/07/21(土) 14:37:14.53ID:???
プロシージャ内で
select * from table1
select * from table2
と書くと2つのSELECT結果が返ってくると思うんですが、いくつのSELECT結果が返ってくるかが知りたいです。
この場合、2つです。
ちなみに、.netを使ってます
0866NAME IS NULL
2018/07/21(土) 16:44:00.45ID:???
はっきりいって、それを知る意味がわからん。
0867NAME IS NULL
2018/07/21(土) 17:10:38.16ID:???
プロシジャってのが何を指してるかわからんが
そのSQLが静的なら、そのSQL見ればわかるし
動的に生成してるなら、動的に生成するロジックでわかるとおもうが
0868NAME IS NULL
2018/07/21(土) 17:17:54.97ID:???
複数 レコードセット
でググれ
0869NAME IS NULL
2018/07/21(土) 17:26:51.48ID:???
「俺が必要な機能が用意されてないのはおかしい」って思ってる奴が定期的に湧いてくる不思議
0870NAME IS NULL
2018/07/21(土) 18:39:30.83ID:OaX/dGdR
>>865
やってみればとりあえず分かるだろうに。
0871NAME IS NULL
2018/07/21(土) 19:12:18.09ID:???
Oracleだと、パラメータのRefcursorの数でわかるんですが、SqlServerでは分からないんですね
0872NAME IS NULL
2018/07/21(土) 19:35:43.12ID:???
>>871
パラメタで返すならパラメタ見れば同じようにわかるけど?

結果セットで複数返したときならクライアント側ライブラリの話だが
ADO.NETのスレってなかったっけ?
ざっと見た感じではNextResultで自分で数えないとダメっぽいなぁ
0873NAME IS NULL
2018/07/21(土) 20:42:46.11ID:???
>>872
SqlServerにはCursorの引数ないから、実際に実行するしかなさそうですね
ありがとうございました。
0874NAME IS NULL
2018/07/22(日) 00:56:34.48ID:???
いやSQL Sevrerでもカーソル引数にできたはずだが、と思って調べたが
できるけど、T-SQLからしか呼べないのか

つか引数で指定するってことは、ストアド作成時に数は決まってるわけだが
0875NAME IS NULL
2018/07/22(日) 01:03:32.64ID:???
いやSQL Sevrerでもカーソル引数にできたはずだが、と思って調べたが
できるけど、T-SQLからしか呼べないのか

つか引数で指定するってことは、ストアド作成時に数は決まってるわけだが
0876NAME IS NULL
2018/07/25(水) 10:18:39.05ID:dCc9syc1
OS:Windows server 2008R2
DB:SQL server 2008R2

で動くアプリケーションソフトがあります。

これを、以下の環境にDBを移行しました。

OS:Windows server 2012R2
DB:SQL server 2016

CPU、メモリ数、HDDなどハードウェアの条件は全く同一なのに、
アプリケーションからのデータの閲覧、検索、修正、上書き
などの動きが見違えるほど速くなりました。

SQL server のバージョンが新しくなった効果でしょうか?
0877NAME IS NULL
2018/07/25(水) 10:41:42.64ID:???
HDD同じって、同じ規格で同じスピードのまったく同一の型番のディスクだよな

逆に今のスピードが本来の性能で、古いほうが遅くなってたと考える方が妥当じゃね
0878NAME IS NULL
2018/07/25(水) 10:41:43.13ID:???
そうです
0879NAME IS NULL
2018/07/25(水) 10:58:23.73ID:dCc9syc1
>>877
ハードディスクは全く同じ型番です

現行システムが動いているサーバと全く同じ機種(スペック)のサーバが
存在していて、今回移行テストに使用しています
ハードウェアの条件が同じで、動きがこんなにも違うので、SQL serverが
劇的に改善されているのかなと思いまして
0880NAME IS NULL
2018/07/25(水) 19:53:09.80ID:???
移行元と先のデータ件数は同じなの?
件数が同等であれば、
物理ファイルの断片化の解消
インデックスおよび統計の更新
等が考えられる。
0881NAME IS NULL
2018/07/25(水) 20:04:51.15ID:???
どうせインデックスがぐちゃぐちゃになっていたという落ちだろ
インデックスの再構成とかしていたのかだな
0882NAME IS NULL
2018/07/25(水) 22:13:41.70ID:dCc9syc1
>>880
データ件数は全く同じです
SQL server 2008R2のデータベース完全バックアップを取って、
SQL server 2016に復元し、アプリケーションの接続先データベースを
2016にしただけで動きが速くなりました

>>881
インデックスの再構成、再構築はメンテナンスプランで毎日実行して
いましたが、統計の更新は毎日行う必要ないと開発部から聞いていたので
月1回程度行ってました
0883NAME IS NULL
2018/07/25(水) 23:43:20.55ID:???
2008と2016だと、エディション同じならそう大きな速度差は出ない気がするけどなぁ
そもそものデータファイルがフラグメントしてたとかじゃないのか
ま、早くなったんならよかったんじゃね
0884NAME IS NULL
2018/07/26(木) 06:15:55.29ID:???
>>882
2008R2のデータベース完全バックアップを、
2008R2にそのまま復元すれば早くなる可能性大だな
0885NAME IS NULL
2018/07/26(木) 11:24:28.64ID:???
クエリプランが変わったから速くなったと仮定すると、基数推定のバージョンが変わったことによる可能性もある
検証する余裕があるなら2016のほうにトレースフラグ9481セットして再起動して、旧バージョンで動かしてみるのもありかと
0886NAME IS NULL
2018/07/26(木) 12:26:11.40ID:???
2008R2ではメモリー制限設定してたのに2016ではディフォルトで使ってるとか
まあ2008R2で調査する気ないんなら
ラッキー、持ってる俺は違うな
とでも思ってりゃいい
0887NAME IS NULL
2018/07/26(木) 12:48:46.96ID:???
あるいはmaxdop指定してるとかね
テスト用だとその辺デフォルトでやっちゃいかねないからな
で、いざ本番用にとちゃんと設定したらテストの時のパフォがでないっていう
0888NAME IS NULL
2018/07/26(木) 12:53:31.13ID:???
maxdopで思い出したけど2016ってたしかデフォルト0じゃなくてインストール時にインストーラが設定するんだっけ
あとtempdbも数指定できたよな
0889NAME IS NULL
2018/07/27(金) 00:55:38.36ID:???
以下のFunctionを作成し
create function dbo.fncA
returns varchar2
as
begin
return 'asdf'
end

以下のsqlで呼ぶと、結果がaとしか返って来ないんですが、asdfと返すにはどうしたら良いでしょうか?
select dbo.fncA()
0890NAME IS NULL
2018/07/27(金) 04:23:27.78ID:???
SQL Serverにvarchar2なんてないだろ
自分でvarchar (1)とかで定義してるんじゃないのか
0891NAME IS NULL
2018/07/27(金) 07:33:42.56ID:???
>>889
戻り値に桁数していしないからじゃないかな
0892NAME IS NULL
2018/07/27(金) 08:27:59.57ID:???
俺も桁数しなきゃ
0893NAME IS NULL
2018/07/27(金) 15:53:18.16ID:???
SELECT
M.ID
,(SELECT A FROM テーブル値関数(M.ID, M.DATE)) AS A
,(SELECT B FROM テーブル値関数(M.ID, M.DATE)) AS B
,(略)
FROM M
WHERE (略)

こういう風にテーブル値関数を使うと、テーブルM・1行当たり 2回 動いてしまうと思います。
構造体かTUPLE型か、そういう風な概念を使って、効率的に動かす手段はないでしょうか?
0894NAME IS NULL
2018/07/27(金) 19:43:37.80ID:???
その関数が何してるかしらんが、それテーブル値関数の必要ないんじゃね
関数が2行以上返したら実行時エラー吐くんじゃね

実行時の効率もとめるなら関数じゃなくてビューにしてJOINしろよ
テーブル値関数とでもJOINはできるはずだけどな
0895NAME IS NULL
2018/07/28(土) 13:20:30.52ID:tm98Iqt0
>>882
そもそもあんたは設定が同じかどうかも確認せずに比較している。

あなたのいう同じは同じではないと思うよ。
0896NAME IS NULL
2018/08/01(水) 21:41:38.16ID:???
質問なのですが、SQLでファイルの存在まで確認するのは不可能でしょうか?

例えば

SELECT *
FROM T_Anken
WHERE AnkenID = '00123'
AND FileExist('C:\AnkenFile\00123.txt')

みたいなことをしたいんですが、難しいですかね?
0897NAME IS NULL
2018/08/01(水) 23:25:10.35ID:???
xp_fileexist
0898NAME IS NULL
2018/08/02(木) 20:55:49.33ID:???
データベースのバックアップを定期的に取りたい、っていう場合、
.mdf ファイルだけバックアップしておけばOK?
SSMSの機能は使わず、ファイルのバックアップという意味で。

あと、巨大な .ldf ファイルがあるんだけど、これ削除してよい?
0899NAME IS NULL
2018/08/02(木) 22:02:05.14ID:mcP8wWdh
>>898
mdfとldfはセットだ
復旧モデル
BACKUP DATABASE
DBCC SHRINKFILE
とかで検索
0900NAME IS NULL
2018/08/03(金) 00:13:09.11ID:???
復旧モデル単純にすることからだな
そんな質問するとこからしてトランザクションログから復旧する要件なんてなかろう
0901NAME IS NULL
2018/08/03(金) 14:34:29.02ID:???
>>899 サンクス。ldf が2GBあるんだよ、これ消したい。

>>900 そうそう。localDB で自分のPC内で遊びでやってるだけ。
でもPCや 保存先のSSD がダメになった時のことを考えて定期的に外部にバックアップ取りたいのよ。
0902NAME IS NULL
2018/08/03(金) 14:36:16.45ID:???
ログが肥大すんのは復旧モデルが「完全」だからだ「単純」に変えろ
0903NAME IS NULL
2018/08/03(金) 15:46:02.26ID:???
mdfだけでも保証はされないけど一応復旧できるんだっけ?
サービス停止するかデタッチしないとコピーできんかったと思うし、バックアップとるにもDB複製ふるにも普通にバックアップするほうがお手軽だから忘れちゃった
0904NAME IS NULL
2018/08/03(金) 21:40:23.92ID:???
>>903
> サービス停止するかデタッチしないとコピーできんかったと思うし
コピーはできるけど役に立たないデータがコピーされるだけ
0905NAME IS NULL
2018/08/04(土) 03:34:48.90ID:???
「単純」にして毎日夜間バックアップの一週間ローテ(5世代)とかでやってる企業も多いね。
0906NAME IS NULL
2018/08/04(土) 03:53:35.36ID:???
圧縮あるしサイズ小さけりゃ差分とか考えなくていいからな
うちはたまにテストや確認で○時のときのDBを検証環境に作ってって要望がくるから完全にしてる
0907NAME IS NULL
2018/08/04(土) 09:49:44.89ID:???
結論としては、

・エクスプローラ上からのファイルコピー等でのDBバックアップは不可
 (ファイルコピーはできるがDBとして復元できない)

でよいの?
0908NAME IS NULL
2018/08/04(土) 13:14:32.38ID:???
ファイルロックされててコピーも出来ないんじゃ
0909NAME IS NULL
2018/08/04(土) 13:42:01.94ID:???
>>907
デタッチすればファイルコピー出来るし、コピーしたものを他のSQL Server入ったPCで復元(アタッチ)することも出来る
0910NAME IS NULL
2018/08/04(土) 20:08:07.47ID:???
VSS使ってMDF,LDF取得はよくしている
0911NAME IS NULL
2018/08/05(日) 22:49:40.30ID:???
>>907
DB停止状態(コールドバックアップ)なら可能
0912NAME IS NULL
2018/08/07(火) 20:01:05.52ID:L4EDfhvX
リレーショナルデータベースがそんな単純なものだと思っているやつは、Windowsもファイルのコピーで別のハードディスクに移せると思っているんだろうな。
0913NAME IS NULL
2018/08/07(火) 20:12:13.66ID:???
パーソナルユースの場合は単純な方が利点が多い
0914NAME IS NULL
2018/08/07(火) 23:40:21.32ID:???
MSのAccessとか、あと開発とかしたことないけどSQLiteとか、お手軽に使えるのもあるからねえ
そういうのしか知らないとぴんとこないかもな
0915NAME IS NULL
2018/08/07(火) 23:42:51.55ID:???
>>912
SQLiteやH2知らないの?
0916NAME IS NULL
2018/08/08(水) 00:39:43.49ID:???
データベースじゃなくてDBMSって言ってほしいがな
0917NAME IS NULL
2018/08/08(水) 06:18:27.55ID:???
>>914
SQL-Serverだってmdf, ldfをコピーするだけなら大して変わらん
MS-AccessとかSQLiteだって稼働中にコピーしたらガラクタになるのも同じ
0918NAME IS NULL
2018/08/08(水) 06:20:49.10ID:???
>>916
DBMSはどっちかって言うとSQL-Server本体の方
今の話はデータファイルの方だからDBMSはちょっとピントずれてる
0919NAME IS NULL
2018/08/09(木) 10:14:10.09ID:jylyPhQF
>>893
クロスアプライしろ
0920NAME IS NULL
2018/08/11(土) 17:50:53.85ID:hw5PU5RO
>>915
SQLiteとSQL ServerやOracle Databaseを比べるのはおかしい。

自転車とリニアモーターカーが同じだと言っているようなもの。
0921NAME IS NULL
2018/08/11(土) 18:28:42.16ID:???
>>920
>>912が「リレーショナルデータベース」と言っていることに対するツッコミやろアホか
0922NAME IS NULL
2018/08/12(日) 01:17:15.53ID:444bh0X0
>>921
RDBMSとリレーショナルデータベースをわざわざ言い分けるのはよほどの専門家同士の話で、同義ととらえるか、むしろRDBMSでは一般人には意味が伝わらないから避ける。
0923NAME IS NULL
2018/08/12(日) 07:07:04.18ID:HjxXSimm
用語の意味で紛糾する初心者スレ微笑ましいなw
0924NAME IS NULL
2018/08/12(日) 08:53:10.07ID:???
>>922
日本語が通じてないwww
0925NAME IS NULL
2018/08/12(日) 18:42:27.62ID:cfFh3cqu
リレーショナルデータベースにかわりがない。リレーショナルデータベースの定義を知らないのか?
0926NAME IS NULL
2018/08/12(日) 18:43:58.55ID:cfFh3cqu
関係データベースと言わないと調べてもわからないかな?
0927NAME IS NULL
2018/08/12(日) 18:56:05.94ID:???
なんかまたマウント取りに必死な奴が来たな
0928NAME IS NULL
2018/08/12(日) 19:03:57.12ID:???
厳密な定義の話は難しいが、データベースファイルをコピーする話ならDBMSのほうが適切じゃないのか?
なんで稼働中にコピーしたらダメなんって問われたらリレーショナルデータベースの「管理」の話になってくるでしょ
0929NAME IS NULL
2018/08/12(日) 19:46:20.07ID:???
DBMSに限らず内容を書き換えてるファイルをコピーしたら一貫性が保てないのは常識
0930NAME IS NULL
2018/08/12(日) 21:58:36.58ID:???
それはそうなんだけど、それ言い出したらファイルコピーという一点において、>>912の「リレーショナルデータベースがそんな単純なもの〜」という発言が単純なテキストファイルとどう違うのってことになる
いや、データ更新時のデータ保証まで考えるなら君の言ってることは正しいし、そう言いたいならそれでいいけど
0931NAME IS NULL
2018/08/12(日) 22:02:25.40ID:???
>>912がおかしいって言いたいだけ
DBMSって言っても単なるアプリケーションソフトウェアだし
0932NAME IS NULL
2018/08/12(日) 22:26:30.52ID:???
それなら納得
0933NAME IS NULL
2018/08/12(日) 22:44:09.95ID:???
いま話になってるのはその1アプリケーションのデータファイルの話
それをリレーショナルデータベースの話と言うのはあきらかな間違い
0934NAME IS NULL
2018/08/12(日) 22:57:18.60ID:cfFh3cqu
>>931
あなたが思っている製品はそんなものだから、そう思っているんでしょう?

Oracle Databaseをよく知っているなら、あなたのような発言はできない。
0935NAME IS NULL
2018/08/12(日) 22:58:57.47ID:cfFh3cqu
>>930
実際にMySQLはデータファイルがただのファイルだぞ。

Oracle Databaseだったらよほどの知識がないと触ってもいけないどころか、ASM構成だったら触れもしない。
0936NAME IS NULL
2018/08/12(日) 23:01:10.13ID:cfFh3cqu
>>933
誰がそんなことを書いたのか?どこにも見当たらない。SQLiteにデータベース管理システムがないと言い張ったやつがいただけ。

データベース管理システムのない有名な製品なんて俺はオタクではないので知らない。
0937NAME IS NULL
2018/08/12(日) 23:09:42.28ID:cfFh3cqu
かたくななまでに自分の非を認めない人というのがいます。何か責任を問われることが起こっても、誰か人のせいにしたり環境のせいにしたりします。

自分に非があることを素直に認められないのはどうしてなのか、その心理にはこんなことが隠されているようです。

https://tabi-labo.com/213871/not-apologize-ppl
0938NAME IS NULL
2018/08/12(日) 23:13:57.67ID:???
データファイルコピーの話に対して、
リレーショナルデータベースがそんな単純なものだと思っているやつは云々言ってたやつがいたと思ったんだが
0939NAME IS NULL
2018/08/12(日) 23:15:56.53ID:???
>>934
ん?
普通のサーバーで稼働してるOracleなら単なるアプリケーションだし、稼働中に単にコピーしたら整合性は取れんよ
逆に止まってる状態ならデータファイルコピーで普通にバックアップは取れる
オラクル 物理バックアップ
とかでググってみ
0940NAME IS NULL
2018/08/12(日) 23:24:16.55ID:???
>>934>>935
Oracleといってる時点でRDBというよりRDBMSの話だろ、自分でいってて気づかないのか?
0941NAME IS NULL
2018/08/12(日) 23:28:14.09ID:???
>>920
的外れもいいところwww
0942NAME IS NULL
2018/08/12(日) 23:40:07.12ID:cfFh3cqu
>>940
RDBでRDBMSがないものを挙げてください。きっと答えられませんよね?
0943NAME IS NULL
2018/08/12(日) 23:42:37.32ID:???
>>942
知らない。なにが該当するの?
0944NAME IS NULL
2018/08/12(日) 23:43:52.06ID:cfFh3cqu
>>939
Oracle Databaseはシャットダウンしていたとしても、そのままデータファイルのコピーだけでは済みません。

無知にもほどがあるでしょうに。

だいたいRDBMSをただのアプリケーションだと言い放つのは、よほどの素人でしょうが。
0945NAME IS NULL
2018/08/12(日) 23:47:08.31ID:cfFh3cqu
リレーショナルデータベースとリレーショナルデータベース管理システムが別個というしつこい主張は何がしたいのか?

SQL Serverの場合、別にインストールするManagement Studioならこういう誤解は理解できる。

しかしManagement Studioはただの管理ツールであって、データベース管理システムそのものではない。
0946NAME IS NULL
2018/08/12(日) 23:50:36.87ID:???
>>945
あたり前だろうが馬鹿かお前は
いうにことかいてManagement Studio出してくるとは思わんかったわ
いいからRDBMSがないRDBあげて
0947NAME IS NULL
2018/08/12(日) 23:54:03.34ID:???
つまりRDBとRDBMSの区別のつかない人が暴れてるだけか
0948NAME IS NULL
2018/08/12(日) 23:57:18.90ID:???
もう一回書くけど、まさかこの話の流れでManagement Studio出てくるとはなあ
ここ数年で仕事に関する話で一番度肝抜かれたかもしれん、完敗だわもう
0949NAME IS NULL
2018/08/13(月) 00:25:35.14ID:???
>>945
機会があるなら、一度サーバーとストレージ全部ぶっ壊れたと想定して外部ディスクやテープにしかないバックアップから全部戻すなんてことやってみればいい
そういうのしてると、勝手さえわかれば所詮そんなものって気付く
0950NAME IS NULL
2018/08/13(月) 02:28:20.30ID:???
>>944
> Oracle Databaseはシャットダウンしていたとしても、そのままデータファイルのコピーだけでは済みません。
わざわざキーワード書いてあるんだからちゃんとググれよ
http://www.atmarkit.co.jp/ait/spv/0606/30/news130.html

> だいたいRDBMSをただのアプリケーションだと言い放つのは、よほどの素人でしょうが。
よくわかってない人はなぜかコンパイラとかDBMSとかを特別なものとして扱いたがる w
Oracleのインストールとかしたことないでしょ?
単に使うだけならOfficeのインストールとたいして変わらんよ
まあAMSとかRACとか言い出したら設定は死ぬほど面倒だけどな
0951NAME IS NULL
2018/08/13(月) 08:48:35.11ID:???
>>937
自己紹介w


毎回、レベルの低いところでマウント取ろうとするから、周りと会話が噛み合わなくなることに早く気づきなよ
0952NAME IS NULL
2018/08/13(月) 15:01:06.64ID:???
RDBMSだからファイルコピーが出来ねえとかガイジか
稼働中はファイルが閉じられとらんのだから出来るわけねえだろアホウが
0953NAME IS NULL
2018/08/13(月) 17:22:13.38ID:???
>>952
お前はファイル共有モードについて勉強してから出直せ
レベル低すぎる
0954NAME IS NULL
2018/08/13(月) 17:35:23.75ID:???
リレーショナルデーターベースって
所定の構造のデーターの集合を保持していて、所定の方法で、データーが保存、変更、削除、参照ができるもので良い?
例えば、所定の構造のデータを保持する、Excel bookと保存、変更、削除、参照の手順書とか
0955NAME IS NULL
2018/08/13(月) 18:10:00.94ID:???
データベースそのものには変更方法等の規定はないし
その特定の構造がリレーショナル形式でなければ「リレーショナル」データベースとは呼べんな
0956NAME IS NULL
2018/08/13(月) 18:23:34.43ID:???
考えたこともなかったけど、SQL Serverのデータファイルでファイル共有モードとかできるの?
あと思ったけどReadOnlyにしたらコピーできるんかね、やってみるか
0957NAME IS NULL
2018/08/13(月) 18:32:01.56ID:???
>>953
おめーはファイルバッファについて勉強しろハゲ
ただでさえDBはログキャッシュ持ってるんだ
書き出されてないデータなんぞごまんとあるわハゲ
0958NAME IS NULL
2018/08/13(月) 18:39:55.80ID:???
>955
Excel表でその様なリレーショナルな構造を作れば、要件を満たしているのですね?
0959NAME IS NULL
2018/08/13(月) 18:58:12.01ID:???
>>957
コピーできない話はもういいのか? w
バッファーとかキャッシュの話はまた別の話な
0960NAME IS NULL
2018/08/13(月) 19:07:33.70ID:???
>>959
で? 不完全なファイルコピーできてそれが何だってんだ?
ちったあ頭使えハゲ
0961NAME IS NULL
2018/08/13(月) 19:14:01.72ID:???
元はなんだっけ?
SSMS使わずにファイルコピーでバックアップしたい→稼動中は無理
って話だっけ?
0962NAME IS NULL
2018/08/13(月) 19:18:56.52ID:???
>>960
そんなもんはとっくに書かれてる → >>904
周回遅れすぎだろ w
0963NAME IS NULL
2018/08/13(月) 19:21:23.49ID:???
>>961
そう → >>898
>>912 がバカ晒してグダグダになってるだけ
0964NAME IS NULL
2018/08/13(月) 19:48:31.25ID:???
俺はRDBMSがないRDBが知りたい
0965NAME IS NULL
2018/08/13(月) 20:33:16.64ID:???
>>964
まあSQLiteみたいなインプロセスな奴だとデータベース管理システムって言うのはちょっと違和感あるかな
0966NAME IS NULL
2018/08/14(火) 14:42:25.12ID:???
RDBMSが備えるべき最低限の機能はって話を決めんとな
コンピュータ上で何らかのプログラム使ってリレーショナルなデータ扱ったとき
そのプログラムは全部RDBMSだろって話になるから

まあ、スレ違いだな
別スレ立ててやってくれ
0967NAME IS NULL
2018/08/14(火) 18:33:08.30ID:???
スレ違いではあるんだが、2年たっても消化できないスレが勢い上位の版でスレたててもなあ
0968NAME IS NULL
2018/08/14(火) 19:40:31.24ID:pybELLFA
Windows Server 2012上で動いているsql serverのテーブルを同じ
Windows Server 2012上で動いているMySQLのテーブルに毎日一回
コピーしたいんですが、一般的なやり方を教えて下さい。
sql serverで何かそう言うジョブを設定するなど可能でしょか?
0969NAME IS NULL
2018/08/14(火) 21:38:01.56ID:???
外部アプリ組んだほうが早くね?
0970NAME IS NULL
2018/08/14(火) 21:57:27.96ID:???
>968
可能
0971NAME IS NULL
2018/08/14(火) 22:05:49.13ID:pybELLFA
>>969
例えばどんなアプリ?
>>970
どんなジョブを書けば良いの?
0972NAME IS NULL
2018/08/14(火) 22:58:48.02ID:f02vD5Is
おまいさんのレベルがわからんからまず自分で考えた方法を書こうぜ
0973NAME IS NULL
2018/08/14(火) 23:02:56.26ID:???
泥臭いがSQLServerからレコード取ってきてMySQLにインサートするアプリってこと
独自列使ってないならダンプでもいけるかもしれん
0974NAME IS NULL
2018/08/14(火) 23:32:49.39ID:???
SQLServerでファイルに吐き出してMySQLで取り込む
昔から使われてて少なくとも一般的なのは確実
同じサーバ上にたててるくらいだからデータ量なんてたかが知れてるだろうし、レコードで処理するよりファイルでやればすぐ終わって差分とか気にする必要もないだろう
0975NAME IS NULL
2018/08/14(火) 23:41:47.39ID:???
MySQLへDBリンク張れないか
0976NAME IS NULL
2018/08/14(火) 23:56:56.71ID:???
MySQL用のプロバイダあるね
これでいけるんじゃないの
0977NAME IS NULL
2018/08/14(火) 23:58:25.98ID:???
>>971
アプリと言うか
MySQLへリンクサーバー設定して
drop table MySQLTable
select ... into MySQLTable …
みたいなSQLを発行するコード書いてタスクスケジューラとかで定期的に起動すればいいかと
0978NAME IS NULL
2018/08/15(水) 06:54:18.99ID:+ZQR96PU
>>977
試してみます。
皆さんありがとうございました。
0979NAME IS NULL
2018/08/15(水) 14:30:53.82ID:???
アプリ作るならSSIS使えばいいんじゃね?
0980NAME IS NULL
2018/08/16(木) 16:36:17.93ID:???
プロシージャの引数で型のサイズを省略したいのですが、何かいい方法はありませんでしょうか?
テーブルの列のサイズとプロシージャの引数のサイズの同期を取るのが煩雑で…
Oracleみたいなテーブルの型を参照出来れば一番いいんですけどね。
0981NAME IS NULL
2018/08/16(木) 17:42:16.07ID:tStV8vZM
>>980
Trunsaction-SQLはかなり古い言語使用なので無理に何かするようになるなら、普通にパラメータとして受けとった方がいい。

TYPEデータベースオブジェクトを作成して、それデータ型をプロシージャに渡せばできるかも知れないが、私はやったことがないので、わからない。
0982NAME IS NULL
2018/08/16(木) 20:24:01.85ID:???
>>980
昔関わってたシステムは列名ごとにユーザー定義データ型を作ってた
ユーザー定義データ型を作る手間はかかるが、コード書くときに列名だけしっとけば桁長意識しなくていい(桁間違いのバグ防ぐため)から
0983NAME IS NULL
2018/08/17(金) 10:12:51.17ID:???
>>981
>>982
ありがとうございます
やっぱり、そういう仕組みは存在しないんですね
全部の引数のサイズに最大の文字数を指定しちゃうのはどうなんでしょうか?
0984NAME IS NULL
2018/08/17(金) 19:24:07.68ID:MmEfgYU6
>>983
文字型ならmaxで良いが、小数点ありの数値型だと最大って何?ってなるな
0985NAME IS NULL
2018/08/17(金) 21:51:14.57ID:???
>>984
numericは省略可みたいでした
0986NAME IS NULL
2018/08/17(金) 22:35:56.42ID:MmEfgYU6
>>985
numericで桁数省略すると小数以下が0になるけどいいの?
0987NAME IS NULL
2018/08/17(金) 22:36:41.66ID:???
省略したら規定の桁数になるだけで、そんなことを言ったらvarcharだって省略可能だぜ
0988NAME IS NULL
2018/08/17(金) 23:36:49.22ID:???
>>986
え?そうなんですか!
それはまずいです…
どうしよ…
0989NAME IS NULL
2018/08/18(土) 09:58:35.71ID:U2DosSCL
>>984
文字列型のmaxはLOB型になってしまうのでまったくおすすめできない。
0990NAME IS NULL
2018/08/18(土) 12:30:01.99ID:???
最適解はないんですか?
0992NAME IS NULL
2018/08/18(土) 22:55:52.30ID:e9X2ExZT
>>989
LOB型なんてsqlserver には無いんだけど・・
0993NAME IS NULL
2018/08/19(日) 19:29:10.06ID:???
>>992
LOB=Large OBject
ラージオブジェクト データ型でぐぐりなされ
0994NAME IS NULL
2018/08/19(日) 19:44:51.72ID:???
>>993
ググった結果出してみそ
0995NAME IS NULL
2018/08/19(日) 20:49:48.71ID:???
貼ろうとしたらエラーくらったのよ
前もあったけどシステム的な単語いれると弾かれる
てかぐぐったらJDBCとかが上にヒットするなすまん
データ型のところ見てたら出てくるよ
ただ、ストアドの引数に使って何のデメリットがあるのかは知らん、LOB型がないってあったから書いただけ
0996NAME IS NULL
2018/08/19(日) 20:51:04.65ID:???
次スレたてるよー
0998NAME IS NULL
2018/08/19(日) 21:16:50.59ID:???
>>995
それSQL-Serverの型ちゃうで
1000NAME IS NULL
2018/08/19(日) 21:18:10.36ID:???
>>993
お前は何を言ってるんだ?
10011001
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 812日 4時間 28分 2秒
10021002
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況