intやcharと同列で語るもんじゃないのはわかってるよ なにを指摘したいのかわからん。前スレでも書いたがストアドの引数に使うことのデメリットは知らんぞ 普通のテーブルの列で使ったら1ページ8KBの話に関わるから必要な場合を除き乱用すべきじゃないのは言えるが 0004NAME IS NULL2018/08/19(日) 22:38:57.15ID:dJDtG65d>>3 お前さんが「LOB型」とかいう俺様用語を使うから みんなOracleのCLOB型/BLOB型の話かと思って話が混乱した (「LOB型」でググったらOracleばかりだ)
最初から「ラージオブジェクト データ型」と書いていたら 混乱は避けられたかもな 0005NAME IS NULL2018/08/20(月) 05:38:33.37ID:???>>3 それ型じゃないよ ちょっと上に > SQL Server では一部のデータ型は、格納の特性に基づいて次のグループに分けられます。 ってあるようにグループの名前みたいなもんだから 0006NAME IS NULL2018/08/20(月) 07:30:35.21ID:???>>4 ああ、最初にLOB型を言い出した前スレ989は俺じゃない(993や995が俺)んだけど、あれへの突っ込みって分かってて突っ込んでる的なやつだったのか すまんすまん、LOBがなんのことか分からずに素でLOB型ってなにと聞いてるもんかとばかり思った つかIDないと不便だ、スレ建て時のワッチョイの付け方はわかるんだけどな
>>5 知ってるということを書いたつもりだったんだけどな そこのMSDNの内容見てそれが読み取れないほど日本語能力に不自由はしてないぞw 0007NAME IS NULL2018/08/20(月) 08:39:42.53ID:??? 何を言いたいのかよくわからんけどスレを跨いでまで引きずるほど悔しかったことはわかった 0008NAME IS NULL2018/08/20(月) 11:35:27.51ID:??? 俺から言いたいことは別にないよ LOB型云々はいい出した989にいってくれ 0009NAME IS NULL2018/08/24(金) 14:20:59.52ID:Hi7a43qz やたら遅い処理があると思ってトレース見てたんだけど、リンクサーバー経由で前方一致like検索されると、データ全件取得するSQLが流れてるように見える。 なんだこりゃ? バージョンは2016のsp1 0010NAME IS NULL2018/08/24(金) 14:44:59.50ID:??? openquery 0011NAME IS NULL2018/08/24(金) 19:39:18.48ID:Hi7a43qz なるほど。 0012NAME IS NULL2018/08/28(火) 11:46:33.94ID:??? ユーザー定義テーブル関数の中で SET @p = SELECT A FROM B みたいな感じで、テーブルの中のデータを変数にぶち込みたいんですが、エラーになってしまいます。 どうやればいいでしょうか? 0013NAME IS NULL2018/08/28(火) 11:55:55.74ID:??? ()付けたらイケました お騒がせしました 0014NAME IS NULL2018/08/28(火) 12:55:41.53ID:??? select @P=A from B でもよし 0015NAME IS NULL2018/08/28(火) 20:15:05.55ID:??? selectが複数レコード返してもエラーにならない罠 0016NAME IS NULL2018/08/29(水) 16:30:39.36ID:??? プーリング接続についてお尋ねします。 ファイアウォールで一定時間アクセスのないTCP接続を切るようにしている環境下で、プールされていたsqlserverのセッションが切られて、次回接続時にエラーになることってあるんですか? つまり、自分のセッションがプールされているはずなので無条件に使いにいく動作をしているのであって、あれば使いなければ新たに作るわけではないという事でしょうか? 0017NAME IS NULL2018/09/08(土) 14:32:55.96ID:??? SSMSのクエリウインドウはどんなに長い文字列貼り付けても折り返されないみたいですが 10億文字ぐらいの文字列でもやはり折り返されずに1行で表示されるのでしょうか? 0018NAME IS NULL2018/09/08(土) 17:18:14.64ID:??? やってみりゃいーじゃん 0019NAME IS NULL2018/09/11(火) 19:15:33.86ID:MFn43GEi ROLLBACK TRANSACTION をやっても元に戻せない場合ってありますか? 0020NAME IS NULL2018/09/11(火) 19:43:57.80ID:??? シーケンスとか戻らんはず
SQL SERVERで暗黙的にコミットするのなんかあったっけ 0021NAME IS NULL2018/09/11(火) 19:44:22.70ID:??? シーケンスとか戻らんはず
SQL SERVERで暗黙的にコミットするのなんかあったっけ 0022NAME IS NULL2018/09/11(火) 19:45:29.69ID:??? あとスキーマいじる奴は戻らないはず 0023NAME IS NULL2018/09/12(水) 15:31:41.68ID:StI1kJbU >20>21>22>ありがとうございました。 0024NAME IS NULL2018/09/12(水) 20:28:23.90ID:???>>22 戻らないと言うかたいていのDBMSはDDLの前後でコミットするから 0025NAME IS NULL2018/09/12(水) 22:51:22.95ID:+BSS23iW DDL?ロールバックで戻るよ?DROP とかTRANCATEとか。 0026NAME IS NULL2018/09/13(木) 00:09:10.41ID:B034+Mhh 当たり前だがBEGIN TRANしてないと戻らんぞ
Oracle長かったから SQL ServerはBEGIN TRANしておけばDROP TABLEもTRUNCATEも取り戻せてびびった 0027NAME IS NULL2018/09/17(月) 15:17:22.23ID:??? DB破損させる可能性はOracleの方が高い バックアップ取得失敗してると死ぬ 0028NAME IS NULL2018/10/06(土) 11:10:31.90ID:??? 文字列の検索や突合がにがて 0029NAME IS NULL2018/10/13(土) 19:45:05.74ID:???https://imgur.com/FAF05na.jpg0030NAME IS NULL2018/10/17(水) 11:08:01.26ID:??? Accessはインデックスが壊れてしまった場合、[データベースの最適化/修復]を行うと治りますが SQL Serverにもそういうコマンドがありますか? 0031NAME IS NULL2018/10/17(水) 14:00:05.95ID:UxDg84T+>>30 一旦DROPして再作成すれば? 0032NAME IS NULL2018/10/17(水) 14:01:02.34ID:UxDg84T+>>30 REBUILDもあったわ http://www.sql55.com/query/reorganize-rebuild-index.php0033NAME IS NULL2018/10/23(火) 08:59:01.17ID:??? indexの断片化とか気にしたことなかった やばいかな? 0034NAME IS NULL2018/10/23(火) 13:09:21.29ID:??? 目に見えて速度変わるぞ断片化酷いと 0035NAME IS NULL2018/10/23(火) 23:25:58.35ID:hntOGwbv はいはい 0036NAME IS NULL2018/11/01(木) 09:41:26.04ID:zQFReMU2 ★★★貧富格差解消の為には、累進税の税率を国民投票で決めるべきである★★★● http://jbbs.livedoor.jp/stud●y/3729/storage/1069408696.ht●ml#47
この掲示板(万有サロン)に優秀な書き●込みをして、総額148万円の賞金をゲットしよう!(*^^)v http://jbbs.livedoor.jp/stud●y/3729/ →リンクが不良なら、検索窓に入れる! 0037NAME IS NULL2018/11/03(土) 16:19:44.77ID:JBJEgXB4 断片化もそうだけど統計情報はちゃんとやらんと泣く インデックスヒント入れてればまあごまかせるけど、フルスキャンしいのNestedLoopしいので時間かかるわCPUぶんまわるわとひどい目に遭う 0038NAME IS NULL2018/11/12(月) 07:22:56.36ID:??? SSL通してインターネット経由で使うのはありですか? 0039NAME IS NULL2018/11/12(月) 07:24:45.79ID:??? VPNではなく、SQL ServerのSSL使ってポート固定でFW に穴開けて、という想定です 0040NAME IS NULL2018/11/12(月) 09:29:18.82ID:B9ac6m2S SQL Slammerなんてのが流行ったことあったらから FWで接続元絞れるんならまあ 0041NAME IS NULL2018/11/12(月) 13:41:10.82ID:??? セキュリティがSQLServer自身の認証頼りになるからおススメしない 特定IPのみ接続可とかやるくらいなら素直にVPNにしとけ 0042NAME IS NULL2018/11/12(月) 13:51:07.65ID:HPkNogVe>>41 なぜかあなたのようなことを言ってしまう方が大勢いますが、明確な理由を説明できないでしょう? 0043NAME IS NULL2018/11/12(月) 13:59:37.37ID:??? 明確な理由も何もフロントの認証より危険なのはちょっと考えればわかるだろ Webアプリの認証突破されてもまだDBまで到達されない方法はあるが 直でログインされたらもう終わりだ 0044NAME IS NULL2018/11/12(月) 18:19:04.61ID:HPkNogVe>>43 それ単にWebアプリケーションサーバが挟まる構成を取る意味がわかっていないひとの理屈だよ。 0045NAME IS NULL2018/11/13(火) 13:03:06.08ID:??? >セキュリティがSQLServer自身の認証頼りになるからおススメしない 個人的にはこの意見に同意するんだが 実際それでどれほどの危険があるかだろ
ありなしの基準をはっきりさせんと何とも言えんわな
SQL Azureのセキュリティってこれしかないんじゃね 0046NAME IS NULL2018/11/13(火) 16:11:45.56ID:??? Azureはサブネットで隔離すりゃ行けるんじゃないの知らんけど 0047NAME IS NULL2018/11/13(火) 16:44:01.34ID:flNaI3Li だいたい管理者ユーザーを使わせるわけでもないのに騒ぎすぎなんだよな。 0048NAME IS NULL2018/11/13(火) 16:52:05.86ID:??? つってもぶっこ抜きだけなら管理者権限要らんべ 0049NAME IS NULL2018/11/13(火) 21:31:12.65ID:??? AzureってNGFWみたいなのないの 0050NAME IS NULL2018/11/16(金) 15:58:30.59ID:??? SQLの認証にセキュリティホールがあるかどうか、って話だよな 0051NAME IS NULL2018/11/16(金) 16:21:06.93ID:??? そういや3回失敗したら垢ロックみたいなのはないのかね あっても解除どうすんのとは思うが 0052NAME IS NULL2018/11/16(金) 19:54:52.97ID:??? 普通のSQL Serverなら、パスワードポリシーでロックアウト出来んじゃね Azureはどうだかしらんが 0053NAME IS NULL2018/11/17(土) 09:13:38.55ID:QE+FFbm+ 結局のところ守りたいとこまでの壁を1つにしますか2つ以上にしますか、ってとこじゃないの? 詳しくないから見当違いかもだけど 0054NAME IS NULL2018/11/17(土) 18:03:20.53ID:??? IPアドレス制限もできないのかよAzure 0055NAME IS NULL2018/11/19(月) 12:58:59.92ID:??? 全世界から凸られまくるの嫌だよなぁ 0056NAME IS NULL2018/11/19(月) 13:18:58.81ID:??? AWSだとサブネットで制限できると思った Azureは知らん 0057NAME IS NULL2018/11/20(火) 02:05:44.88ID:0nVlCieC AzureだとNSGだな 0058NAME IS NULL2018/11/20(火) 10:00:35.83ID:WY+B3UFR サーバー再起動したら、夜に2時間で終わってた処理が4時間ちょいかかるようになった dm_exec_query_statsみてもこれだというのが特定できなかったんで、とりあえず統計情報更新とインデックス再構築かけたけどかわらん パフォーマンスカウンタとってたんで比較すると ・CPU使用率は2時間ave80%だったのが4時間ave80%に ・ディスクIOはPhysical diskのキューも読み書きバイト数も1秒あたりの数値が半減、IO Latch waitも1秒あたりの待ち時間が半減 ・メモリはmax、minで割り当てを固定(物理RAMの8割)、Buffer Managerのデータキャッシュをグラフでみると、2時間の挙動がまんま4時間に引き延ばしたかたちに変わった ・ロック待ちのカウンタみると1秒あたりの平均待ち時間が倍増←たぶんここの原因が問題
考えられること、他にみるべきところあったら教えてほしい どう推論するか悩み中です 0059NAME IS NULL2018/11/20(火) 14:44:28.56ID:??? ハードが死亡 0060NAME IS NULL2018/11/20(火) 14:50:56.69ID:??? リコンパイル指定掛けないと統計反映されないとかいう話なかったっけ それでロック街増えるかはわからんが 0061NAME IS NULL2018/11/20(火) 15:36:28.83ID:WY+B3UFR>>60 アドホッククエリが多すぎるのかキャッシュが1日保たないのでそれはないです と、書いて気付いたけどプランが変わったとかは考えにくいな ほぼ毎日コンパイルされるのは前と変わらんし・・・まじでハード絡みなのか、異常があったら通知されるはずなんだけどな、、 0062NAME IS NULL2018/11/20(火) 21:30:17.85ID:??? 手動で止めてたサービスが再起動で動いてリソース食ってるとか
WindowsUpdateとかウィルス対策ソフトとかあやしい 0063NAME IS NULL2018/11/21(水) 07:42:47.71ID:Vsi8ZXDt>>58 OSを再起動したかの、SQL Serverを再起動したのか、どちらなのか? 0064NAME IS NULL2018/11/21(水) 08:56:03.13ID:ypOdLX/M>>62 サービスの確認はしてないですが、日中は全然負荷かかってないのでリソース喰ってるとかはたぶんないです メモリはSQLServerに固定で80%分与えてるんで空き10数パーしかないですが(とはいえ10GB前後くらいは空きあり)
>>63 OS再起動です。再起動した部隊に聞いたらOSのパッチ当てたとのこと(OSはWin2012) そっちの確認が先だった、なに当てたか確認します。 0065NAME IS NULL2018/11/21(水) 13:35:51.35ID:3oLtE4+Y 年明けののIntelCPU脆弱性のやつだったらめちゃ遅くなるぞ 0066NAME IS NULL2018/12/13(木) 23:09:41.29ID:ND4c+Iuc SQL serverのライセンスに関する質問です。
データベースにSQL serverを使用している 業務アプリケーションソフトがあります。
本部のWindows10のパソコンにSQL server を インストールし、スタンドアロンでアプリを 動かすのですが、このパソコンで作成した データをエクスポートし、支社のパソコンに インポートして使用します。
よろしくお願い致します。 0067NAME IS NULL2018/12/14(金) 02:45:52.18ID:xTQ3pUgW>>66 最新版なら無償版で問題ない ファイルサイズ10Gの制限だけ気をつけろ 0068NAME IS NULL2018/12/14(金) 09:17:04.99ID:DAdCiiEs>>67 ありがとうございました 0069NAME IS NULL2018/12/14(金) 22:38:22.51ID:??? どうでもいいけど、無償版の対義語が正規版ってお前... 0070NAME IS NULL2018/12/15(土) 10:29:08.93ID:dWy0aRvu 無償版てExpress Editionよね、それなら商用利用可能だしだいじょぶ 他のEditionならライセンス必要(Developerは商用利用不可) 0071NAME IS NULL2018/12/15(土) 11:52:02.97ID:??? sever osじゃないosでの、他ノードからのアクセスもokだっけ? 0072NAME IS NULL2018/12/15(土) 15:26:05.73ID:??? それはダメ なおMySQLやPostgreSQLでもダメな模様 0073NAME IS NULL2018/12/15(土) 16:10:25.58ID:??? それはどっちかっていうとOSのライセンスの問題だからな
この質問はスタンドアロンでやってるからセーフだろう 0074NAME IS NULL2018/12/15(土) 17:39:55.29ID:??? ファイル共有なら20アクセスまでOKなのにな 0075NAME IS NULL2018/12/15(土) 17:43:22.55ID:???>>74 原則ダメじゃなかった? プリンタとかの接続は許可されてるけど 0076NAME IS NULL2018/12/15(土) 17:49:49.70ID:???>>75 例外的にOK IISもそう データベースサーバーはダメ
IIS経由のデータベースとかは知らん 0077NAME IS NULL2018/12/15(土) 17:51:57.77ID:??? 考えてみたら、mdbファイルとかSQLiteとかをIIS経由で使うのはOKてことになるのかな なんだかな 0078NAME IS NULL2018/12/17(月) 22:34:55.51ID:Y2xIxlHH でも小規模な会社でもなけりゃだいたいのところは買ってるんじゃないの ファイルサーバにしたってCAL不要のWindowsStorageServerじゃスペックきついし サーバ毎に必要なわけじゃないしユーザ分なりデバイス分なり買うもんじゃないのかな 0079NAME IS NULL2018/12/18(火) 13:51:13.69ID:???>>78 お前は何の話をしてる? 0080NAME IS NULL2018/12/18(火) 16:27:53.59ID:w5gk3kps>>79 すまん Windows Server CALの話に乗っかったつもりだったがクライアントOSの話だったね 0081NAME IS NULL2018/12/19(水) 16:52:40.40ID:vkImC/04 【悔日企業ヘイトバンク】 父は犬、兄は黒人、白戸は白洲、私たちはあのCMを見るたびに侮辱されていた http://rosie.5ch.net/test/read.cgi/liveplus/1545098183/l50
sp_executesql を使って SQL を文字列で合成する方法は知っていますが、正直めんどくさい。。 0083NAME IS NULL2018/12/28(金) 17:16:15.43ID:??? ままwww
http://twicas.x.fc2.com/0084NAME IS NULL2019/01/23(水) 09:05:14.47ID:uSf5hxNs ・SQL Server Express自体の接続数は無制限 ・Windows 7、8、10 OSにインスコの場合、接続数は20まで ・Windows Server OSにインスコの場合、接続数はCALに依存 らしいぞ。
sql server express 接続数 windows10 ググれ 0085NAME IS NULL2019/01/24(木) 21:21:27.41ID:sgV7WTTD システムエグゼ 苦情申し立てダイレクト窓口
DB技術者の先輩方、よろしくお願いいたします m(__)m 0140NAME IS NULL2019/04/26(金) 06:47:20.35ID:???>>139 一時テーブルを作るとか普通にあるけど? てか、一番多いのは検索だと思うぞ 0141NAME IS NULL2019/04/26(金) 20:31:59.53ID:l8u5/4vh>>140 一時的テーブルってどんなケースでしょうか?
自分がイメージしてるのは↓みたいな感じですが、実際こんな感じでしょうか?
例えば商品を扱う時に ◆登録時 商品(+カテゴリ)のレコードを追加、 もしくは既存レコードの数量を更新 ◆検索 SELECT 〜 WHERE で商品検索。 表示されたものを並べ替える時に、上記SELECT分に ORDER BY 〜 を追加。 0142NAME IS NULL2019/05/01(水) 18:56:39.99ID:769RFL3v SQL serverをデータベースに使用している業務用アプリを Windows7+SQL server 2008R2EXPRESSの環境で動かして いましたが、今回、Windows10+SQL server 2016EXPRESSに 移行したところ、途端にアプリの動きが重くなりました。
いろいろ調べた結果、移行時に、SQL server 2016に2008R2の データベース完全バックアップを復元した際に互換性レベルを 「2016」にしたことが原因で、これを「2008」に下げるとサクサク 動くようになりました。
そこで質問ですが、SQL server 2016EXPRESSに復元したDBの 互換性レベルを「2008」で動かしても特にリスクはないでしょうか?
そもそも互換性レベルは「2016」で動かす方が望ましいのでしょうか?
よろしくお願い致します 0143NAME IS NULL2019/05/01(水) 19:41:43.69ID:TltKGa3C>>142 調べたから見たはずだけど、2016を2008互換で動かしていたら、ただの問題の先送り。 0144NAME IS NULL2019/05/01(水) 20:29:24.14ID:???>>142 暫定的にはいいけど、そのままだと次のバージョンアップの時に苦労するぞ 0145NAME IS NULL2019/05/01(水) 22:13:30.92ID:iAIhZMl0>>143 >>144 ありがとうございます さらにテストをしたら、互換性レベル2014までは正常に動きますが、 2016になった途端、動きが極端に重くなることが分かりました
それとも、2016でなければ、2008でも2014でもさほど変わりませんか? 0146NAME IS NULL2019/05/01(水) 23:57:26.78ID:Z1eUgulk>>145 本当に互換性に問題のある使い方をしているのかどうかを調べるのが基本だよ。 0147NAME IS NULL2019/05/02(木) 04:23:23.11ID:rL4gUhau>>145 便所の落書きに判断を求めるなよ 正攻法なら最新に合わせて改修するだけだし コストがかけられないなら確実に動作する状態でリプレースを待つだけだろ 0148NAME IS NULL2019/05/02(木) 20:31:31.39ID:??? そもそもそれホントに互換性レベルの問題なのか? 2016出てだいぶ立つから、メジャーな問題ならもっと話題になってると思うが 0149NAME IS NULL2019/05/02(木) 22:09:13.65ID:??? 実行プランに影響するから>>142の環境だけで発生するとかもあり得る 0150NAME IS NULL2019/05/03(金) 07:56:37.64ID:FseZSqD/ その後、同じ業務用アプリケーションで、以下のような環境移行を行い、 サーバ:Windows server 2008R2→Windows server 2016 SQL server:SQL server 2008R2→SQL server 2017 クライアント:Windows7→Windows10 互換性レベルをSQL server 2017にしたところ、やはり動きが 極端に重く(遅く)なり、互換性レベルをSQL server 2014に 下げると正常なスピードになりました
データベースがSQL server 2014までは互換性レベルなんて 意識したことなかったけど、SQL server 2016以降において 急に引っかかるようになった感じですね 0151NAME IS NULL2019/05/03(金) 08:53:54.23ID:lS9VfNzG>>150 だから製品の何が変わったのかマイクロソフトの情報を見ているのか? 0152NAME IS NULL2019/05/03(金) 09:11:40.19ID:??? 切り分けもしないような奴はスルーしてくださいな 0153NAME IS NULL2019/05/03(金) 10:15:30.90ID:FseZSqD/ 切り分け??? 0154NAME IS NULL2019/05/03(金) 12:04:10.91ID:??? どこのSQLで遅くなってるかとかの確認もしてないんだろ? 0155NAME IS NULL2019/05/03(金) 23:55:03.93ID:??? 例えばどんなSQLがどのくらい遅くなったのか、そのときの実行計画は同じなのかぐらいは調べてさらせよ 0156NAME IS NULL2019/05/04(土) 12:14:50.42ID:??? GW中に仕事のことは考えたくないなw 0157NAME IS NULL2019/05/04(土) 16:41:00.90ID:??? 確か遅いSQL一発で出せるやり方あったよな 事前にフラグ立てなきゃいけなかった気もするが 0158NAME IS NULL2019/05/05(日) 01:15:20.04ID:EcFZ4uZL 言っておくが彼はSQLが遅くなったとは一度も書いていない。 0159NAME IS NULL2019/05/05(日) 07:50:24.90ID:??? そもそも何も書いてないから切り分けろって言われてるんだが… 0160NAME IS NULL2019/05/05(日) 13:27:25.13ID:??? DBでSQL実行が遅くなる以外に何が遅くなるって言うんだ…? 0161NAME IS NULL2019/05/05(日) 13:49:54.90ID:??? バックアップとか? 0162NAME IS NULL2019/05/05(日) 14:09:42.14ID:???>>160 可能性は低いだろうけど接続に時間がかかるようになったとかメモリー足りなくてスラッシング起きてるとか 0163NAME IS NULL2019/05/05(日) 16:11:54.87ID:??? まあまずはなにがどう遅いか調べんと話にならん
あとはリストアしてからなにしたかだな ほんとに互換性レベルだけで遅くなるとは思いにくい 0164NAME IS NULL2019/05/05(日) 22:59:56.81ID:EcFZ4uZL>>160 データベースそのものも考えてくれよw 0165NAME IS NULL2019/05/06(月) 14:04:27.64ID:???>>164 DBの機能が遅い以外何があるってんだよハゲ 0166NAME IS NULL2019/05/06(月) 22:56:09.24ID:stsMt92h>>165 データベースは外部からSQLが発行されなくても、ただ動いているだけでもメモリ上のデータを定期的にファイルに書き込む。余裕があればファイルからデータを読み込む。
いっぱいあるがとにかくデータを失わない、データの整合性がとれなくならないようにする処理等があるんだよ。 0167NAME IS NULL2019/05/07(火) 18:35:52.13ID:???>>166 で? それはDBの機能じゃねえのか? 大体そんなバックグラウンド処理なんて四六時中走ってねーよこじつけんな 0168NAME IS NULL2019/05/07(火) 19:43:05.91ID:ALcLaDvG>>167 走ってますよ。 0169NAME IS NULL2019/05/08(水) 16:53:24.61ID:VbqXritb Express版でオンラインバックアップ取る技ってないの? 0170NAME IS NULL2019/05/08(水) 20:01:01.21ID:8qp+Z1yx>>169 普通にバックアップとるだけだろ 0171DBかじり始めたオープン系エンジニア2019/05/09(木) 06:15:57.71ID:Rd8XFIHD DBエンジニアの業務ってどんな感じですか? ↓みたいなイメージで合ってます?w
当該ビルおよび周辺3拠点の関連部門に勤務する社員/協働者の在宅勤務指示 0279NAME IS NULL2020/02/15(土) 02:28:11.73ID:??? まろちゃん>< 0280NAME IS NULL2020/03/01(日) 11:24:02.92ID:???>>278 「自分ひとりが感染したために周囲に大迷惑をかける」
今みんなが恐れているのはまさにこれだな コロナ自体は軽症で済むんだし 0281NAME IS NULL2020/03/10(火) 23:04:28.38ID:??? クラスターはすっかり有名になったねw 0282NAME IS NULL2020/03/12(木) 20:24:24.12ID:??? むしろコロナとかのクラスターとデータベースクラスタがごっちゃになってワケワカメになりそう 0283NAME IS NULL2020/03/13(金) 15:17:06.55ID:??? どっちも同じ意味のクラスタじゃないの? 0284NAME IS NULL2020/03/13(金) 15:45:28.21ID:??? 同じ単語だけどDBクラスタのクラスタは グループで1つのシステムとして機能するという意味が付加されるから 語源は同じでも意味は違う
集団感染って言えばいいところを その語感から来る悪い印象を遠ざけたいがために 一般人に馴染みのない言葉を使う大本営体質はうんざりする 0285NAME IS NULL2020/03/13(金) 15:46:11.08ID:??? 主任「ようやくA社へのクラスター導入を完了しました」 課長「おお、最後のX拠点もクラスターに入ったのか」 勘違い君「課長! 来週のA社への出張は遠慮します!」 0286NAME IS NULL2020/03/29(日) 17:33:27.63ID:??? 質問なのですが
例えばtbl1テーブルに fld1フィールドが'A'のデータと'B'のデータがある状態で
SELECT fld1 FROM tbl1 WHERE fld1 IN ('A','B','C','D','E')
を実行すると'A'と'B'が表示されますが
その逆に無かったほうの'C'と'D'と'E'を表示することって難しいでしょうか?
つまりIN句で指定したものの中で存在しなかったものを表示したいのです 0287NAME IS NULL2020/03/29(日) 18:27:26.89ID:??? NOT IN ( 'A', 'B' )じゃダメなの? 0288NAME IS NULL2020/03/29(日) 18:52:42.68ID:???>>286 tbl1 -> foo fld1 -> name で読み替えて
select bar.name from (values ('A'), ('B'), ('C'), ('D'), ('E')) as bar(name) left outer join foo on bar.name = foo.name where foo.name is null;
not exists使ってもいい 0289NAME IS NULL2020/03/29(日) 20:05:41.26ID:???>>287 それだと何も出ない 'C','D','E'を出力したいならデータとして持たないと駄目だから>>288みたいにvaluesでやるのが簡単 0290NAME IS NULL2020/03/29(日) 23:15:23.94ID:??? valuesってfrom文で使えるんだな、知らんかった 0291NAME IS NULL2020/03/30(月) 11:13:44.08ID:??? MeToo 0292NAME IS NULL2020/03/30(月) 20:53:55.86ID:??? SQLは存在しないデータを生み出すためのもんじゃないからな
まあ、'A'から'E'までとか、なんか別のマスタあるんじゃないのかね 0293NAME IS NULL2020/03/30(月) 22:17:10.17ID:??? A~Eが入力で受け取るような値ならテーブル変数使う 02942862020/03/31(火) 00:19:06.55ID:???>>288 こんな書き方が出来るなんて目からウロコです!
スレにしばらく書き込みがなかったので不安でしたが即レス感謝します。
ありがとうございました〜! 0295NAME IS NULL2020/03/31(火) 19:04:00.80ID:Kc++IpJB いつもの自作自演 0296NAME IS NULL2020/03/31(火) 21:22:30.84ID:??? いつもの病人 0297NAME IS NULL2020/04/05(日) 03:12:44.11ID:??? カーソルについて質問させてください カーソルを宣言するときのSELECT結果は1件のはずなのですがループが二回走ります ループ内ではINSERを行っていて、デバッグするとその新規レコードがフェッチされて二回目のループが走っているように見えます カーソルをループした処理の中で作成したレコードって、カーソルに反映されますか? 0298NAME IS NULL2020/04/05(日) 08:50:32.09ID:???>>297 要コード提出 0299NAME IS NULL2020/04/05(日) 11:45:57.96ID:??? >>298 レスありがとうございます! コードそのままは出せないので一部置き換えたものですがすみません
declare cur1 cursor for select id, rireki_num, name, birth from test where name like '%太郎%';
open cur1;
fetch next from cur1 into @id, @rireki_num, @name, @birth; while @@FETCH_STATUS = 0 begin insert into test values (@id, @rireki_num + 1, '太郎 様', @birth); fetch next from cur1 into @id, @rireki_num, @name, @birth; end;
説明が下手ですみません 何かご存じでしたらお願いします 0300NAME IS NULL2020/04/05(日) 13:32:27.79ID:??? testから抽出してtestに挿入していて、SELECTの条件が合うならそうなるんじゃないの もしかするとSQLServerの設定で防げる場合もあるだろうけど、挙動が分からない時は試してみるけどね '太郎 様'を'次郎 様'とかにして試してみれば、すぐわかるんじゃない 素人の俺が意見するのもなんだけど、確認するのが確実じゃないかな 0301NAME IS NULL2020/04/05(日) 14:33:25.10ID:???>>300 確かにbegin tranつけないでinsertしてるし読めちゃってるかもね 既定値はauto commitだし 0302NAME IS NULL2020/04/05(日) 15:05:53.67ID:???>>299 仕様どおり
FORWARD_ONLY All insert, update, and delete statements made by the current user (or committed by other users) that affect rows in the result set are visible as the rows are fetched. … FORWARD_ONLY is the default, unless the keywords STATIC, KEYSET, or DYNAMIC are specified
STATIC Specifies that the cursor always displays the result set as it was when the cursor was first opened, …
SQL ServerやSSMSのバージョンも書かない上に ライブラリの名前も正確に書けないようじゃまともに相手されなくて当然 必要なVC++の再頒布パッケージが入ってないならインストールに失敗してるんだよねそれ 0374NAME IS NULL2020/08/21(金) 22:01:11.18ID:??? sqlserverのパッチは出たら積極的に当てた方がよい? 問題がなければほっとくべき? 0375NAME IS NULL2020/08/21(金) 22:06:37.24ID:??? 当てろよ 0376NAME IS NULL2020/08/21(金) 22:15:58.88ID:??? パススルークエリヤバすぎワロタ 0377NAME IS NULL2020/08/21(金) 22:41:50.30ID:???>>374 どういう種類のサービスに使ってるかとパッチの内容次第 セキュリティ系なら基本的に当てる 0378NAME IS NULL2020/08/22(土) 05:05:36.41ID:??? 最近のは統合パッチ?になって選択出来ない と思っていたが 0379NAME IS NULL2020/08/22(土) 11:35:29.43ID:??? うちはcuもあてとるぞ 0380NAME IS NULL2020/08/22(土) 13:42:18.18ID:LMQ+Z71+ OS:Windows server 2016 DB:SQL server 2016 Standard Edition SSMS:SQL server ManagementStudio17
上記環境でSQL server Management Studioに 設定したメンテナンスプランがスケジュール実行で 動きません。
デッドロックとかと似たようなもの 0392NAME IS NULL2020/08/27(木) 15:40:19.59ID:??? サーバーリプレイスする場合の引っ越しはデタッチ→アタッチでおけ? 0393NAME IS NULL2020/08/27(木) 17:53:54.96ID:??? 自分的にはbackupとって、移行先でリストア派 0394NAME IS NULL2020/08/29(土) 11:43:13.92ID:???>>392 この前それでやったらなんの問題もなかった 0395NAME IS NULL2020/08/31(月) 19:44:53.79ID:???>>392-394 リプレースするならバージョンアップはしないの? システムデータベースをリストアとかやったことないんで 面倒なんで仮想環境を新しいサーバに移してからバージョンアップした 0396NAME IS NULL2020/08/31(月) 21:15:12.47ID:???>>395 システムデータベースなんて障害復旧以外では移行したことないっぺよ 0397NAME IS NULL2020/09/02(水) 19:25:18.36ID:??? 移行はバックアップのリストアでやったほうがパフォーマンスが上がった感じがあった デフラグみたいなのがされるんじゃないかな 0398NAME IS NULL2020/09/02(水) 19:35:47.77ID:LSxEusa+ ? 0399NAME IS NULL2020/09/02(水) 20:55:17.17ID:??? ?? バックアップ/リストアなら普通にデフラグされるでしょ 0400NAME IS NULL2020/09/03(木) 11:45:17.87ID:??? 基本バックアップ・リストアが良いと思うが。 なにしろオリジナルファイルとは別にバックアップファイルができるというのが作業安心度が高い。 0401NAME IS NULL2020/09/05(土) 16:34:53.14ID:???>>400 システムデータベースのバックアップは同じバージョンにしか書き戻せないでしょ? 新しいバージョンに直接書き戻すことできるの? 調べればどっかに出てるんだろうけど、単純だからインストーラのアップデートを使ってる 0402NAME IS NULL2020/09/05(土) 20:13:10.43ID:???>>401 システムデータベースって言葉の解釈が他と違う気がする master,msdb,model等を指して話ししてる? 0403NAME IS NULL2020/09/05(土) 23:46:16.40ID:???>>402 > master,msdb,model等を指して話ししてる? そうです。 他のPCに移すってことは、そう言うことでしょ? その他に、レプリケーション用のDBも含むかな 0404NAME IS NULL2020/09/05(土) 23:48:22.94ID:???>>402 >>396が言われているのは、master,msdb,model等のことだと思ってレスしてましたよ 0405NAME IS NULL2020/09/06(日) 11:44:41.42ID:???>>403 >>404 じゃ俺が文脈読み間違えてるだけだね(´・ω・`)すみません 0406NAME IS NULL2020/09/06(日) 21:36:15.51ID:??? システムデータベースバックアップなんて必要なの? 0407NAME IS NULL2020/09/06(日) 22:53:53.53ID:??? バックアップ自体はめっちゃ必要でしょ 0408NAME IS NULL2020/09/07(月) 02:36:47.59ID:??? とったバックアッップいつ使うの? ユーザデータベースはわかるけど システムデータベースをリストアするイメージが湧かない 0409NAME IS NULL2020/09/07(月) 07:53:42.40ID:??? ハードウェア故障とか(震え) 0410NAME IS NULL2020/09/07(月) 10:36:53.26ID:??? 単体で動かしてるなら再インストールして必要な分再設定のほうが簡単だがな 0411NAME IS NULL2020/09/07(月) 11:14:37.06ID:??? “必要な分”が漏れなくすべてミスなく再設定できてるかどうかどうやって確かめるの? 0412NAME IS NULL2020/09/07(月) 16:11:23.92ID:??? 大事なのは環境構築の作業ログはちゃんと残そうぜだっぺ 0413NAME IS NULL2020/09/07(月) 18:06:08.83ID:???>>408 >>392-393サーバーのリプレースでどうするって話がもと うちはサーバを仮想化したから仮想環境を新しいサーバに移して、起動させるだけなんだけど OSのアップデートとSQLServerのアップデートを実施したって話
>>412 作業ログって人の作業記録だとすると、理解できる人材が必要 手順だけを詳細に書いておいても、バージョンアップ等で手順が変わると役に立たなくなる 理解できて対応できる人が必要 仮想サーバの移行は単純だし、単純なOSやSQLServerのアップデートはウィザードに従うだけでできるから、これで良いかなと思ってるところ 0414NAME IS NULL2020/09/07(月) 19:55:52.08ID:VUeEFudZ SQL Serverのバックアップの基本は論理バックアップなのかと眺めているけど、本当にそうだとすると大量データには不向きなRDBMSだな。 0415NAME IS NULL2020/09/07(月) 21:34:28.56ID:??? もしかして設定変更などguiで頑張ってるのか 0416NAME IS NULL2020/09/07(月) 22:07:50.44ID:??? sqlserver を仮想化するって遅くなるだけでメリットが感じられないな。 テストの時スナップショットからすぐ戻せるとか そんな事くらいしかメリットない。 サーバー移行も大きい仮想ドライブファイルコピーするのに休日返上で一気にやらないといけないとか大変そう。 バックアップなら完全バックアップ前日とってコピーして おいて当日差分バックアップとってそれだけコピーすればいいから早くすむと思う 0417NAME IS NULL2020/09/07(月) 22:42:49.93ID:??? 仮想化知らんのかw 0418NAME IS NULL2020/09/08(火) 12:25:02.82ID:???>>413 それは移行計画とか手順書を作る前の検証段階レベルで起こる話だから問題ないでしょ?教育にもなる
ぶっつけ本番前提ならそれはそもそもとして体制に問題ありって事だよ 0419NAME IS NULL2020/09/08(火) 14:39:08.95ID:HzvFsyRh イメージを戻すだけで済むようなシステムならもともと苦労なんかしないだろうに。 0420NAME IS NULL2020/09/13(日) 11:59:17.42ID:??? ちょっと困ってるので、詳しそうな人が多そうなここで質問
簡潔に言うとWindows10&WindowsServer2019+VS2019(ASP.NET,VB.NET)+SQLServer2019Expressでwindows認証接続してデバッグモードでプログラムは動作する。 それを発行してIISで参照するとDB接続に失敗する。 なんでだろう? 0421NAME IS NULL2020/09/13(日) 12:27:14.55ID:??? エラーメッセージを見ろよw 0422NAME IS NULL2020/09/13(日) 20:27:20.94ID:??? たぶんあのモジュールの設定がアレなんだと思うよ? 0423NAME IS NULL2020/09/14(月) 01:00:26.63ID:ix9Okpm5>>420 どうして失敗しているのがわかったのか? ありのままを知らせてくれないとわからないよ。 0424NAME IS NULL2020/09/14(月) 02:12:24.66ID:??? デバッグモードのときのあWebサーバは何なんだよ? それはどのアカウントで動かしてるんだよ?
多分、IISのアカウントがWindows認証で認証できてないんだろ 今のIISのアプリケーションプールとか仮想アカウントで動いてるし そのへんの仕組みちゃんと勉強する気がないならSQL Server認証でやっとけ 0425NAME IS NULL2020/09/14(月) 02:39:06.98ID:ix9Okpm5 IISすらろくに理解してないのがわかる質問だから、相手にしなくていいと思う。 0426NAME IS NULL2020/09/21(月) 16:11:02.91ID:gsw4bqcy MacのARM化に伴って、Mac+Docker+SQLServerみたいな組み合わせはできなくなりそうなんだけどさ SQLServerってARM Linuxへの対応は計画にないもんなの? 0427NAME IS NULL2020/09/22(火) 16:11:00.11ID:??? ここで聞かれても 0428NAME IS NULL2020/09/22(火) 17:03:29.93ID:??? ARM版WindowsのWOWを流用したら可能性はある 0429NAME IS NULL2020/09/22(火) 19:04:35.11ID:jrCQ1y5r macは需要のなさから、いろんなものが対応していない。 0430NAME IS NULL2020/09/23(水) 08:29:01.06ID:??? シーケンスの現在値がなぜか10個ほど巻き戻っていたせいで重複した番号が使われてレコード追加しようとしたときに一意性エラーでシステムが落ちてた 同じシステムで使われる他のシーケンスオブジェクトは問題なかったのに1個だけなぜか巻き戻ってた なんか似たようなことなったひといない? 教えてエロいひと 0431NAME IS NULL2020/09/23(水) 15:13:36.74ID:jpxv++AE SSMSから社外ドメインのサーバーのSSISに接続しようとすると、WINDOWS認証はできるのですが、SQL SERVER認証ができないためにログインできません。
これは仕様でしょうか? 0432NAME IS NULL2020/09/23(水) 16:23:58.55ID:??? ポートが通ってないんだろ 0433NAME IS NULL2020/09/24(木) 00:28:53.49ID:???>>432 ありがとうございます。
SSMSのログイン画面でSSISに接続しようとすると、サーバー名を入れる前から、WINDOWS接続しか選べないのですが、これもポートですか? データベースに接続する時には、WINDOWS接続とSQL SERVER接続が選べます。 0434NAME IS NULL2020/09/24(木) 14:21:52.81ID:??? そもそもそのサーバーでSQL SERVER認証する設定になってるのか? 0435NAME IS NULL2020/09/24(木) 19:22:22.67ID:???>>434 混合モードになっていて、DB接続は普通にできます。 0436NAME IS NULL2020/09/24(木) 20:54:34.93ID:??? 仕様ってことでいいんじゃねぇの 知らんけど
DB接続できるならSSISDB使えば? 0437NAME IS NULL2020/09/27(日) 21:52:54.46ID:??? Express版をいじってみてるんだけどさ これ、データベースのホットバックアップをとった時って、バックアップ中に行われた更新はどうなっちゃうの? 自動的にリストアに必要なトランザクションログもバックアップに含まれたりするん? 0438NAME IS NULL2020/09/27(日) 22:06:07.42ID:??? FULLバックアップならトランザクションログも含まれる 0439NAME IS NULL2020/09/27(日) 23:02:38.40ID:??? ありがとう さすが元々有料だったのものだけあるな 0440NAME IS NULL2020/09/28(月) 01:27:27.69ID:??? いろいろいじってたらそうか、流石に無料版はトランザクションログのバックアップに制限があって、使いづらくしてあるわけか 0441NAME IS NULL2020/09/28(月) 02:28:37.98ID:??? いやそんな制限ないだろ バックアップまわりの制限って圧縮ぐらいじゃね
SQL Server触るの初めてなのか?まず復旧モデルってのを理解してるか? 0442NAME IS NULL2020/09/28(月) 13:04:07.47ID:??? 正直、復旧モデルがいまいち理解できてない 理解しようと公式のドキュメントをなぞってたんだけど、そもそもExpressだとSimpleってのしか選べなくて続けらんなかったぜ 0443NAME IS NULL2020/09/28(月) 13:16:14.46ID:??? Simple(単純)ってのは、ログを保存、バックアップしない運用 Expressでも単純しか選べないってことはなかったと思うけどな インストール後でも変えれるから試してみ 0444NAME IS NULL2020/09/28(月) 16:00:50.71ID:??? せんきゅー! デベロッパーに変えたら使えたぜ、これでドキュメントなぞりができるが・・・・使えるようになったときに本番で使う金はねえ もし使うとしてもAzureの月700円のやつになっちゃいそう 0445NAME IS NULL2020/09/29(火) 10:05:54.68ID:??? ExpressでSimpleしか選べなかったバージョンって何? あとOSも何? 0446NAME IS NULL2020/09/29(火) 13:59:55.80ID:??? ごめんなさい リカバリーモデルを選択する画面を間違えていました 確かにExpressでも選択できました 0447NAME IS NULL2020/10/15(木) 22:52:25.90ID:??? SQL Server2016インストール後、IPアドレス変更した場合 特にする事はないのですか? 0448NAME IS NULL2020/10/24(土) 20:31:09.40ID:???>>447 DBエンジンそのものは問題なく動くはず 0449NAME IS NULL2020/11/02(月) 15:26:45.98ID:??? SQLサーバーインストールする時にデータベースエンジンにしかチェック入れていないのにクライアント接続ツールとかが自動的にインストールされる理由を教えてほしいです 0450NAME IS NULL2020/11/02(月) 19:37:23.45ID:gbiAIS+S いつものサーバー君ですか? 0451NAME IS NULL2020/11/02(月) 19:40:53.40ID:??? はい 0452NAME IS NULL2020/11/12(木) 23:39:34.81ID:??? スレを間違えてしまってこちらに誘導されてきました SQL Server Developerエディションについて教えて下さい。 このエディションは開発用となっていますが、機能的にはスタンダードと同レベルで使えるのでしょうか? また実稼働では使用不可とはおもいますが、ライセンス的にはどこでみわけてるのでしょうか? 使用していると定期的に確認メッセージが出たりするのでしょうか? 0453NAME IS NULL2020/11/13(金) 17:00:45.94ID:??? 機能的にはエンタープライズだったはず ライセンスはたぶん確認とかないと思う 0454NAME IS NULL2020/11/13(金) 19:00:35.80ID:??? テレメトリーで確認してます 0455NAME IS NULL2020/11/14(土) 02:55:42.24ID:5WdagOao>>452 商用ではない非運用ならいいというもの エンタープライズという名前にしてしまうと、商用で使ってしまう可能性があるから、エディション名を分けたのだと思う。 0456NAME IS NULL2020/11/16(月) 21:28:14.28ID:5VqfDNor パッケージソフトをvpn環境でクラサバ運用し始めたのですがクライアントからだとメチャソフトの動作が遅いです。 見直すのはサーバーの性能?クライアントpcの性能?vpnの回線の速度?どこから見直したほうが良いでしょうか? 0457NAME IS NULL2020/11/18(水) 08:54:02.70ID:??? SQL server2019を買って2017にダウングレードしようと考えてるんですが、やり方を調べると2017の媒体を自前で用意する必要があるのは分かったのですが2017のプロダクトキーも自前で準備するのでしょうか?
2017で持ってるプロダクトキーは他サーバーで稼働中のものしかなく、どちらもバンドル版です。 0458NAME IS NULL2020/11/19(木) 15:32:39.73ID:??? バンドル版のライセンス関係はその販売元に聞けってのが原則 0459NAME IS NULL2020/11/19(木) 15:58:34.37ID:??? 「他サーバーで稼働中のライセンスを流用できませんか?」 ってバンドル版の販売元に聞くの?
アホか 0460NAME IS NULL2020/11/20(金) 10:24:55.66ID:??? メディアとプロダクトキーを流用していいか聞くんだが? ライセンスは2019買う前提だ バンドル版じゃなければそれで行けるはずだが、バンドル版はいろんな条件が追加されてる可能性があるからな 0461NAME IS NULL2020/11/20(金) 12:58:39.69ID:???>>460 他のライセンスのプロダクトキーを流用していいわけないだろ 0462NAME IS NULL2020/11/20(金) 23:54:47.82ID:??? ダウングレード権でそのプロダクト使う権利あればプロダクトキーも使って良いはずだが 0463NAME IS NULL2020/11/21(土) 10:27:18.32ID:???>>462 これマジ?って思って確認したら 今は知らんけど少なくとも昔は違うライセンスのプロダクトキーを流用しても良かったみたい https://social.technet.microsoft.com/Forums/en-US/4212d73b-626d-46fd-80b8-01d48d7b777d/0464NAME IS NULL2020/11/30(月) 14:27:49.98ID:??? 今さらなんだけどSQL Server Native Clientが推奨されていない事に気がつきました MSOLEDBSQLへのプログラム書き換え結構面倒ですね(VB.NET) (コネクション、コマンド、アダプター、データリーダーの名前が変わる) SQL Server 2005から開発してて現状2017です
SQL Server Native Clientでは新機能サポートしないと書いてましたが 2017からのFORMATMESSAGE 関数は使えてます CommandTextにT-SQL自分で書くやり方は影響しないのかな? 0465NAME IS NULL2020/12/01(火) 05:14:39.15ID:???>>464 接続文字列書き換えるだけじゃないのか 新旧の名前教えてくれ 0466NAME IS NULL2020/12/01(火) 08:37:58.29ID:??? SQL Native Clientの場合 System.Data.SqlClient 名前空間 "Data Source=192.0.1.1;User ID=user;Password=pwd;Initial Catalog=db1" 接続文字列 Using a1 As New SqlConnection(ConnectionString) ,a2 As SqlCommand = a1.CreateCommand ,a3 As New SqlDataAdapter(a2)
MSOLEDBSQLの場合 System.Data.OleDb 名前空間 "Provider=MSOLEDBSQL;Data Source=192.0.1.1;User ID=user;Password=pwd;Initial Catalog=db1" Using a1 As New OleDbConnection(ConnectionString) ,a2 As OleDbCommand = a1.CreateCommand ,a3 As New OleDbDataAdapter(a2)
とある遅いクエリの改善についてはどうでもいいです 0581NAME IS NULL2021/11/11(木) 21:43:45.41ID:6iIlck1C なぜやってみないのか? 0582NAME IS NULL2021/11/11(木) 23:20:50.43ID:??? 使えないとはどういうことを言ってるんだ? インデックスはってもそのカラムが使えなくなることなんてないぞ
実行時にそのインデックス使うかどうかはわからんがな そのパターンでインデックス使って早くなるのは大体はキー参照しなくて済むパターン だから通常のインデックス列ではなくて付加列で良いというお薦めだろう 0583NAME IS NULL2021/11/11(木) 23:40:31.54ID:??? さすがにそれは文脈でわかってやれやw 0584NAME IS NULL2021/11/12(金) 00:03:37.35ID:???>>582 日本語下手でごめんね。
例えば、 create table AAAA ( colmun01 char(4) not null ,colmun02 char(4) not null ,seq int not null ,first_date varchar(8) null ,last_date varchar(8) null ,primary key ( colmun01 ,colmun02 ,seq ) )
ってテーブルがあって
select colmun01 from AAAA where colmun02 = 'BBBB' and '20210401' between isnull(first_date, '00000000') and isnull(last_date, '99999999')
ってクエリを実行して実際の実行プランを確認したら
CREATE INDEX CCCC ON DDDD( colmun02) include(first_date,last_date )
が足りないんじゃない? って出ました。
付加列の中のカラムはisnull関数の引数なんだけどなんで?
ってなったんで最初の質問になりました。 (WEBだけだけど)調べても出てこなかったんで
first_date、last_date が date型じゃなくてvarchar型 なのは許して。元のテーブルがそうなんで 0585NAME IS NULL2021/11/12(金) 00:37:13.12ID:??? サジェストされてるインデックス追加すれば付加列としての効果はあるね
でもそもそもBETWEENの左側に固定値をもってくる書き方って有りなのかなぁ isnull不要にしてfirst_data, last_dateをキーとしてインデックスはっても Index Seekにはならないような気がするんだけど実際どうなんだろ 0586NAME IS NULL2021/11/12(金) 01:46:20.70ID:???>>585 付加列の効果あるんですか。
ついでにで申し訳ないのですが、今まで実行プラン上でindex seek、またはindex scanになっていることを「indexが効いている」と表現していたのですが、これは一般的に間違っていますか? 質問の中で色々表現がおかしく、理解しづらい部分もあったと思いますので少しでも修正できればと思っております。 0610NAME IS NULL2021/11/15(月) 23:40:19.19ID:???>>607 今迄はあなたと同じように「オプティマイザの気分」で済ませてたのですが、今回は少し突き詰めたかったのです 0611NAME IS NULL2021/11/16(火) 00:00:34.73ID:??? SQLserverのハードを買い替えようと検討してもるんだけどストレージをSSDしても大丈夫か聞きたい。 SSDは書き込みの回数制限があり、頻繁な書き込みのあるSQLserverには向かないと昔聞いた事あったんだけど今は大丈夫か教えて下さい。 0612NAME IS NULL2021/11/17(水) 00:13:51.33ID:???>>611 SQLserverに向かないってよりもアクセス頻度の問題のような気がするけど。 ssdって言ってもqlc,tlc,mlcのような種類もあるし。 ただ、前にベンダーに見積もりとった時に聞いたのは利用用途が中規模のwebサービスなら、5年位であればそんなに気にしなくて良いって言われた。(ここでのSSDの種類が何か、中規模がどの程度かは忘れた。参考にならずすまん) ちなみにどんな利用用途なの? 社内用か、インターネットに公開してるサービスなのか(1日のアクセスはどの程度か)、それとも個人用か
個人用でもなければどこかのベンダーに話聞いちゃった方がいいかも 0613NAME IS NULL2021/11/17(水) 18:17:30.15ID:???>>612 アドバイスありがとう 用途は会社でデータウエアハウス的利用です。日次で基幹システムからデータ取得して蓄積するようなデータサーバです。 DELLの直販で買う予定でサーバ向けSAS接続のSSDだから大丈夫だと思う。 一応DELLに問い合わせしときました。 0614NAME IS NULL2022/01/22(土) 16:40:07.61ID:ANkLRIq9 レプリケーションというのを初めて設定しているのですが 「スナップショットエージェントが起動していません」のMSGが 出てスナップショットが取れません。 これってSQL Server エージェントとは別物ですか? SQL Server エージェントは起動しているのに…。 すみませんが、わかる方がいたら教えて下さい。 0615NAME IS NULL2022/01/26(水) 17:15:02.37ID:IRw1UwiV オブジェクト名'sysservers'が無効です。エラー208 これどういった調査をすれば良いのでしょうか? 0616NAME IS NULL2022/01/26(水) 19:31:05.33ID:??? sys.servers じゃね? 0617NAME IS NULL2022/01/27(木) 01:31:47.35ID:??? 将来のバージョンで廃止予定とかになってるけど、バージョンいくつ使ってるんだろうな 0618NAME IS NULL2022/01/27(木) 05:37:50.20ID:???>>617 2008R2です。 0619NAME IS NULL2022/01/27(木) 17:53:32.89ID:??? 何をどうしたらそのエラーが出たのかと、エラーメッセージを正確にかけ 0620NAME IS NULL2022/01/27(木) 18:24:31.13ID:??? サブスクリプションの新規ウィザードで パブリケーションを選択して次へをクリックすると 先のメッセージと一緒に「パブリケーションの 情報が取得できません」のMSGが出て先に進めません。 SQL SERVER2008R2です。 2019の評価版で試すと問題なく設定できます。 0621NAME IS NULL2022/01/27(木) 21:44:41.14ID:??? パブリケーション側のバージョンは? 0622NAME IS NULL2022/01/27(木) 22:05:05.99ID:??? パブリケーション側のバージョンが2008なのかな? SSMSのバージョンを2008をサポートしてる古いやつで試すといいんでない? 0623NAME IS NULL2022/01/28(金) 05:39:07.73ID:???>>622 パブリケーション側が2008です。 SSMSのバージョンについては 全く頭にありませんでした 試してみます ありがとうございました 0624NAME IS NULL2022/01/28(金) 08:10:53.42ID:98qoK9/E>>622 サブスクリプション側のSSMSをver10に変えたら出来ました。 本当にありがとうございました。 0625NAME IS NULL2022/03/16(水) 06:19:16.79ID:??? 大したデータ量でもないのに「クエリの実行中にMemoryGrantを25秒間待機する必要がありました」との警告が出て処理が遅くなるんですが対処法はないでしょうか。 また値が1, (2 or 3), (4 or 5)でそれぞれ集計したいのですがどのようなSQLにすればいいのでしょうか 0626NAME IS NULL2022/03/16(水) 16:26:28.69ID:???>>625 >大したデータ量でもないのに「クエリの実行中にMemoryGrantを25秒間待機する必要がありました」との警告が出て処理が遅くなるんですが対処法はないでしょうか。 テーブルとインデックスの構成、クエリ内容、実行プランを確認して原因を突き止めてください 原因が分かったらテーブルやインデックスを変更したりクエリを変更して対処してください
>また値が1, (2 or 3), (4 or 5)でそれぞれ集計したいのですがどのようなSQLにすればいいのでしょうか 現在のテーブル構造と欲しい結果のイメージを提示してください 0627NAME IS NULL2022/03/16(水) 17:12:02.73ID:???>>625 > また値が1, (2 or 3), (4 or 5)でそれぞれ集計したいのですがどのようなSQLにすればいいのでしょうか select case when 値 = 1 then '1' when 値 = 2 or 値 = 3 then '2 or 3' when 値 = 4 or 値 = 5 then '4 or 5' end as 値, sum(集計列) as 集計 from テーブル group by case when 値 = 1 then '1' when 値 = 2 or 値 = 3 then '2 or 3' when 値 = 4 or 値 = 5 then '4 or 5' end 0628NAME IS NULL2022/03/19(土) 18:54:37.22ID:??? 開発サーバにいれるSQLServerのエディションをDeveloperにするの問題ないでしょうか 利用目的はシステム改修の開発単体テストから総合テスト、受入テスト あとは本番サーバで不具合でたときの検証目的で使用するのは数名〜Max20人くらい バージョンアップの準備してて、経緯不明なんですが開発サーバが今Enterprise入ってて変えて問題ないなら変えたい 本番はEnterpriseです 0629NAME IS NULL2022/03/20(日) 13:06:14.65ID:???>>625 MemoryGrantで待機ってメモリが足りてない ・SQLServer以外のプロセスがメモリ食ってSQLServerのメモリが小さくなってる可能性 →SQLServerの最大メモリ最小メモリの設定、SQLServerのサービスアカウントにメモリのページロックの特権がついてるか ・メモリめっちゃ使うクエリが同タイミングで動いてる可能性 →パフォーマンスモニタのBufferManagerカウンターで急激な変動がないか確認、動的管理ビューでその時間帯に動いてたクエリででかいのを調べる ・そのクエリがめっちゃメモリ食う →これは626
昔使うメモリの計算に不具合あった覚えあるけど、あれは2008か2012くらいのSPで解消されてたような 0630NAME IS NULL2022/03/25(金) 16:26:14.25ID:??? Express版は10GBまでは使用できるようですが、 10GBを超えそうだという警告などは設定できるのでしょうか? 定期的に使用領域を確認していないと、ある日突然なにもできなくなってしまうのでしょうか? 0631NAME IS NULL2022/03/26(土) 05:22:50.26ID:???>>630 このページにあるクエリを実行するスクリプトを作成し、タスクスケジューラで定期実行してみてはどうでしょうか クエリの結果をもとに、自分で決めたしきいち値超えたら警告メールを送るような処理も加えると監視をほぼ自動化できそうですね 0632NAME IS NULL2022/03/26(土) 05:24:39.02ID:???>>630 ページの情報が抜けてた。。。 「データベースのデータとログの領域情報を表示する」でググってみてください 0633NAME IS NULL2022/03/27(日) 04:43:57.62ID:g/u0dazF ディスク容量を常に気にしていない運用という点が突っ込みどころなんだろうな 0634NAME IS NULL2022/03/27(日) 09:21:36.36ID:??? 今どき10GBの容量を気にする運用って… 0635NAME IS NULL2022/03/27(日) 12:27:12.36ID:???>>631-632 ありがとうございます クエリで問い合わせられるのなら、いろいろできそうです 0636NAME IS NULL2022/03/27(日) 14:58:09.23ID:???>>633 ディスク容量を常に気にしたところで役に立たないという点が突っ込みどころなんだろうなww 0637NAME IS NULL2022/03/27(日) 21:51:16.43ID:g/u0dazF>>636 どこにファイルが作られているのかを気にしてない時点でおかしんだけどな。 0638NAME IS NULL2022/03/27(日) 22:22:31.32ID:??? > どこにファイルが作られているのかを気にしてない どこからそんな妄想が?w 0639NAME IS NULL2022/03/27(日) 22:26:31.76ID:???>>637 知らんのなら大人しくしとけよw お前のオツムのほうがよっぽどおかしいぞ 0640NAME IS NULL2022/03/28(月) 20:26:23.25ID:??? 今、自分1人で使ってるスタンドアロンのACCESS DBがクソ重くて激不安定なので 同じ事をSQL serverでやろうとしてるんだけど 1人でスタンドアロン使用の場合、Developer版を 「永遠に開発中」という設定にしとけばライセンス違反にならない? 0641NAME IS NULL2022/03/28(月) 23:45:33.37ID:YrCsxNrI>>640 Expressを使わずにDeveloperを使わないといけない理由は? 0642NAME IS NULL2022/03/29(火) 01:49:02.52ID:??? ちんちんシュッ!シュッ!シュッ! 0643NAME IS NULL2022/03/29(火) 02:24:28.51ID:???>>640 M$に聞け 0644NAME IS NULL2022/03/29(火) 08:14:33.09ID:???>>641 別にexpressでもいいんだけど 単にdevelopは制限が全くないのでこっち使おっかな、程度の事です 0645NAME IS NULL2022/03/29(火) 08:20:42.50ID:??? そんなやつがライセンス気にしてるのかw 0646NAME IS NULL2022/03/29(火) 11:33:14.27ID:???>>640 明らかにライセンス違反 0647NAME IS NULL2022/03/29(火) 13:26:38.05ID:???>>640 止めとけ 素直にMySQLかPostgreSQL使え 0648NAME IS NULL2022/03/29(火) 23:39:12.46ID:BT3fAchA>>647 そんな理由で別製品にするなんて素人が言うことだろw 0649NAME IS NULL2022/03/30(水) 00:51:56.50ID:??? SSMSでストアドのテストドライバ生成機能ってありますか? ※Sqldeveloperみたいな感じの、っていう表現で伝わりますかね
あるいは皆さんの、ストアドの単体テストの楽な方法とかも何かtipsがあれば 0650NAME IS NULL2022/03/30(水) 01:29:25.29ID:??? Visual StudioのSQL Server Data Tools(SSDT) 0651NAME IS NULL2022/03/30(水) 02:36:50.14ID:Q0Wnmomb>>649 そもそもTransact-SQLをわかってますか? 0652NAME IS NULL2022/03/30(水) 09:01:40.57ID:??? いつものことながらID付きはとことん的外れだな 0653NAME IS NULL2022/04/02(土) 00:32:00.52ID:??? 接続文字列のData SourceとServerに違いはあるの? どちらもサーバーのインスタンス名かIPアドレスとポートの指定だと思ってるけど 0654NAME IS NULL2022/04/02(土) 03:40:35.60ID:??? SQLServerでServerといったら基本的にはSQLServerがインストールされているサーバーかサーバーとそのインスタンス名まで DataSourceとなるとSQLServer以外のDBMSやフラットファイルも含まれる 0655NAME IS NULL2022/04/02(土) 13:18:09.84ID:???>>654 ありがとうございます 0656NAME IS NULL2022/04/05(火) 17:10:51.74ID:??? 久々にSSMS2008を触ってて クエリショートカットのカスタマイズした機能が動かなくなってるんだけど 同じようなことしてる人いる?(COMMITとROLLBACK) https://dotup.org/uploda/dotup.org2767912.png0657NAME IS NULL2022/04/05(火) 18:16:10.44ID:???>>656 ごめん自己解決 間違ってF5押してたわ 0658NAME IS NULL2022/04/06(水) 22:53:45.80ID:2Dm57SjU F5キーでコミットとはおそろしい発想だな 0659NAME IS NULL2022/05/17(火) 09:25:02.74ID:??? tes 0660NAME IS NULL2022/05/19(木) 16:16:58.24ID:QTEsI/3c 教えて下さい。 ACCESS2019、SQL Server2012利用しています。
Accessの不具合っぽい 0663NAME IS NULL2022/05/25(水) 01:02:51.71ID:q0WabceL sql serverにアプリから接続しているクライアントPCって 利用状況モニターで確認できますが、過去の履歴ってどこから見れますか? 0664NAME IS NULL2022/05/25(水) 11:21:36.57ID:???>>663 利用状況モニターってたぶん動的管理ビューから情報とってるから、それの過去データ見たいならそれをとるように設定しないと データコレクションがそれなんだろうが自作でクエリ組んでSQLAgentで動かすほうがカスタマイズしやすいと思う あとは、どういう風にデータを見たいかだけど拡張イベントでログインログアウトとるとかも有りかな 0665NAME IS NULL2022/05/25(水) 16:42:31.89ID:??? どういうログがいるのかわからんが、監査ログで良いんじゃないか 0666NAME IS NULL2022/05/25(水) 23:54:39.54ID:??? 監査ログって拡張イベントを監査用にまとめただけでしょ 簡単にやれるぶん融通がきかない 項目とフィルタの設定の自由度ほしいなら拡張イベント一択 0667NAME IS NULL2022/11/15(火) 22:39:41.69ID:54ouQ1K1 sql sever 2019で、ファンクションを作成しています。 その処理の中で、番号を管理する列から最大値を取得して1を加えたものを新しい番号として同じテーブルにインサートしようとしています。 その処理の間に、他からこのファンクションを呼び出されて割り込まれることを防止するため、ファンクションが完了するまでテーブルロック(排他ロック)をかけたいのですが、どのような記述が必要でしょうか。
begin transaction commit のような感じで関係するステートメントをかこえたらよいのですが。 0668NAME IS NULL2022/11/15(火) 22:53:59.24ID:???>>667 自作せずにSEQUENCEをNO CACHEで使えばいいよ 0669NAME IS NULL2022/11/15(火) 23:38:08.24ID:uZbfP42z>>668 早速のレスありがとうございます。
連番はSQL SEVERに自動で振ってもらおうと思います。 そして、INSERTとOUTPUT inserted.*を使って、 その新しい番号を得たいと思います。 0670NAME IS NULL2022/11/15(火) 23:42:08.86ID:uZbfP42z>>669 訂正します INSERTにOUTPUT inserted.*を組み合わせて 0671NAME IS NULL2022/11/17(木) 12:06:05.40ID:??? SQL Server 2022 is now generally available https://cloudblogs.microsoft.com/sqlserver/2022/11/16/sql-server-2022-is-now-generally-available/0672NAME IS NULL2022/11/17(木) 19:21:02.25ID:???>>667 まず分離レベルってのを理解しような 0673NAME IS NULL2022/11/17(木) 23:47:32.26ID:???>>671 エクスプレス版を取りあえずダウンロードだけしといたw SSMSが同じだからなあ…どうなんだろ 0674NAME IS NULL2022/11/24(木) 11:28:43.27ID:DKlnX/+1 質問です。
マイクロソフトそのものが諦めているのに、SQL Serverに期待しすぎの人間がこのスレにいるのは、日本マイクロソフトの周知不足なんだろうな。 0788NAME IS NULL2023/06/17(土) 08:44:00.04ID:5Ljw3AHe SQL Serverは同じテーブルに複数のセッションから同時にSELECT文を発行すると、極端に遅くなることがある。
さすがにこう説明すれば、作りに問題があることがわかるだろ? 0789NAME IS NULL2023/06/17(土) 11:04:09.78ID:??? だから、どこが崩壊してるんだよ。 自分の台詞だろ。まずそこを説明しろよ。 0790NAME IS NULL2023/06/17(土) 11:04:34.79ID:??? あ、失礼。 x 説明 o 証明 0791NAME IS NULL2023/06/18(日) 23:16:22.92ID:??? 何の根拠もなくここまで文句言えるとは SQL Serverに親でも殺されたのか
期待してるどうこうではなくて、正しく理解して使いたいだけで 正しいかどうかもよくわからん情報を垂れ流されても困るんだがな 0792NAME IS NULL2023/06/19(月) 19:27:17.18ID:4/v87WeP 共有ロックの意味が違うぞ 0793NAME IS NULL2023/06/24(土) 16:50:28.70ID:kF0ecW7R 3行めから6行目までのデータを抽出するときってどうやって書いたらいいですか? 0794NAME IS NULL2023/06/24(土) 16:53:00.13ID:kF0ecW7R>>793 SELECT * FROM テーブル名 LIMIT 4 OFFSET 0795NAME IS NULL2023/06/24(土) 16:53:55.90ID:kF0ecW7R>>794 OFFSET 6; とするとエラーが出ました 0796NAME IS NULL2023/06/24(土) 19:51:58.99ID:??? この辺りのこと? ttps://sql-oracle.com/sqlserver/?p=857 0797NAME IS NULL2023/06/24(土) 22:11:08.28ID:kF0ecW7R>>796 すいません。 これです 調べきれてなかったです。 ありがとうございます。 0798NAME IS NULL2023/06/25(日) 09:25:22.34ID:ABQ2v09G 2行目の5列目のみを抽出したいときってどうすればできますか? SELECT 5列目の列名 FROM テーブル名 まではわかったのですが。。。 0799NAME IS NULL2023/06/25(日) 11:29:58.29ID:??? 796 の応用でできるでしょうに。 0800NAME IS NULL2023/06/25(日) 11:47:11.55ID:ABQ2v09G>>799 同じように入力してみます。 すいません。 0801NAME IS NULL2023/06/27(火) 17:05:56.20ID:??? select s from テーブル名 s where s.email = $1;
この s って何でしょうか? AS句を省略してる的な感じなのでしょうか? 0802NAME IS NULL2023/06/27(火) 17:33:51.50ID:??? そうだよ テーブル名のエイリアス 0803NAME IS NULL2023/06/27(火) 18:30:54.86ID:???>>802 合ってたんですね。 ありがとうございます。 ググるにも何て調べたら良いかわからず困っていました。 0804NAME IS NULL2023/06/27(火) 19:16:12.82ID:XSnmrLrK 同じテーブル同士をjoinする意味ってなに? 0805NAME IS NULL2023/06/27(火) 19:16:57.47ID:XSnmrLrK ですか? 同じテーブルを隣同士に繋げても意味ない気がして。。 0806NAME IS NULL2023/06/27(火) 19:27:51.68ID:??? 同じテーブルでも行ごとに中身がちがうんだから 違う行をつなげる意味はあるだろう 0807NAME IS NULL2023/06/27(火) 19:55:39.96ID:XSnmrLrK 行を消せたりするってこと? 0808NAME IS NULL2023/06/27(火) 21:58:44.24ID:XSnmrLrK LEFT OUTERJOINの説明で、結合した時に余計なデータを取ってくるとノイズになるって説明見たんですけど、(ノイズ)ってなんの意味ですか? NULLばっかりになるってことですか? 0809NAME IS NULL2023/07/14(金) 20:40:09.51ID:???>>808 行数もそうだがむしろ select *fromなんて指示したらどえらい列になるってことでは 0810NAME IS NULL2023/07/15(土) 12:24:05.87ID:ZDu5V+2v ? 0811NAME IS NULL2023/07/15(土) 13:28:07.72ID:??? 不要な列のデータ=ノイズって解釈なのだろうとエスパー。 0812NAME IS NULL2023/07/15(土) 16:37:15.54ID:??? たぶんそういう意味だろうね (特に右テーブルの)不要な列を取ってくるなってことを言いたかったんだろう 0813NAME IS NULL2023/07/15(土) 22:00:38.83ID:aJ3C4xJo>>812 左右が逆 0814NAME IS NULL2023/07/15(土) 22:04:46.99ID:aJ3C4xJo>>812 難解な表現だな。 0815NAME IS NULL2023/07/15(土) 22:05:30.45ID:aJ3C4xJo>>809 列指定にアスタリスクを使うことはあまりない 0816NAME IS NULL2023/08/07(月) 00:03:36.76ID:KYaloyhj Developer Editionのライセンス規約数年前に変わったはずなのに、未だに開発者しか使えないと 大手ベンダですら勘違いしているのはマイクロソフトの宣伝周知足りないよな こっちは損しないからどうでもいいけど、無駄な金払う顧客が可哀想・・・ 0817NAME IS NULL2023/08/08(火) 01:33:23.95ID:??? 昔もいまも開発用途にしか使えないと思うんだが