X



トップページDB@2ch掲示板
1002コメント327KB
Microsoft SQL Server 総合スレ 11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2016/05/29(日) 16:50:08.13ID:dqKJQypQ
Microsoft SQL Server (Transact-SQL) の総合スレッドです。

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

過去スレとかめんどいから誰か適当に貼って
0314NAME IS NULL
垢版 |
2017/04/05(水) 21:15:40.39ID:???
>>311
だから関係ないレスでアンカつけんのやめてもらえんかな
俺までバカに見えるやろが
0315NAME IS NULL
垢版 |
2017/04/05(水) 21:58:10.55ID:???
>>313
SQLSeverと親和性高いC#がEF推しているのを見ると不要論が優勢でも不思議じゃないな
0317NAME IS NULL
垢版 |
2017/04/06(木) 10:50:33.00ID:???
>>313,315
ORMやEFが広まれば、よりストアドプロシージャ・ファンクションの需要が高まる気がするが。
ドメインロジックはサーバ側で実装し、クライアントはそれを使用するだけというスタイル。
0318NAME IS NULL
垢版 |
2017/04/06(木) 13:19:00.97ID:???
そんな思想があったらRailsなんぞ流行らんわ
何処の時空の話だよ
0319NAME IS NULL
垢版 |
2017/04/06(木) 13:59:58.76ID:???
>>318
まぁ、RailsだろうがEFだろうが、データをどかっと取ってきて、クライアントコードで
ごりごりドメインロジックを実装するような層には関係ない話かな。
0320NAME IS NULL
垢版 |
2017/04/06(木) 14:11:49.32ID:???
そんな話じゃねえよ
EFが何しにPOCOなんての売りにしてたかって話だ
0321NAME IS NULL
垢版 |
2017/04/06(木) 15:42:00.99ID:???
>>320
つまりは、
> データをどかっと取ってきて、クライアントコードで
> ごりごりドメインロジックを実装する
ということだろ?
POCOメインのプログラマには関係ない話だよ。

そんな話じゃないなら、どんな話なんだ?
0322NAME IS NULL
垢版 |
2017/04/06(木) 15:53:14.04ID:???
DB側でスキーマ書いて処理も書いてってのが古い思想という話をしている
開発スピードが無闇に上がってスキーマ変更朝令暮改でって今時はな
0323NAME IS NULL
垢版 |
2017/04/06(木) 15:58:59.46ID:???
>>322
> DB側でスキーマ書いて処理も書いてってのが古い思想という話をしている
なるほどね。
でも、ドメインロジックをデータベース側に寄せるか、クライアント側に寄せるかという問題は、
今でも存在する。ふるいも新しいもないと思うが。

> 開発スピードが無闇に上がってスキーマ変更朝令暮改でって今時はな
それこそ、データベース側にドメインロジックの実装を寄せた方がいいのでは?
0324NAME IS NULL
垢版 |
2017/04/06(木) 16:05:36.81ID:???
例えば、2003年のMartin Fowlerのブログポスト:
『ドメインロジックとSQL』
http://bliki-ja.github.io/DomainLogicAndSQL/

ここに書かれていることは、全然古いとは思わない。
逆に、自動生成されるコードをメインに使うようになる場合は、ドメインロジックを
ストアドファンクションで実装してViewにした方がいい場合も結構あると思うんだが。
0325NAME IS NULL
垢版 |
2017/04/06(木) 16:19:28.98ID:???
昔々のウォーターフォールで上流で設計決まる時代ならそれもよかろうさ
だが今はデータ構造から卓袱台返される
その時アプリとDB両方に手ぇ入れるのと
アプリだけで済むのとどっちが早いか?
自明だろ
0326NAME IS NULL
垢版 |
2017/04/06(木) 18:53:09.88ID:???
DB側でごりごり書いたストアドって、InMemoryでUnitTestできるのかい?
0327NAME IS NULL
垢版 |
2017/04/06(木) 20:44:49.38ID:???
Web系とかで高速開発/デプロイな現場なら
コードファーストも面白いし効率あがりそうと思うけど
DevOpsの時代っても考えなしに書くでなし
結局はV字開発なんだからDB側でスキーマ決めるくらい
やれば?みたいな思いはあるな古い考えなんだろうけど

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

