カテゴリー: Windows

  • SQL Server のプロシージャからメール送信する

    SQL Serverのプロシージャからメールを送信する場合は、「MSDB.DBO.SP_SEND_DBMAIL」を使用する。

    MSDB.DBO.SP_SEND_DBMAIL

    構文等: https://learn.microsoft.com/ja-jp/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql?view=sql-server-ver16

    SQL Serverからメールを奏するための SMTPサーバの設定については、「データベース メール」「Database Mail」を別途設定する必要がある。

    SSMSのGUIで設定するのが楽で、左のツリーで「管理」の下に「データベース メール」があるので「データベース メールの構成」を選択して、ウィザードに従って設定する。

    参考: https://sql55.com/query/send-email-from-sql-server.php

  • 今日の謎なWindows Updateのエラー

    古い古いWindows Server のWindows Updateを行った。

    Updateの確認で「80072EFE」のエラーコードでエラーになる。この「80072EFE」の対処をして、もう一度、実行してしてもエラーになる。

    とりあえず、おまじないとしてOSを再起動してみる。再起動のところには、アップデートの摘要を促すメッセージはない。再起動後、Windowsのシャットダウンに、更新プログラムのインストールが現れる。仕方ないので、シャットダウンを選択して、インストールした。

    それのインストール後、Windows Updateを実施してみたが、やっぱり「80072EFE」のエラーになる。もう一度、対処をしてみたが変わらず。謎だ。

  • メモ:Teamsの会議でCopilotを使う場合にはホストになること

    Microsoft Copilot for Microsoft 365(有償Copilot)を試している。TeamsのWeb会議のCopilotは、会議をホストしている組織のメンバーのみがアクセスできる。

    自分が開催していない外部のTeamsのWeb会議に参加している場合は、CopilotのライセンスがあってもCopilotの起動すらもできない。TeamsでCopilotを使って、会議の要約などを行う場合は、必ず自分(もしくは自分の所属する組織のメンバー)が、会議のホストになる必要がある。

  • 第13世代のCore i7のノートPCでBSODが多いのって。

    第13世代のCore i7のノートPCでBSODが多いのって、やっぱり、これなのかもしれない。i7のCPUのノートPCだけBSODが多いから。

    Intelが第13・14世代CPUの問題についてノートPCでは起きないと主張するもさらに反論されまくる

    https://gigazine.net/news/20240722-intel-13-14-cpu-mobile

  • メモ:.NET8.0の対応Windows OS

    ちょっと検索で探しにくかったので、メモ。

    .NET8.0(.NET9.0も同じだった)が対応しているWindows OSは以下。

    • Windows server 2012以上(2012の場合は、Extended Security Updatesがインストールされていること。サポート無しならばランタイムは動く)
    • Windows server Core 2012以上(2012の場合は、Extended Security Updatesがインストールされていること。サポート無しならばランタイムは動く)
    • Windows10 バージョン1607以上
    • Windows11 バージョン22000以上

    参考:

    https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md

    https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md

  • 「vixエラーコード=21009」でVMware Tools のインストールが失敗。

    vCenter Serverから、VM(Windows Server)のVMware Toolsのバージョンアップをおこなったところ、「vixエラーコード=21009」でVMware Tools のインストールが失敗した。その後、vCenter Serverの画面では、その仮想マシンは「VMware Toolsはインストールされていません」にかわった。

    アンインストールは成功しているようで、仮想マシン上もVMware Toolsは無くなっていた。

    対処方法

    1. 念のため、VM(Windows Server)のVMware Toolsのインストールで利用されていたフォルダを削除。下記のフォルダを中身ごと削除する。アクセス権がないと言われるはずなので、アクセス権を取得してから削除する。

    C:\Windows\Temp\vmware-SYSTEM

    2. vCenter Serverから、VMware Toolsのインストールを実行する(仮想サーバ上に、VMware Toolsのインストーラーをマウントする)。

    3. VMにログインして、VMware Toolsをインストールする。

  • SQL Server 2019からSQL Server 2005へのリンクサーバ経由でアクセスするプロシージャーがエラー

    SQL Server 2019からSQL Server 2005へのリンクサーバ経由でアクセスするプロシージャーでエラーが発生した。

    SQL ServerにSSMSでアクセスしてみると、リンクサーバーは存在する。リンクサーバーへの接続も問題なし。Select文でもリンクサーバー先のテーブルを参照できる。プロシージャーを実行すると、OLEDBのエラーが表示される。

    リンク サーバー "サーバ名" の OLE DB プロバイダー "MSOLEDBSQL" から、メッセージ "トランザクションは既に暗黙的または明示的に、コミットまたは中止されています。" が返されました。
    メッセージ 7391、レベル 16、状態 2、プロシージャ dbo.プロシージャー名、行 99 [バッチ開始行 2]
    リンク サーバー "サーバ名" の OLE DB プロバイダー "MSOLEDBSQL" で分散トランザクションを開始できなかったので、この操作を実行できませんでした。
    リンク サーバー "サーバ名" の OLE DB プロバイダー "MSOLEDBSQL" で分散トランザクションを開始できなかったので、この操作を実行できませんでした。

    状況をまとめると・・・

    • SQL Server 2005もSQL Server 2019も稼働している。
    • もともとはプロシージャーも正常に実行できていた。
    • リンクサーバーの接続確認は問題なし
    • Select文などを発行すると、正常にリンクサーバーのテーブルにアクセスできる。(Viewでも同様)
    • プロシージャーは、失敗する。
    • 分散トランザクションの設定はちゃんとできている(もともとは成功していた)。
    • リンクサーバーの接続で使用するユーザはアクティブであり、パスワードも問題なし。
    • 実行結果を見ていくと、ごくまれに成功しているときがある(SQL Serverへのコネクションは異なる)

    いろいろと切り分けた結果、認証先?のAD(Active Directory)のOSバージョンによって、プロシージャーの実行が成功するか失敗するかが分かれていた。古いWindowsOSのADに問い合わせがいくと成功する。新しいOS(Windows Server 2022)だと失敗する。

    Windows Server 2022のADに問い合わせされて、SQL Server 2005にアクセスされると、プロトコルとかセキュリティのキーセットの問題ではじかれて分散トランザクションが失敗して、タイムアウトになっているようだ。古いものは、互換性も無くなってきているので、きつい。

  • .NET アプリがどのランタイムバージョンで動作しているかを調べる

    現在、稼働している.NETのアプリが、どのバージョンのライタイムで、アプリケーションが動作するようになっているのかを調べてみる。この方法は、.NET5よりも後の.NETアプリについて、調べることができる。

    アプリのフォルダで、下記の名前のファイルがあるかを調べる。[appname]の部分には、そのアプリの名前がついている。

    [appname].runtimeconfig.json

    次のそのJSONファイルを開く。メモ帳などのテキストエディタで開けばよい。

    下のような中身になっているので、「tfm」や「version」の部分を確認し、どの.NETバージョンを利用するようになっているのかを確認する。

    {
      "runtimeOptions": {
        "tfm": "net8.0",
        "includedFrameworks": [
          {
            "name": "Microsoft.NETCore.App",
            "version": "8.0.5"
          },
          {
            "name": "Microsoft.AspNetCore.App",
            "version": "8.0.5"
          }
        ],
        "configProperties": {
          "System.GC.Server": true,
          "System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
          "System.Reflection.NullabilityInfoContext.IsSupported": true,
          "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
        }
      }
    }

    参考: https://learn.microsoft.com/en-us/dotnet/core/runtime-config/

  • Windowsの設定に「Wi-Fi」の項目が表示されなくなったときの対処

    Windows10で、設定の「ネットワークとインターネット」の中で、「Wi-Fi」が表示されなくなる現象に遭遇した。ネットワークにつながらないので、ネットワークの修復を行ったら、「Wi-Fi」が消えたという。

    ネットワークアダプタを見てみると、WiFiのアダプタはある。デバイスマネージャーで見ても、デバイスは表示され、正常だという表示がされる。だが設定には表示されていない状態だ。

    試したこと1

    1. WiFiアダプタ(Intel WiFi6 AX201)のドライバが古いので、最新のドライバに更新。

    2. その後、OSを完全シャットダウンして、起動して確認。

    3.  変化なし。

    試したこと2

    1. デバイスマネージャーを開く。

    2. 「ネットワークアダプタ―」から「Intel WiFi6 AX201」(これは環境によって読み替える)を右クリックし、「デバイスのアンインストール」を選択して、アンインストールする。

    3. デバイスマネージャーの「ネットワークアダプタ―」を右クリックし、「ハードウェア変更のスキャン」を実施する。

    4. WiFiの設定やWiFiのアイコンが出てくるようになった。

    なんともめんどくさいが、とりあえず正常にWiFiがつかえるようにはできた。

  • Windows 2000 Server のADの降格手順

    Windows 2000 ServerのADの降格の難点は情報が少なくなってしまっているところ。そして、一番大変なのは、AD設定用のウィザードを表示させるところ。

    Active Directory のインストールウィザードの表示ができれば、後はGUIでウィザードに沿って作業するだけだ。

    降格手順

    1. ファイル名を指定して実行を選択する

    2. 「dcpromo」と入力して、Enter。

    3. 「Active Directory のインストール ウィザードの開始」が起動する

    4. あとは、ウィザードに従って、ADの削除を行う。