カテゴリー: 技術系

  • SQL Server 2005でログを消す方法

    SQL Server 2005で、DBのログが肥大化してしまい、バックアップ時に切り捨てるスペースもないときの対処。 この作業手順は、作業対象のDBをオフライン(というかデタッチ)にするので、注意。

    1. SQL Server Management Studioを開き、DBサーバに接続する。
    2. 対象のDBを選び右クリックし、プロパティを開く。
    3. プロパティから、MDFファイルとログファイル(LDFファイル)の場所を調べる。
    4. 対象のDBを選び右クリックし、「タスク」から「デタッチ」を選択する。
    5. ExplorerでLDFファイルの保存場所を開き、該当のログファイル(LDFファイル)を削除する。
    6. SQL Server Management Studioで、データベースを選択し、右クリックし、「アタッチ」を選択する。
    7. 「アタッチするデータベース」で「追加」をクリックする。
    8. 上記で調べたMDFファイルの場所を指定し、該当のMDFファイルを選択し、OKをクリックする
    9. 「データベースの詳細」にログファイルのファイル名が表示されている場合は、これを選択して、削除する。
    10. 「OK」をクリックする
    11. データベースがアタッチされる(ちょっと時間がかかる)。このタイミングで新しいログファイル(LDFファイル)ができる。

    ※ SQL Server 2005のサポートは終了してます。なので、自己責任で。

  • GASでIF文(条件分岐)

    GAS(Google Apps Script)での条件分岐の制御構文。IF文。

    if文は、条件の部分に書かれた処理が真の場合に、決まった処理を実行する。if文のパターンとして、おもに3種類があり、「else if」の部分は、いくつも増えてよい。(ただ、多数になるときはSwitch文の方が楽)

    (GASのif文は、JavaScriptのif文と同じ)

    パターン1: 条件が正しい(真)のときだけ実行する

    if ( 条件) {
        ここに、条件が真のときの処理を書く
    }
    

    パターン2: 条件が正しい(真)のときに実行する文と、条件がただしくなったとき(偽)のときに実行する

    if (条件) {
        ここに条件が真のときの処理を書く
    } else {
        ここに条件が偽のときの処理を書く
    }
    

    パターン3: 条件1が正しい(真)のときに実行する文と、条件2が正しい(真)のときに実行する文と、条件がただしくなったとき(偽)のときに実行する

    if (条件1) {
        ここに条件1が真のときの処理を書く
    } else if (条件2) {
        ここに条件2が真のときの処理を書く
    } else {
        ここに条件が偽のときの処理を書く
    }
    
  • Atom をEmacs風のキーバインドに変えてみる

    Atomを使いやすいようにカーソル移動などをEmacs風のキーバインドに変えてみた。 変えたのは、普段使う、カーソルの上下左右の移動や、行頭・行末移動など。PCを変えたり、初期化するたびに毎回困るので、自分用のメモ。

    キーバインドの変え方は、

    1. [File] -> [keymap…]を開く。
    2. 「keymap.cson」が開くので、そこに以下の内容を追記するだけ。
    '.platform-win32':
      # cursor
      'ctrl-f':'core:move-right'
      'ctrl-b':'core:move-left'
      'ctrl-n':'core:move-down'
      'ctrl-p':'core:move-up'
      'ctrl-h':'core:backspace'
      #'ctrl-g':'core:cancel'
    
      'ctrl-g':'go-to-line:toggle'
    
    '.platform-win32 atom-text-editor':
      # Emacs binds
      'ctrl-e':'editor:move-to-end-of-line'
      'ctrl-a':'editor:move-to-beginning-of-line'
      'ctrl-d':'core:delete'
      'ctrl-o':'editor:newline'
      'ctrl-h':'core:backspace'
      'ctrl-k':'editor:cut-to-end-of-line'
    

    ctrl-gの設定がダブりでエラーになることが分かったので、片方をコメント化した。

    参考:
    http://blog.dksg.jp/2015/06/windows-atom-editormarkdownpreview.html

  • MacをMojaveにアップデートしたら

    Mac miniをMojaveにアップデートしたところ、無線LANに繋がらなくなった。

    いろいろと設定をみたところ、ネットワークの検出はできているが、もともと接続されていたAPは発見されない状態だった。OSを再起動してみたが状況はかわらず。APから出ている無線LANのチャネルを調べて、Mojave上でシステム情報から認識できるチャネルと見比べてみたがしっかりと入っている。過去の接続履歴にもAPは存在している状態だった。

    結局、困って駄目元で手動でAPを手動で追加し、認証情報も設定したところ、無事に接続ができた。Mojaveにアップデートした際に、APの情報が中途半端に消えていたようだ。

  • GASの比較演算子

    GAS(GoogleAppsScript)の比較演算子。JavaScriptと同じ。

    == 等しい A==B AとBは等しい
    != 等しくない A!=B AとBは等しくない
    < より小さい A<B AはBより小さい
    <= 以下 A<=B AはB以下
    > より大きい A>B AはBより大きい
    >= 以上 A>=B AはB以上
  • お名前.comのVPSのスナップショットは使い物にならない

    お名前.comのVPSのスナップショットは使い物にならない。

    VPSのスナップショット回数は無制限とは書いてあるが契約しているプランのディスクサイズのうち、50%を超えているとスナップショットの取得ができない。この50%というのがOS上の実利用サイズではなく、VPS側でのカウントで、実際に使用している領域とかなり数値が離れて使用されている。OS上では、25%の使用率なのに対して、VPSのスナップショット画面だと50%を超えている。コンバート機能で圧縮すれば、VPS上の空き領域を作れるとのこと。試してみたが、VPSの稼働中はできないのと、1〜2日もかかるとのこと。まったくもって使いにくい。これじゃ、スナップショット機能があっても、使えない。

    これなら、スナップショットのない「さくらインターネット」のVPSの方がいいじゃないか。IPv6使えるし。

  • Windows 10 October 2018 Updateでファイルが消失する原因が判明

    https://pc.watch.impress.co.jp/docs/news/1147038.html

    ファイルの復活を約束していたくらいなので、原因のあたりはついていたんだと思う。Windows 10 October 2018 Updateでファイルが消えた問題の原因が判明したとのこと。

    「Known Folder Redirection(KFR)」機能を過去に有効にしたことがあり、リダイレクト先に移動するさいに、オリジナルファイルが移動されず、古いフォルダに取り残された場合に発生する。

    なるほど、KFRの機能を有効にしていた人が対象ということか。KFRは使っていないし、Windows 10は基本フォルダ構成はデフォルトのままで使っている(Cドライブ直下にWorkフォルダを作ったりはしているけど)ので、影響がなかった。自作PCのころならば、確実に踏み抜いていそうな障害だった。

    不具合の原因がわかり、おかげで自分には影響がなかったこともわかった。これはこれでひと段落ついてよかった。

  • PostgreSQLのDBに接続しようとしたら、エラーで接続できない

    ■環境

    Ubuntu Server 18.04.2

    PostgreSQL 10

    ■発生したエラー

    zen@redmine:~$ psql -d redmine -U dbuser -W
    Password for user dbuser:
    psql: FATAL:  Peer authentication failed for user "dbuser"

    ■編集したファイル

    /etc/postgresql/10/main/pg_hba.conf

    ★書き換え前

    # "local" is for Unix domain socket connections only
    local   all             all                                     peer

    ★書き換え後

    # "local" is for Unix domain socket connections only
    local   all             all                                     md5

    ■Postgresqlのサービス再起動

    sudo service postgresql restart

    ■これで成功した!

    zen@redmine:~$ psql -d redmine -U dbuser -W
    Password for user dbuser:
    psql (10.5 (Ubuntu 10.5-0ubuntu0.18.04))
    Type "help" for help.
    
    redmine=>

    ■参考にしたURL

    https://qiita.com/tomlla/items/9fa2feab1b9bd8749584

  • Windows10のOctober 2018 Updateの配信が停止

    https://jp.techcrunch.com/2018/10/07/2018-10-06-microsoft-suspends-windows-10-update-citing-data-loss-reports/
    Windows 10の最新版を 一般公開してから数日後、Microsoftはアップデートを中止し、データを失った複数ユーザーからの報告があったと述べた。

    Windows10のOctober 2018 Updateの配信が停止された。なんでもアップデートを適用したときに、データが消えてしまう不具合がユーザから報告され、そのためアップデートの公開が停止されたようだ。いきなり公開されていた大型アップデートなので、なにかしらの不具合はあるとは思っていたけれど、データ消失系の大きな障害だったとは。とりあえず、公開日に、さくっとOctober 2018 Updateをあてたときには影響がなかった。データ消失には、何かしらの条件があるのだろう。

    ちゃんと解明されて、ちゃんと公開されるのを待とう。続報がなかなか入ってこないのが厄介なところだけど。

  • インストールされているUbuntuのバージョンを調べる

    インストールされているUbuntuのバージョンを調べるには、下記のコマンドを実行する

     lsb_release -a

    実際に、Windows Subsystem for LinuxのUbuntuで試してみると、

    zen@PCR662:~$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 18.04.1 LTS
    Release:        18.04
    Codename:       bionic
    zen@PCR662:~$

    と、表示され、Ubuntu 18.04.1 LTS がインストールされていることがわかる。

    ちなみに、「/etc/os-release」を確認しても、Ubuntuのバージョンを調べることができる。

    zen@PCR662:~$ cat /etc/os-release
    NAME="Ubuntu"
    VERSION="18.04.1 LTS (Bionic Beaver)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 18.04.1 LTS"
    VERSION_ID="18.04"
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    VERSION_CODENAME=bionic
    UBUNTU_CODENAME=bionic