Microsoft SQL Server 総合スレ 11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
Microsoft SQL Server (Transact-SQL) の総合スレッドです。
・Microsoft 公式サイト
http://www.microsoft.com/japan/sql/
過去スレとかめんどいから誰か適当に貼って 結論は何も考えずにnolock入れるつもりなら止めとけってことじゃないの >>354
今時の代替手段はどんなの?
>>356
何を懸念してるか知らんが問題ない
欠番の発生は想定内 >>358
> 今時の代替手段はどんなの?
シーケンスだろ >>362
違う
シーケンスとかIDENTITYは製品間で互換性無いって言ってんだろ 何でこの程度のことググらないのか、毎度ながら不思議 むしろお前が教えればいいだけなのにどうしてわざわざググらなければいかんのか https://goo.gl/q9Ml0S
これは嘘でしょ?本当だったら落ち込むわ。。 >>332
>「ストアド」 = 「DBに格納できる一連の手続き」
いかにもシステム屋さんな定義だなw >>374
では、君の素晴らしい定義を教えてもらおうかな いきなり答えあわせじゃおもしろくないから
「>>374に笑われない定義は何かな?」ゲームしようぜ べつに>>374の定義はどうでもいいけど
>>374が何屋さんを自称するのか気になるわ >>375-378
おいやめろw
俺はこの業界にどっぷりのただのIT土方だよ。
定義があまりにもプロっぽい(同業っぽい)からちょっとつついてみただけだw すみません。質問させてください。
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.プロシージャ・・・ create or replace
じゃ不満なのか? 不満はないんだけど、なんでかなと。そういうものなんだと思っときます。 物凄く初歩的で申し訳ないのですが、SQL Server2008をSQL Server2014へ
アップグレードでインストールした後、不要な2008を消したいんですが
普通にアンインストールでいいものなんでしょうか。 >>383
たぶん良いんじゃないか。
結果を教えてくれ。 >>383ではないが
2008R2 Express SP3を2016 Expressにして、2008をアンインストールしてみた
軽く動かした感じでは動いてるっぽいけど
2008のアンインストールが色々手間だった
まあ実務マシンなら、俺ならアンインストールせずにスタートメニューだけ消しとく 俺なら2008アンインストール、2016インストールするけど Windows ServerでSQL Server 2012を入れております
SSMSでバックアップのスケジュールを確認しようとしたんですが管理にメンテナンスという項目がありません
SSMSを見てもExpressという表示はないんですが原因って他にありますか? ログインユーザーがsysadminじゃなかったってのは昔あったな https://msdn.microsoft.com/ja-jp/library/ms178127.aspx
Agent XPsが無効だとメンテナンスプランやらエージェント使えないんでは
あー、でもこれメンテナンスの項目は出てた気がするなあ >>388
sysadminというのはロールですよね?
Administratorですし、sysadminにもチェックはありました SSMSってエディション関係ないからな。DBエンジンがEXPRESSだったって落ちじゃないのか
接続先のバージョンとか出てたっけ 2016のssmsとexpress使ってるけど、imeの問題は出ないぞ Visual Studio 2015 Express 使ってるけどごくまれ(数ヵ月に一回ぐらい)IME がOnにならなくなる時がある
メモ帳とかを起動してIMEをOnにしたりするとVisual Studioでも普通に使えるようになるからあまり気にしてないけど >>389
項目は出ているけど開けなかった記憶あるわ
項目自体出てないのは>>392の通りExpress使っているとかじゃないのかね すいません、たぶんDBのほうがExpress使ってるかもしれません
どこで確認できますか?また自動でバックアップする方法とかありますか? SqlServerに特化したPowerShellがあるらしいけど、使ってる人いるのかな? >>396
マジで言ってるのかアレだなあ...
▪️エディション確認
・繋いだインスタンスを右クリックでプロパティ
・masrerデータベースで
select @@version
▪️バックアップ
Backup database コマンド書いたSQLファイルを
sqlcmd/osqlで呼ぶbat書いてタスクスケジューラに登録
expressで開発、検証じゃなく本番運用する気なら
悪いこといわんからstandard買って載せ替えるが宜しい
奉行とかPCAとかのパッケージバンドルかねえ アップルラボ 詐欺 怪しい 疑惑 iPhone 修理 非正規店 グレーゾーン 韓国 中国
根本つとむ 中卒 ブサイク ブス キモい 詐欺師 生活保護
根本つとむ 逮捕 犯罪者 罪状 重要参考人 障害者 アスペルガー症候群
アップルラボ 被害者の会 壊れた おかしい 犯罪 故障 iPhone7 スティーブジョブズ
アップルラボ 脱税 iPad 脱獄 水没修理 MacPro 買取
アップルラボ 誇大広告 2ちゃんねるで宣伝 消費者センター 粉飾決済 恥 ダメ
アップルラボ 迷惑企業 最低 やめて欲しい 中卒 変 創価学会 中国 >>397
> SqlServerに特化したPowerShellがあるらしいけど
どこの情報?
普通に [Data.SqlClient] 経由で使うのとなにか違うの? Hyper-V クラスタ上の仮想サーバー(4コア割当)にSQLServer2016stdをインストールしたとき、SQLServerの必要ライセンスを教えてください じゃやっぱりWinマシンを買うところからってことですね
>>405
使えないということと書けるの違いはどう理解すればいいですか? >>406
SQLとSQL serverの違いはわかってる? んと、SQLはプログラミング言語で
SQLserverはMS社のデータベース 何に混乱しているかというと
SQLserverのWikiを読むと言語はc,c++,c#とある
でも他の本ではSQL自体をプログラミング言語と書いてある
そこでちょっと混乱
https://ja.m.wikipedia.org/wiki/Microsoft_SQL_Server その記載ってSQL Serverを作成した言語の話じゃないかな >>411
そういうことなのですか
ありがとうございます
ではもとい、Winマシンを買うのは必須ですね 仮想環境入れて、そこでWindowsを動かすという方法もあるけれど
どういう目的で使うのか、どの位の頻度で使うのかにもよるだろうね >>413
会社は普通にWindows機なんで、macは自宅学習用です
プログラミング自体初めてなので家でも勉強しようと思って macはバカが使うものだからバカになりたくなかったら今すぐ捨てた方がいいね >>414
MacBookPro15なら、そこそこパワーがあるしMemoryも乗っているから
仮想環境でそれなりに動かす事はできる
それ以外のときはBoot Camp使って、起動を切り替える方が良いかもしれない
SSDだろうから切り換えしてもそれほどストレスにはならないと思う >>419
>>420
ありがとうございます
macにWindows入れること検討してみたいと思います
macはモニターの色は綺麗だし普段使いには満足してますが、office系ソフトはショートカットが使えなくて戸惑うし一長一短ですね
家に仕事持ち込むわけではないので、まずは会社のWindowsで慣れてから再度考えようと思います sqlを練習する程度ならmysqlでもいいんじゃないか?
Macでも動くし。 >>422
そうなんですか!?
前に調べてた時macでも使用可なのがあった記憶がベースで今回の質問に至っておりまして…
それがmysqlだったのかもしれません
ありがとうございます!
まずはそこからやってみます >>423
そんなに驚くなよ。
sql server expressはwindows専用だが
それ以外のフリーなdbソフトは大体はMacでも動くんじゃないか?俺はMac持ってないが SQLServerのデータファイルの自動拡張がタイムアウトしたってイベントログ出てるんですが
自動拡張時のサイズ小さくすれば解決するもんなのかな?
書き込みが頻発するとディスクアクセスがボトルネックになりそうなんだが
そもそものタイムアウトが発生するところをケアすべきよね
やっぱ >>425
自動拡張の初期値はファイルサイズのX%なのでサイズがでかくなるにつれ拡張サイズも増えて処理がタイムアウトするから拡張サイズは固定値にした方が良いよ
ログファイルじゃなくてデータファイルならそもそものデータ見積もりが誤っているという話もあるが すんません、
「やってみたら?まぁ上手くいくわけないんだけどなwせいぜい絶望してファントム生んでろw誰もエンゲージしねーけどw」
って事かと思って保留してました。
実践していただいた方もいて、助かりました。やってみます。
自分のPCなんで最悪HDDのイメージ取ってから試せば何とでもなるんですけどね。
試行錯誤できる環境を作る時間がなくて。
でもHDDの空き容量もなくて。
そして人生の余裕もない。
もう死にたい。全てが嫌になった。 SQL2014の自動拡張で質問です。
例えば10MBまたは100MBと指定して拡張されたタイミングまたはログというのは何処で確認できるものでしょうか?
SQL2008だと「ディスク使用量」レポートで確認できるという記事を見かけて
2014環境で確認しましたが思うような結果が得られませんでした。
復旧モデルが単純だったせいなのか、2014では別のレポートで出力出来るのか判断がつきかねています。
ど素人なので的外れな事を書いているかもしれませんが何かヒント頂ければ幸いです。 SSMSで管理のSQL Serverログとか
OSのイベントビューアでアプリケーションログとかになんか吐いてなかったっけ なんでちょっとMSの中の人よりの言いかたなんだよw >>429
ありがとうございます
ご鞭撻頂いた項目で確認したいと思います 質問させてください。
SQLServer2008 R2で、主キーにクラスタ化インデックスを指定されたあるテーブルに対し、
主キーを指定した単純なSelect文を発行して実際の実行プランを表示させたところ、なぜか「TableScan」となります。
・WHERE句に主キーを指定したのになぜ「Clustered index seek」にならないのでしょうか?
少なくとも「Clustered index scan」にならないのはなぜでしょうか?
この点についてなにかこういうところを確認してみろという部分はありますか?
もしくは実行プラン「Table Scan」でもとくに気にするところではないのでしょうか?
特にSelect結果が遅いわけではなく、1秒もかからないで結果が返ってくるので
特に現時点では致命的ではないのですが・・・
その他の状況としては以下の通りです。
・テーブルのレコード数は数万程度。
・もともとのこのDBはSQLServer2005で作られたものであり、バックアップから復元して互換性レベルを上げてある。
・Indexの再構築を行っている
・別な環境で似たような状況をつくりだし、同じくSelectをしてみたところ、想定した通り「Clustered index seek」となった。
・数ヶ月以上運用され、INSERTやUPDATEなどは繰り返し発生している
以上のような状況なのですが、
なにかわかる方がいらっしゃったらよろしくお願いします。 >>436
あのな、インデックスがあればインデックススキャンになるわけじゃないんだよ。データによってはテーブルスキャンの方が速い。それを自動で判断した結果がそういうことだよ。 >>436
UPDATE STATISTICSで統計情報を更新したり、DBCC FREEPROCCACHEで実行プランをクリアするぐらいかね
遅くなる可能性もあるから、事前確認は怠らずにね >>437-438
早速の返答ありがとうございます。
かならずしもIndex seekのほうがよいわけではないんですね。
統計情報の更新は調べてやってみることにします。
ありがごうとざいます。 数万程度ならどんな実行計画でも時間は変わらない可能性大だが、
どうしても拘束しないたらヒント文を追加すれば? >>440
ヒント文でインデックスを指定できるんですね。
これでやってみて時間がかわらなそうであれば元の状態で行こうと思います。
ありがとうございました。 1フィールドだけのテーブルがあって、その1フィールドにプライマリキーが設定されてるのを見るとなんか微妙な気分になるw クラスター化インデックスのあるテーブルってテーブルスキャンは発生しないと思ってんだが違うのか
俺の知る限り、テーブルスキャンするところはすべてクラスターインデックススキャンになるんだが
クラスターインデックスのフルスキャンはテーブルスキャンと実質同じだと思うんだが、何が違うんだろ
テーブルスキャンならクラスターインデックスのリーフページだけをたどれる? access単体でデータベースを作成するのと、SQLserver+Vbで作成するのは難易度はどのくらい違いますか? だいぶ前にミラーリングが非推奨の機能になっちゃったけど、これからはクラスタ作ってAlwaysOnでやるしか無いのかね
今時オンプレかよとは言わないで >>444
それだけの内容では色々分からなすぎて
双方の言語経験があるなら差はほとんどない、としか答えられない >>447
Standardのライセンス2つで安価、手軽に二重化出来ること
試しにAlwaysOn構築しようと思ったら、SQLServer外の条件で制約多くて >>449
AlwaysOnは知らんが、ミラーリングの場合、待機側はライセンス要らないよ ますますミラーリングから離れられないわな
AlwaysOnは1台につき1ライセンス必要だし ミラーリングでライセンスいらないのは、完全に待機のみの場合だけだったはず
ダウンタイムの短縮には役に立つけど、負荷分散には使えないぞ ■ このスレッドは過去ログ倉庫に格納されています