Microsoft SQL Server 総合スレ 11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
Microsoft SQL Server (Transact-SQL) の総合スレッドです。
・Microsoft 公式サイト
http://www.microsoft.com/japan/sql/
過去スレとかめんどいから誰か適当に貼って >>761
これです→ http://diy-kagu.hatenablog.com/entry/2017/08/09/155801
記事は2016だけど、2017でも大丈夫だろうと。
自分の環境特有の理由かもしれない。
もう少しやってみてダメなら 2017 をアンインストールして 2016 で再度やってみる。
SQLの勉強でなくて、SQL Server Management Studio を勉強したい。 >>763 ありがとうございます。
2017バージョンの localDB と SSMS をアンインストール後、
2014バージョンの localDB と SSMS を入れ、SSMS から接続までできました。
これで SSMS の勉強ができます。 SQL Server 2016 expressで特定のテーブルのアクセスが異常に遅いのですが、何か原因はありますか?
特定のテーブルの情報
・データ50万件 (select count(*)だけで10秒かかる)
・頻繁にインサートしている
・主キーを設定していない
プログラムでDBに接続側がタイムアウトになるくらい何かが起きているようです。 sp_who2 をすると、サーバーに繋ぎに来てるコンピュータ名やプログラム名が見れますが
ドメインユーザー名を取得することできませんか。
SQL認証で、ユーザー/パスを全員共通にしてあるんですけど
各接続SPIDに対するドメインユーザー名が判別できるとありがたいんですが。
Windows認証だったら判別つくのですが、プログラムはSQL認証で使いたいです。
(ユーザーがもし SSMS で繋ぎにきたときにテーブル全開示になっちゃうのを防ぐため) >>765
俺、そのケースで散々パフォーマンスチューニングだのインデックス再構築だの設計変更だのしてたが、
最終的なオチはExpressのデータファイルの10GB制限に引っかかっててインデックス検索で1MB単位で容量の削除、自動拡張を繰り返してた、
というケースがあった。
今でも当時のことを思い出すと赤面するぐらい恥ずかしい思い出。 >>770
インサートで限界を突破して自動拡張が停止
→ロールバックされて容量が元に戻る
→ギリギリ容量が残ってるので自動拡張が…
以下、タイムアウトするまで(あるいは何とか入りきるまで)延々繰り返し
みたいな(ちょっと詳細省いたけど 自動拡張されたデータファイルのサイズはロールバックしても自動的に縮小されたりしなかったと思うんがだが
自動拡張に出来なくて空きがないならエラーで帰ってくるから、タイムアウトまで延々待たされるなんて事も無かったと思うけど SQL Server の参考書でいいやつってどれ?
SQL の文法解説じゃなくて、SQL Server 独特の文化とか、SSMS の操作法とか、そのあたりを学びたい。 >>774
公式DLの自習書シリーズが最強だと思う
ボリュームが多いが参考書臭さがなく実務より >>774
公式DLの自習書シリーズが最強だと思う
ボリュームが多いが参考書臭さがなく実務より >>774
あまりない。そこがSQL Serverの厳しいところ。 >>775 おお! 無料でこんなのあるんだ、ありがとう!
>>777 オラクルよりもマイナーなのかな? >>778
自習書は日本マイクロソフトが日本の会社に作らせたもの。
ただし手抜きや説明の偏り、一部は間違っているが、日本マイクロソフトのサポートの方もこれを参考にしている。
マイクロソフトはどの製品も作りっぱなしでマニュアルは自動翻訳のよくわからないものばかり。
Management StudioについてはどのRDBMSより経験がなくても直感的にわかりやすい。 >>774
SQL Server 2005、2008以降は大きく変わっていないから、特に翔泳社の本は役に立つよ。
最近のSQL Server本は本当に役に立たない。特にマイクロソフト公式本はひどい。
秀和システムの赤い本もひどい。 >>782
>マイクロソフトはどの製品も作りっぱなしでマニュアルは自動翻訳のよくわからないものばかり。 >>783
マイクロソフトのサイトを見たことがないの? M$日本の公式ドキュメントは「これは自動翻訳で生成されました」だらけなんだが
>>785はggrもしないらしい >>787
英語のドキュメント読むに決まってんだろ何言ってんの? >>787
ググった結果英語のドキュメントが出てこない世界に住んでるんだねすごいね 789の世界のgoogleは日本語の結果のみ表示ができないらしい >>792
ユーザーにわからせようとはしてない。外国人は基本的に不親切だから、この説明でわからない方が悪いというスタンス。 自動拡張されたデータを削除してもファイルサイズが大きいままなのですがどうすればサイズを小さくできますか? >>795ですがみなさん方法をご存知ないですか?
それとも削除した後からでは小さく出来ませんか? 最新のManagement studioが64bit OSしか
サポートしてないんだが、いったいマイクロソフトはどういうつもりなんだろう?
Linuxのサポートよりよっぽど大事だろう? >>800
それSQL Server本体とセットではないManagement Studioではないのか? >>800
> サポートしてないんだが、いったいマイクロソフトはどういうつもりなんだろう?
32bit OS でグダグダ言うクレーマーの相手はしませんと言う意思表示だろ >>804
会社で動いてるよ(Windows 7)
もうすぐ廃棄するけど >>805
win7にSQLを入れてDBサーバーとして使ってる訳じゃないでしょ? >>806
Visual Studio 入れてるから LocalDB 入ってるけど?
まあテスト用だけどね 立ち上がりきったらそう遅くねーけどな
立ち上げがVisualStudioより遅せーのはアホかと思うが たぶん若いやつだと思うが、起動に時間がかかるなら、それを考慮して起動中はべつのことをしてろよw >>808
起動もだが、実行中のプランを見るヤツとか、
重すぎてまともに動かない。
ロック状況見るヤツも無くなっちゃったし、
糞化がハンパない。 >>814
個人ってどーいう事?
そんな奴おらんだろ? >>814
Developer Editionならいるんじゃね Win10Proで2017Developer使ってるよ ExpressやDeveloperとかの無償版がなきゃ泣く泣くStandard買う奴もいるんだろうけど個人ユースならExpressで充分って言う人がほとんどだろうしなぁ 中小でも社内で完結させられるならExpressで十分だしな。同時接続の人数によるが。
サイズオーバーしてもDB分ければいいし。 企業でexpressはほぼほぼライセンス違反とちゃうんか?
知らんけど expressは商用おkやぞ
ダメなのはDeveloper クライアントOSでやるとそっちのライセンスに引っかかるけどな >>821, >>823
アホすぎ、100年ROMっとけ >>823
おまえのせいでアホにアホって言われてもうたわ
どう責任とってくれんねん >>827
未だにダブルクォートとかの囲み文字付きファイルや改行入りが処理できない駄目ツール
(SSISではできるのに)
パフォーマンスはそこそこ。
あなたの評価は? SQL Server PowerShellってどうなの? >>828
SSISも勝手にやられてしまう仕様が多くて使いづらいけどな。 セッションの確認の事で教えてください。
物理的に別々の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; >>832
ありがとうございました。見えました。
アホな質問ですみませんでした。 一般的に接続の作成、開放はコストが高いと言うけど、この場合のコストって何?
クライアントから見た時間は当然として、サーバー側はどんなコストがかかるの?やっぱりその間の処理が重くなるとかあるのかな? コスト=負荷と思っとけ
接続口を作るのはOSとやり取りするからけっこう大変な処理 >>834
サーバはリソース(CPUとメモリ)
クライアントは時間 >>836 >>837
例えば常時だいたい100くらいセッションがプールされてるとして、新たに100のクライアントが増える場合、サーバーにとって100プールが増えるのと増加100分は毎回接続、開放してもらうのと、どっちがいいかな? そもそもサーバは接続プールとかしてるのかね
プールしてるならなおさら、クライアントは毎回解放してもらわんとプールが有効に使えないわけだが そもそもサーバは接続プールとかしてるのかね
プールしてるならなおさら、クライアントは毎回解放してもらわんとプールが有効に使えないわけだが >>838
プールはクライアント側の実装だからサーバにとっては単に長時間の接続でしかない
サーバが許容する上限を超えるまではプールしたほうが良いことが多いが、
限界をこえるようなら毎回接続開放するしかない
クライアントの数が多いとか、接続毎のクエリ発行頻度が低い場合は
プールせずにこまめに切断したほうが良いこともある SSMS の軽量版、簡易版を出してほしい。
DB管理者向け機能を省略し、一般ユーザ向けのバージョン。 え?SSMSって一般ユーザがSQL投げて問合せするツールじゃないの? テーブル間にリレーション定義してあって着目セルがリンク対象だったとき
右クリとかでリンク先の該当テーブル表示、みたいなところまでやってもらいたいところだ リレーションシップなんて飾りです 偉い人にはそれがわからんのですよ SQL分からんようなやつに直接触らせるDBはねーよ ssmsの悪い所は
オブジェクトエクスプローラがテーブルやプロシージャ含めて全てツリー表示している所だな
増えてくるとスクロールが大変。
それからテーブルやビューを見るとき次々タブが増えてどれ修正していたのかわからなくなる
SIオブジェクトプラザという有料のツールだとそこら変うまく出来てる
データベースをまたぐ依存関係もわかる
だけど高いのと時々固まるのでおすすめできない >>851
>次々タブが増えて
JaneStyleみたいにタブが横方向に表示しきれなくなるたびに縦方向に1段増やすようにして欲しいね 昔はエンドユーザーがSQLを投げていた。あな恐ろしや bcp はデータのインポート、エクスポートが主目的。
sqlcmd は SSMS の簡易なCUI版アプリケーション。オラクルでいうところの sqlplus。
っていう位置づけでよろしいか。 >>854
bcpはOracle Databaseで言えばSQL*Loaderにあたるもの。 >>854
どっちも不便だからsqlps使うといいよ >>853
select権限だけなんだから好きにしろって話だろw 【上流きどり、都民″】 マ7トLーヤ『大洪水は都会人の弱者切捨ての結果、大地震は核爆発の結果』
http://rosie.5ch.net/test/read.cgi/liveplus/1531363082/l50
豪雨のどさくさにカジノ法案強行、火事場泥棒! 一日に数件のレコード(数百文字くらい)が新規に追加されるDBなのだが、
追加されたタイミングで自分宛てに通知メールを送ったり出来ますか?
メール本文には追加されたテキストデータが有れば尚良し。 前のSQL Mail 今はデータベースメールって言うらしい でメール送信はできる
トリガー仕込んでやればできるんじゃね ■ このスレッドは過去ログ倉庫に格納されています