SSRS/PowerBIとかDataSpiderだの触るととくにそう
ストアド書いてぽちぽちするだけでけっこう
運用に耐えるもんできるし変更追従も保守も楽だしな
基幹から社内向けWebで集計帳票や明細表な要件なら
SQL以外のコーディング自体がそもそもバカバカしい
0328NAME IS NULL
垢版 |
2017/04/08(土) 22:23:48.60ID:???
>>327
純粋なコードファーストはある程度以上の規模だと使い物にならんと思ってた
スキーマはDB側でかっちり決めんと話にならんだろうと

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

ストアドにいろんなものを閉じ込めるのは、手法の新旧で言えばそれこそ古い手法だと思う
ストアドの保守はアプリの保守よりコストが高いのが現状じゃないかと思う
ストアドの保守がアプリの保守より低コストだって言う所ならそれを採用するのもありなんだろうけど
0330NAME IS NULL
垢版 |
2017/04/09(日) 18:40:23.01ID:???
with(nolock)をselect文全てに付けるとヤヴァイ?
ググったらコミット前のデータが返ってくるとか
ページ分割が起こった場合行の重複や欠落が発生するとか書いてあるけど
今仕事で触ってる既存のselect文のコード全部そうなってる
0331NAME IS NULL
垢版 |
2017/04/09(日) 19:22:13.71ID:???
ヤバイかどうかは業務内容による
0332NAME IS NULL
垢版 |
2017/04/10(月) 14:48:01.02ID:???
>>329
質問の真意が図りかねるが
>ストアドにいろんなものを閉じ込める
の事であるなら、たとえば
ビジネスロジックをストアドとして実装することや
DBアクセスの結果をストアドの帰りとすることでスキーマ変更をアプリに意識させないこと
などの手法を指してる

純粋にストアドの意味が分からないなら
DBに格納できる一連の手続きかな
0333NAME IS NULL
垢版 |
2017/04/10(月) 15:17:23.17ID:???
>>330
常に1スレッドからしか触られない前提なら別にヤバくない
0334NAME IS NULL
垢版 |
2017/04/10(月) 22:02:15.03ID:mMYNtWws
ストアドってPGのたしなみとして
できて当たり前だと思うけど
今の新人は>>329みたいなのが
多いのか。
0335NAME IS NULL
垢版 |
2017/04/11(火) 07:27:15.05ID:???
>>333
誰も同時に触らないならnolock必要なくね?
何のために入れたのやら

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

同時に一人(1スレッド?)しか触らないなら
2つのロックが対立することは無いんだから
0336NAME IS NULL
垢版 |
2017/04/11(火) 13:39:32.49ID:???
>>335
nolock指定すれば雀の涙ほど速くなる
それ以外の理由? 知らんそんなものは管轄外だ
0337NAME IS NULL
垢版 |
2017/04/11(火) 19:12:06.12ID:???
Hyperーvのレプリカサーバーに入っているSQLSERVERもライセンスって必要ですか?
0338NAME IS NULL
垢版 |
2017/04/11(火) 19:42:30.31ID:???
>>337
OSのライセンスが2つ必要ならそりゃSQLServerのライセンスも同じじゃね
0339NAME IS NULL
垢版 |
2017/04/11(火) 20:03:02.82ID:???
>>338
ありがとうございました。
不要と理解しました
0340NAME IS NULL
垢版 |
2017/04/12(水) 01:11:00.92ID:???
>>333,335
スレッド一つでも複数コネクション持ってゴニョゴニョすると問題が出る気がする
0341NAME IS NULL
垢版 |
2017/04/12(水) 03:42:34.42ID:???
>>340
さすがにそれはない
まさかCOMMITせん訳でもあるまい?
0342NAME IS NULL
垢版 |
2017/04/12(水) 06:15:01.88ID:???
>>330
マルチスレッドの場合でも全トランザクションを
同期化してスレッドセーフにすればヤバくない
0343NAME IS NULL
垢版 |
2017/04/13(木) 00:21:38.38ID:???
>>341
コミットしてから次のトランザクション始めるならコネクション二つとか必要ないだろ
ようは同時実行するトランザクションがあるかどうかで、スレッドとか関係ないって話
0344NAME IS NULL
垢版 |
2017/04/13(木) 14:55:41.05ID:???
スレッド内でトランザクション完了しないで別のトランザクション始めるとかどんな状況だよ
特にSQLServerだと無駄に昇格起こってMSDTCエラー起こすぞ
0345NAME IS NULL
垢版 |
2017/04/13(木) 15:49:12.08ID:???
スレッドがどうこうとか、あんまり関係ない。
別プロセスでも話は同じ。

