【SQLserver】存在するはずのテーブルが表示されない原因
今日も暑いです。
今日は、存在するはずなのに目には見えないというちょっとホラーなメモ。
テスト環境でSQLserverManagementStudioを開き、通常通りにデータベースエンジンにSQLserver認証で接続したところ
下記のエラーが発生。
何度やっても、オブジェクトエクスプローラーで何を叩いても同じ文言が発生。
-----------------------------------------------------------
値を Null にすることはできません。
パラメータ名: viewInfo (Microsoft.SqlServer.Management.SqlStudio.Explorer)
-----------------------------------------------------------
いろいろ調べてやっとたどり着いたのがこちら。の下記文言部分。
https://stackoverflow.com/questions/15249398/value-cannot-be-null-parameter-name-viewinfo
>I got this error on our remote shared server. Turned out that our C drive did not have any space left.
>
>I got it working by asking my colleague to close his SQL Server Management Studio session and it cleared up 7 GB right away! I could login then! Woot woot!
【原因】
Cドライブの空き容量が不足。
たしかに空き容量はなんと「0」の状態でした!
【解決方法】
不要ファイルを探し、削除。
約350MBくらい空けてから再度SSMSを再起動したらエラーは発生しなくなりました!
調べていると権限の設定ファイルがどうこうっていうのがあったけど、そんなんイジッたこともないし
どう編集すればいいかもちんぷんかんぷんだった。
今回は空き容量を作るだけで正常に戻ってよかったー
分かりやすい標準偏差
統計学では標準偏差をσ(シグマ)で表す。
そもそも標準偏差とは何かを一言で言うと
平均値からの揺らぎ(広がり)です。
つまり、平均値からどのくらい離れていてもわりと普通の値なのか、ということの指標になります。
式で書くと、標準偏差σはこのようになる。
式で見るととても難しそうだが一旦意味を理解してしまえばさほどでもないので
分かりすく噛み砕いていきます。
標準偏差を分かりやすく説明する例として、何でもいいのですが、男性の平均身長を例にしてみましょう。
今ここに標本(統計の計算の元となるサンプル的なもの)となる男性10人がいるとします。
それぞれの身長を分かりやすく2cm刻みで、
170cm、172cm、174cm、176cm、178cm
180cm、182cm、184cm、186cm、188cm
の10人がいるとしましょう
ここからまず平均値を出します。
平均値は全員の身長を足して人数で割りますので
(平均値)= 1790 / 10 = 179cm
179cmになります。
次にここから標準化という考え方をします。
これは何かというと平均の179を0として考えるということです
つまり179がゼロなので、全員の身長から-179をすればいいわけです
そうすると、
-9、-7、-5、-3、-1、1、3、5、7、9
となります。
この数字はそれぞれが平均値からどのくらい離れているのか、ということがぱっと見でわかるようになります。
そしてさらに、±9の差があることをもっとまとめたいので
つまりマイナスの記号をなくしたいので、それぞれの値を二乗します。
すると、今度はこうなります。
81、49、25、9、1、1、9、25、49、81、
そして、もう一回この状態で平均を取ります。
つまり、上記の10個の数値をまた足して10で割ればいいわけですね。
330 / 10 = 33
この作業をすることでマイナスを排除することが出来ました。
最後に、この33という数値は、二乗しているのでそれを戻します。
二乗を戻すには、ルートに入れます。
√33
ルート33は綺麗には割り切れませんが
5の二乗の25と、6の二乗の36の間ですので、
5.xxxx という数字になるはずですね。
一応計算式で計算すると、5.74456264654 と出てきました。
この5.7が標準偏差σです。
ここまでの流れを数式にしたのが冒頭に出たこれです。
Σは総和を意味しています。一人目から十人目までを足していってます。
Xiは一人ひとりを表しています、つまり、X1さん、X2さん、、、、X10さん
Xの上に線が入っている記号が平均値になります、今回の場合だと179cmですね
nはXが何人いるかのカウントですので、今回だと10人ですので10となります。
iはそのカウントは1から始まるよ、ってことです、たいてい1から数えますよね。
二乗している理由と、ルートで戻している理由は左記に述べたとおりです。
こんな感じで、式だけ見たら厄介だけど、何をしたかったのかを理解できれば、この式もすんなり入ってきくると思います。
この次の話としては、じゃぁその標準偏差の使い方は?ってことなんですが、
それは正規分布の話をしてからじゃないとなので、また今度気が向いたらで.
telnetってどう書くんだっけ?VMバックアップって?
telnetでポート開いているかの確認はこちらが便利!
http://qiita.com/shotaTsuge/items/a10ca243b95e659a09c2
telnet XXX.XXX.XXX.XXX 443
ポート番号、こっちもあっちもSQLserverだったら1433かな
一応、確認したほうがいい。
VMバックアップの話
結局、仮想環境の場合、移動先の物理マシンのハードウェア構成が違っていても
ハードウェアエミュレーションによって認識されるから物理的なHW構成の違いを気にしなくてもいい。
ちなみに、エミュレーションとは、代替となるソフトウェアなどのこと
http://www.atmarkit.co.jp/ait/articles/0809/30/news144.html
テープバックアップの話は聞いたことあるけど折角なのでメモ。
ITにおいてBKUPの重要性は「絶対なくさないこと」
テープの長所を簡潔に言うと長期保存可能・大容量OK・低コスト
http://www.fujitsu.com/jp/products/computing/storage/lib-f/tech/backup/tapebackup/
今日のメモでした。
【FX】最初に学んでおくべきだったこと その①その②
金なし投資初心者サラリーマンがFXを初めて半月くらいたちました。
1分後上がるか下がるかなんてほぼ5050だろう
まぁ景気、情勢、トランプ、ミサイルなどの影響があって上か下に
少しはバイアスがかかっているとしても
1分後上がるか下がるかは、あっても6:4くらいだろうと考えていました。
そんなテキトーな感じでやっていたらたった半月で軍資金の25%があれよあれよという間に
損失しておりました。。
こりゃやばいと思い調べたところ
これをもっと早く知っておけばよかった!!
知らない事は罪である!!ちくしょー!
ということが2つもあったのでメモメモ。
その① 移動平均線
主流は指数平滑移動平均で、長期、中期、短期の3本線の動向をみること
これを読んだらよく分かった。
http://toushi-kyokasho.com/idouheikinnsenn/#133_Exponential_Moving_Average
その② MACDとシグナル
移動平均線と同じような線でド短期のトレードでも指標になりやすい
こっちはこれを読んだ
https://www.sevendata.co.jp/shihyou/technical/macd_hist.html
これらの線は設定で簡単に表示することができた
こういうことを知っているのと知らないのでは雲泥の差が出るのは当たり前だ
ほんとに自分は愚かだったとそう思う。
しかし、こういう知識を教えてくれる師がいるわけではないので
自分でいろいろ知識を吸収しなくてはならないのだなと改めて思ったのである
ほんとに基本のキを学んだ今日でした。
【SQLserver】 エクスポートしたファイルが見当たらない
DBからデータをエクスポートする方法は「sqlserver データ エクスポート」
でググればすぐでてくるので書きません
今回は、エクスポートしたファイルがどこのフォルダに格納されたのか分からない。
ファイルが見つからない。というまたレベルの低い件ですみません、
SQLserverManagementStudioでデータのエクスポートする際に
「変換先の選択」のウィザードでファイル名を書くところがありますが、
ここですぐ隣にある「参照」ボタンを押して格納先を指定すれば良いだけの話だったのに。
格納先を指定しなかったファイルはどこへ行くのか。
・・・探しました、出会えました。感動ですね
ここです。
C:\Windows\SysWOW64
こんなところに、、、てか何SysWOW64て、
シスウォウって、何がウォゥだよ!!
ってなりました。
こんな場所初めて来たけど、まぁ見つかってよかった
んで簡単に調べるとこういう事らしい↓
http://piyopiyocs.blog115.fc2.com/blog-entry-869.html
興味がある人だけ読んで
なので環境によってはこっちに入っている可能性もありますね。
C:\Windows\System32
ということで格納先は最初からちゃんと指定しましょう。
【SQLserver】 エラー 0xc020200e エクスポートに失敗した原因
DBからデータをエクスポートする方法は「sqlserver データ エクスポート」
でググればすぐでてくるので書きません
今回は、エクスポートしようとしたら、最後の最後にエラーでエクスポートできなかった件です。
「エラー 0xc020200e 」
下記のリファレンスで調べると
https://msdn.microsoft.com/ja-jp/library/ms345164(v=sql.120).aspx
内容は「データ ファイル "%1" を開けません。」
私の場合、原因は単純でした、NW越しでSQLserverManagementStudioを開いて作業していたため
ファイルの場所に行けなかったようです。
リモートデスクトップでサーバに繋いだ状態でやり直したら問題なくエクスポートできました。
また同じこと失敗をするかもしれないからメモメモ
SQLのちょっとした小技
SQLで更新や削除を行うとき、私の場合いつもBefore-Afterが
ちゃんと分かるようにしたいので
下記のようにSelect文-Update文-Select文、ほんで最後に
rollbackとコメントアウトしたcommitを入れるのですが、ちなみに使っているのはSQLSEVERです
例)
begin tran
select columnA,* from table
update table set columnA = 'abcd'
where columnB = 'ccc'
select columnA,* from table
--rollback
--commit
これで一旦実行し、before-afterの結果を確認した上で
問題なければ、最後コミットだけ実行します。
このやり方で何も問題ないと思いますが!
エビデンスをスクリーンショットでとっておきたい時って
結果表示されたらスクショ!コミットちゃんとしたメッセージでスクショ!
というように2回スクショが必要になると思います。
ここで小技!!ババン!
文末を下記のように変えます。
rollback; select 'rollback'
--commit; select 'commit'
これに書き換えた状態で先程同様に1発目のクエリを流すと
before-afterが確認できるうえ、最後にrollbackと表示されます。
問題なければコメントアウトを入れ替えてから実行
--rollback; select 'rollback'
commit; select 'commit'
そうするとどうでしょう。こんな感じで
スクショ一発でbefore-afterが見れて、コミットした事も分かります。
エビデンスを毎回とる人には超便利だとおもってます!