カテゴリー: 技術系

  • リンクサーバのテーブルにアクセスするSQL

    リンクサーバのテーブルにアクセスするには、「[リンクサーバー名].[DB名].dbo.[テーブル名]」の形式でテーブルにアクセスする。これを、SELECT文、INSERT文などにすると、下記のようになる。

    SELECT * FROM [リンクサーバー名].[DB名].dbo.[テーブル名];
    INSERT INTO [リンクサーバー名].[DB名].dbo.[テーブル名] (カラム名, カラム名) VALUES ('値', '値');
    UPDATE  [リンクサーバー名].[DB名].dbo.[テーブル名]  SET 列名 = 値 ;
    DELETE FROM [リンクサーバー名].[DB名].dbo.[テーブル名];
  • Windows10でIEを削除すると、IEモードも使用できない

    Windows 10の「機能の追加」からIE11を削除すると、EdgeのIEモードも使用できなくなる。

    企業用の設定で、特定のサイトを強制的に、EdgeのIEモードで読み込むようにした場合、EdgeのIEモードで必ず開こうとするため、エラーでEdgeでそのサイトを開けなくなる。Edgeの画面上に小さめにIEが見つからないと表示されるが、それ以外はまるで画面の遷移がないようにみえる(動作していないようにみえる)のが厄介だ。

  • EdgeにMicrosoftのVPN機能がつくかもしれない。

    EdgeにEdgeSecureNetworkという無料のVPN機能が組み込まれるかもしれないという話。

    Microsoft Edge will soon include a free built-in VPN
    https://www.engadget.com/microsoft-edge-built-in-vpn-185339094.html

    EdgeSecureNetworkを使うと、現在地やIPアドレスをマスクして、VPN側の出口からアクセスしたように見えるとのこと。1ヶ月で、1GBまでの無料の機能なので、ちょっとした調べ物などには十分に使えそうな感じだ。マイクロソフトアカウントを使って、ユーザ認証するようだ。

    この先は、ネットワークによる情報統制が増えていくかも、という暗示なんだろう。国家(中国やロシアなど)が統制する分、VPNなどを通して、大企業が情報を収集していく未来になっていくのかもしれない。

  • 新しいタイプのEmotetが流行

    3月のEmotetは、WordやExcelのファイルのマクロを使った攻撃が主体で、メールの文面が工夫されて、より間違いやすく誘導するタイプのものだった。このときは、添付ファイルを開いても、マクロを実行しないなどの対策が有効だった。

    現在、新しく流行を始めたタイプは、WordやExcelのファイル形式ではなく、Windowsのショートカットの形式で配布されている。このショートカットファイル(リンク形式)のファイルは、拡張子が「.lnk」ですがWindowsのデフォルト設定として、拡張子が表示されない。そのため、見た目上のアイコンは、「xxx.pdf」のように見えてしまう。※フォルダ設定で表示にしていても、表示されない。レジストリでの変更が必要。

    このリンクタイプのEmotetは、ファイルを開くと、インターネット上にあるVBスクリプトやPowershellスクリプトを実行して、Emotetの本体をPCに感染させるとのこと。リンク形式のため、アンチウィルスでの検疫を通過する(Emotet本体が実行されたときは、検知してくれる可能性はあり)。

    対応策は、

    • 怪しげなファイルを開かない
    • 添付ファイルをむやみに開かない
    • アイコンをよく見る。
    • ファイルのプロパティも確認して、拡張子が「.lnk」じゃないことを確認する。

    くらいだろうか。アンチウィルスソフトなどで対応してくれるとよいのだが、このタイプだと限界がありそうだ。

    参考:

    「Emotet」に「Microsoft Office」がなくても感染するショートカットファイルの亜種
    https://forest.watch.impress.co.jp/docs/news/1406053.html

    「Emotet」の新たな攻撃手法を観測、メールに添付されたショートカットファイルやパスワード付きZIPファイルに注意
    https://internet.watch.impress.co.jp/docs/news/1405843.html

  • そろそろWindowsではSMB1.0でのアクセスが完全に廃止されそうだ

    Microsoftが、WindowsでのSMB1.0のサポート廃止が最終段階に入ったと発表したとのこと。

    「SMB 1.0」サポート廃止は最終段階 ~プレビュー版Windows 11 Homeで既定無効に
    https://forest.watch.impress.co.jp/docs/news/1404113.html

    Windows10 Proでは、機能追加でSMB1.0のClientを追加インストールしないと使えなかったが、Homeエディションでは、まだデフォルトでSMB1.0が使えていたようだ。このHomeエディションで、追加インストール必要なものになるとのこと。ここまでくると、あと1年後くらいにはSMB1.0インストール用のバイナリも提供されなくなりそうだ。

    SMB1.0が使えなくなるとどうなるか。古いWindowsの共有にアクセスできなくなったり、古いNASの共有にアクセスできなくなる。あとは、AD側でSMB1.0サポートがなくなると、古いWindowsからADの管理共有などへのアクセスができなくなるなどの影響があると思われる。古いWindows(Windows XPとかWindows Server 2003など)が残っている場合には注意しておく必要あり。

  • SQL Serverのデータベースコピーができる条件

    SQL Server Management Studio(SSMS)で、タスクからデータベースのコピーを選べるものと選べないものがある。ずっと、なんでなんだろうかと思っていた。やっと理由がわかった。SSMSからデータベースのコピーができないのは、そのデータベースがSQL ServerのExpress Editionだからだ。または、SQL ServerのStandard Editionであっても、SQL Server Agentのサービスが起動していないとき。

    SSMSでデータベースのコピーができるのは、以下の2つの条件を満たしているもののみ。

    • SQL ServerのStandard Edition以上(Express Editionではできない)
    • SQL Server Agentのサービスがコピー元とコピー先で起動していること。(起動していないと失敗する)

    SSMSのバージョンか、設定だと思っていたが、SSMSではなくて、SQL Serverの問題だった。

    参考URL

    https://docs.microsoft.com/ja-jp/sql/relational-databases/databases/use-the-copy-database-wizard?view=sql-server-ver15

  • SQL Server 2005から SQL Server 2019へのリンクサーバーの接続ができた

    前回、SQL Server 2019からSQL Server 2005へのリンクサーバーでの接続ができたので、今度はその逆を試した。Windows Server 2003の上のSQL Server 2005から、Windows Server 2022の上のSQL Server 2019に対して、リンクサーバーの設定をしたところ、接続でき、データの参照もできた。

    リンクサーバーの設定のとき、接続は「SQL Server」を選択して、接続した。

  • apt updateで、Gitlabの更新で「署名が無効」のエラーが出た

    Ubuntu Server上のGitLabをアップデートしようとして、apt updateしたところ「署名が無効です」のエラーが出た。

    エラー:6 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic InRelease 
      以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com>

    2022年03月02日で、署名の有効期限がきれていたようだ。curlで新しいものを落として、aptキーに加えた(コマンドは下記)。キーを更新したので、あとは通常通りの更新でGitLabの更新ができた。

    curl -s "https://packages.gitlab.com/gpg.key" | sudo apt-key add -

    実際にやったときのログ。

    エラー:6 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic InRelease 
      以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com> 
    187 kB を 3秒 で取得しました (69.6 kB/s) 
    パッケージリストを読み込んでいます... 完了 
    依存関係ツリーを作成しています 
    状態情報を読み取っています... 完了 
    パッケージはすべて最新です。 
    W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックス ファイルが使われます。GPG エラー: https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic InRelease: 以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com> 
    W: https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/dists/bionic/InRelease の取得に失敗しました  以下の署名が無効です: EXPKEYSIG 3F01618A51312F3F GitLab B.V. (package repository signing key) <packages@gitlab.com> 
    W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視され るか、古いものが代わりに使われます。 
    zen@SEVR:~$ 
    zen@SEVR:~$ apt-key list 3F01618A51312F3F 
    pub   rsa4096 2020-03-02 [SC] [期限切れ: 2022-03-02] 
          F640 3F65 44A3 8863 DAA0  B6E0 3F01 618A 5131 2F3F 
    uid           [期限切れ] GitLab B.V. (package repository signing key) <packages@gitlab.com> 
    zen@SEVR:~$ 
    zen@SEVR:~$ curl -s "https://packages.gitlab.com/gpg.key" | sudo apt-key add - 
    OK 
    zen@SEVR:~$ 
    zen@SEVR:~$ 
    zen@SEVR:~$ sudo apt update 
    ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease 
    カ荳シ倖2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] 
    ヒット:3 http://archive.ubuntulinux.jp/ubuntu bionic InRelease 
    ヒット:4 http://archive.ubuntulinux.jp/ubuntu-ja-non-free bionic InRelease 
    取得:5 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] 
    ヒット:7 http://security.ubuntu.com/ubuntu bionic-security InRelease 
    取得:6 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic InRelease [23.3 kB] 
    取得:8 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages [68.5 kB] 
    255 kB を 3秒 で取得しました (85.1 kB/s) 
    パッケージリストを読み込んでいます... 完了 
    依存関係ツリーを作成しています 
    状態情報を読み取っています... 完了 
    アップグレードできるパッケージが 1 個あります。表示するには 'apt list --upgradable' を実行してください。 
    zen@SEVR:~$ 
    zen@SEVR:~$ apt list --upgradable 
    一覧表示... 完了 
    gitlab-ce/bionic 14.9.2-ce.0 amd64 [14.8.2-ce.0 からアップグレード可] 
    N: 追加バージョンが 436 件あります。表示するには '-a' スイッチを付けてください。 
    zen@SEVR:~$ 
    zen@SEVR:~$ 
    zen@SEVR:~$ sudo apt upgrade
  • Windowsはメモリが不足するとファイルのコピーに失敗する

    Windowsはメモリが不足するとファイルのコピーに失敗する。そしてロールバックして、途中までのものも消える。

    遅いネットワークで、別のサーバからのデータのコピーで、単一の大きなファイルだったので、時間がかかって、結果的にメモリが足りなくなって、失敗した。メモリも増えているので、レアケースになっているのかもしれないけれど。やはりメモリの空きは重要だ。

  • SQL Server 2019からSQL Server 2005へのリンクサーバーの接続ができた

    Windows Server 2022にインストールしたSQL Server 2019から、Windows Server 2003のSQL Server 2005に対して、リンクサーバーの設定を行ったところ、接続できた。

    SQL Server 2019から、リンクサーバー経由で、SQL Server 2005のテーブルの参照(Select)も更新(Update)もできた。SQL Server 2005はサポート終了しているので、マイクロソフトのサポート外だが。それにしても、SQL Server 2019からSQL Server 2005に接続とは、下位互換性が高い。本当に。

    SQL Server 2019からSQL Server 2005へのリンクサーバーの設定は、SQL Server Management Studioから「サーバーオブジェクト」の「リンクサーバー」を選択して、右クリックから「新しいリンクサーバー」で作成した。作成時、プロバイダーは「SQL Server Native Client 11.0」を選択した。これだけで繋げるのだから、楽である。