要は、トランザクション分離レベルがダーティーリードになっても大丈夫かどうかで決定すべき。
ダーティーリードとは、自分以外の誰か(別プロセスも含む)のコミット前のデータを読むことに
なっても問題ないかどうかという話。
0346NAME IS NULL
垢版 |
2017/04/13(木) 17:00:25.60ID:???
>>344
シーケンスなかった時に、連番とるためにやったことあるわ
0349NAME IS NULL
垢版 |
2017/04/13(木) 19:49:56.90ID:???
>>347-348
まさかと思うが入れ子トランザクションでドヤってんじゃあるまいな…?
0350NAME IS NULL
垢版 |
2017/04/13(木) 20:10:39.13ID:???
>>349
何のために別にコネクション(トランザクション)が必要か考えたら
入れ子トランザクションではダメなことぐらいわかるだろうに
0351NAME IS NULL
垢版 |
2017/04/13(木) 20:15:54.97ID:???
>>350
連番取るのにトランザクション外からやるっての?
ますますもって意味わからんぞ
0352NAME IS NULL
垢版 |
2017/04/13(木) 21:36:54.46ID:???
>>351
連番管理用のテーブルと、連番を利用するテーブルを別のテーブルにするんだよ
短時間で終わる連番の発行と、時間のかかる更新系の処理を別トランザクションにすることで
連番管理用のテーブルのロックを解放する
0355NAME IS NULL
垢版 |
2017/04/14(金) 11:06:49.82ID:???
結論は何も考えずにnolock入れるつもりなら止めとけってことじゃないの
0358NAME IS NULL
垢版 |
2017/04/14(金) 20:02:12.33ID:???
>>354
今時の代替手段はどんなの?

>>356
何を懸念してるか知らんが問題ない
欠番の発生は想定内
0360NAME IS NULL
垢版 |
2017/04/14(金) 20:31:11.74ID:???
>>358
> 今時の代替手段はどんなの?
シーケンスだろ
0361NAME IS NULL
垢版 |
2017/04/14(金) 21:37:16.31ID:???
シーケンス互換性ないじゃん
0362NAME IS NULL
垢版 |
2017/04/15(土) 14:02:49.32ID:???
>>361
シーケンスと何が互換性ないって?
0363NAME IS NULL
垢版 |
2017/04/16(日) 08:42:49.91ID:???
>>362
違う
シーケンスとかIDENTITYは製品間で互換性無いって言ってんだろ
0364NAME IS NULL
垢版 |
2017/04/17(月) 00:45:52.25ID:???
今の流れでそれがどうだと?
0365NAME IS NULL
垢版 |
2017/04/17(月) 13:04:14.32ID:???
シーケンスって…なに?
0367NAME IS NULL
垢版 |
2017/04/17(月) 16:51:13.99ID:???
何でこの程度のことググらないのか、毎度ながら不思議
0368NAME IS NULL
垢版 |
2017/04/18(火) 12:21:23.47ID:???
むしろお前が教えればいいだけなのにどうしてわざわざググらなければいかんのか
0369NAME IS NULL
垢版 |
2017/04/18(火) 13:06:43.50ID:???
教えてくれる奴が来るまで待つとか馬鹿でしょ
0370NAME IS NULL
垢版 |
2017/04/18(火) 19:21:58.59ID:???
いや待てよ勝手に理解したつもりになるな
0371ich1
垢版 |
2017/04/21(金) 16:41:35.14ID:R/eXxgbc
https://goo.gl/q9Ml0S
これは嘘でしょ?本当だったら落ち込むわ。。
0373NAME IS NULL
垢版 |
2017/04/25(火) 22:38:34.87ID:???
最近DB触り始めたんですが、チューニング的なことをする必要が出てきてT-SQLを知りたいです
例:)http://outofmem.tumblr.com/post/77053433681/sql-serverdb%E5%86%85%E3%81%A7%E7%99%BA%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%9Fsql%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B
↑こんなふうにシステムビューとか含めてリファレンス的に読める本があれば教えて欲しいんですがどうですか

調べてもゼロ年代の本しかなくて、いきなり買うのも勇気がいります……
ちなみに日本語しかダメです
0374NAME IS NULL
垢版 |
2017/04/25(火) 23:17:16.27ID:???
>>332
>「ストアド」 = 「DBに格納できる一連の手続き」

いかにもシステム屋さんな定義だなw
0375NAME IS NULL
垢版 |
2017/04/26(水) 12:56:31.64ID:???
>>374
では、君の素晴らしい定義を教えてもらおうかな
0376NAME IS NULL
垢版 |
2017/04/26(水) 20:31:45.30ID:yyy4jyWJ
いきなり答えあわせじゃおもしろくないから
>>374に笑われない定義は何かな?」ゲームしようぜ
0377NAME IS NULL
垢版 |
2017/04/26(水) 22:45:55.34ID:???
べつに>>374の定義はどうでもいいけど
>>374が何屋さんを自称するのか気になるわ
0379374
垢版 |
2017/04/29(土) 01:07:23.45ID:???
>>375-378
おいやめろw
俺はこの業界にどっぷりのただのIT土方だよ。
定義があまりにもプロっぽい(同業っぽい)からちょっとつついてみただけだw
0380NAME IS NULL
垢版 |
2017/04/29(土) 09:51:21.13ID:???
すみません。質問させてください。
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.プロシージャ・・・
0381NAME IS NULL
垢版 |
2017/04/29(土) 19:13:45.28ID:SlYPafLa
create or replace
じゃ不満なのか?
0382NAME IS NULL
垢版 |
2017/04/29(土) 20:46:20.98ID:???
不満はないんだけど、なんでかなと。そういうものなんだと思っときます。
0383NAME IS NULL
垢版 |
2017/05/07(日) 03:32:11.96ID:???
物凄く初歩的で申し訳ないのですが、SQL Server2008をSQL Server2014へ
アップグレードでインストールした後、不要な2008を消したいんですが
普通にアンインストールでいいものなんでしょうか。
0384NAME IS NULL
垢版 |
2017/05/07(日) 06:15:58.60ID:???
>>383
たぶん良いんじゃないか。
結果を教えてくれ。
0385NAME IS NULL
垢版 |
2017/05/10(水) 00:57:31.27ID:???
>>383ではないが
2008R2 Express SP3を2016 Expressにして、2008をアンインストールしてみた
軽く動かした感じでは動いてるっぽいけど
2008のアンインストールが色々手間だった

まあ実務マシンなら、俺ならアンインストールせずにスタートメニューだけ消しとく
0386NAME IS NULL
垢版 |
2017/05/10(水) 21:21:25.38ID:???
俺なら2008アンインストール、2016インストールするけど
0387NAME IS NULL
垢版 |
2017/05/11(木) 19:47:33.46ID:XdKWiRE4
Windows ServerでSQL Server 2012を入れております
SSMSでバックアップのスケジュールを確認しようとしたんですが管理にメンテナンスという項目がありません
SSMSを見てもExpressという表示はないんですが原因って他にありますか?
0388NAME IS NULL
垢版 |
2017/05/11(木) 19:51:28.91ID:???
ログインユーザーがsysadminじゃなかったってのは昔あったな
0391NAME IS NULL
垢版 |
2017/05/12(金) 20:07:03.25ID:Kt4maARH
>>388
sysadminというのはロールですよね?
Administratorですし、sysadminにもチェックはありました
0392NAME IS NULL
垢版 |
2017/05/12(金) 22:11:13.31ID:???
SSMSってエディション関係ないからな。DBエンジンがEXPRESSだったって落ちじゃないのか
接続先のバージョンとか出てたっけ
0393NAME IS NULL
垢版 |
2017/05/13(土) 06:25:13.83ID:???
2016のssmsとexpress使ってるけど、imeの問題は出ないぞ
0394NAME IS NULL
垢版 |
2017/05/13(土) 07:09:40.03ID:???
Visual Studio 2015 Express 使ってるけどごくまれ(数ヵ月に一回ぐらい)IME がOnにならなくなる時がある
メモ帳とかを起動してIMEをOnにしたりするとVisual Studioでも普通に使えるようになるからあまり気にしてないけど
0395NAME IS NULL
垢版 |
2017/05/13(土) 11:11:12.87ID:???
>>389
項目は出ているけど開けなかった記憶あるわ
項目自体出てないのは>>392の通りExpress使っているとかじゃないのかね
0396391
垢版 |
2017/05/13(土) 23:35:10.24ID:X0tWj4fp
すいません、たぶんDBのほうがExpress使ってるかもしれません
どこで確認できますか?また自動でバックアップする方法とかありますか?
0397NAME IS NULL
垢版 |
2017/05/14(日) 00:45:41.95ID:???
SqlServerに特化したPowerShellがあるらしいけど、使ってる人いるのかな?
0398NAME IS NULL
垢版 |
2017/05/14(日) 01:42:00.54ID:???
>>396
マジで言ってるのかアレだなあ...
▪️エディション確認
・繋いだインスタンスを右クリックでプロパティ
・masrerデータベースで
select @@version

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

expressで開発、検証じゃなく本番運用する気なら
悪いこといわんからstandard買って載せ替えるが宜しい
奉行とかPCAとかのパッケージバンドルかねえ
0399NAME IS NULL
垢版 |
2017/05/20(土) 15:16:05.49ID:BH3EK1xP
アップルラボ 詐欺 怪しい 疑惑 iPhone 修理 非正規店 グレーゾーン 韓国 中国
根本つとむ 中卒 ブサイク ブス キモい 詐欺師 生活保護
根本つとむ 逮捕 犯罪者 罪状 重要参考人 障害者 アスペルガー症候群
アップルラボ 被害者の会 壊れた おかしい 犯罪 故障 iPhone7 スティーブジョブズ
アップルラボ 脱税 iPad 脱獄 水没修理 MacPro 買取
アップルラボ 誇大広告 2ちゃんねるで宣伝 消費者センター 粉飾決済 恥 ダメ
アップルラボ 迷惑企業 最低 やめて欲しい 中卒 変 創価学会 中国
0400NAME IS NULL
垢版 |
2017/05/20(土) 18:14:01.91ID:???
>>397
> SqlServerに特化したPowerShellがあるらしいけど
どこの情報?
普通に [Data.SqlClient] 経由で使うのとなにか違うの?
0401NAME IS NULL
垢版 |
2017/05/23(火) 21:26:20.97ID:id3rm7dy
Hyper-V クラスタ上の仮想サーバー(4コア割当)にSQLServer2016stdをインストールしたとき、SQLServerの必要ライセンスを教えてください
0403NAME IS NULL
垢版 |
2017/06/02(金) 21:45:56.38ID:???
SQLはmacでも使えますか?
0405NAME IS NULL
垢版 |
2017/06/02(金) 22:47:59.88ID:???
SQL自体は使える(書ける)
0406NAME IS NULL
垢版 |
2017/06/03(土) 17:30:12.42ID:???
じゃやっぱりWinマシンを買うところからってことですね

>>405
使えないということと書けるの違いはどう理解すればいいですか?
0407NAME IS NULL
垢版 |
2017/06/03(土) 17:57:23.00ID:???
>>406
SQLとSQL serverの違いはわかってる?
0408NAME IS NULL
垢版 |
2017/06/03(土) 21:38:11.44ID:???
んと、SQLはプログラミング言語で
SQLserverはMS社のデータベース
0411NAME IS NULL
垢版 |
2017/06/03(土) 22:59:56.99ID:???
その記載ってSQL Serverを作成した言語の話じゃないかな
0412NAME IS NULL
垢版 |
2017/06/03(土) 23:04:52.90ID:???
>>411
そういうことなのですか
ありがとうございます
ではもとい、Winマシンを買うのは必須ですね
0413NAME IS NULL
垢版 |
2017/06/03(土) 23:29:53.05ID:???
仮想環境入れて、そこでWindowsを動かすという方法もあるけれど
どういう目的で使うのか、どの位の頻度で使うのかにもよるだろうね
■ このスレッドは過去ログ倉庫に格納されています

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