データベース エンジンの復旧ハンドルの待機に失敗しました

Windows11にsqlserver2019をインストールすると上記のエラー
いろいろ原因はあるようですがわたしの場合はSSDのセクターサイズでした。

https://docs.microsoft.com/ja-jp/troubleshoot/sql/admin/troubleshoot-os-4kb-disk-sector-size

https://duke13.com/win11-locdb-problem

cmdでfsutil fsinfo sectorinfo SSDドライブ 
セクターサイズが32768byteもある
sqlserverは512と4096しか対応していならしい。

Windows7の時も4096のHDDが出てきてちょっと混乱したのを思い出しました。
修正あるまで待つか、レジストリいじるか、フォーマットからやりなおすか、HDDにインストか

その後SSDを

セクターあたりのバイト数 : 512
物理セクターあたりのバイト数 : 4096
クラスターあたりのバイト数 : 4096 (4 KB)
でフォーマットしてやり直しても同じエラー

さらにレジストリを追加してやっとインストできました

Bluetooth コード45

突如、pcからbluetoothが消えてデバイスマネージャーにも出なくなる。
エラーコードは45で結構みなさん遭遇しているようです。
いろいろ調べて試したけど復旧できず、OSクリーンインストールまでしたけど出てこない。
CMOSクリアでやっと解決しました。

簡単なのに、、、最初にやるべきでした。

ヒントテキスト出ない件

accessフォームで動的ヒントテキストというものを使ったのですが、以前書いた通り開発機のみで表示されない件について。
その後フォームをよく見ているとカーソルが微妙に点滅しているのに気が付きました。
ひょっとしてと思って例の高DPI設定を変更すると表示されるようになりました。

WSUS WIDからSQL server expressへ移行 覚え書き

ドメコンのままでは難しくてできなかった
降格した後AD削除
SQL server express インスト
サーバ名 \\.\pipe\microsoft##wid\tsql\query のWIDからSUSDBデタッチ
expressの新しいインスタンスにアタッチ
新しいログイン NT AUTHORITY\NETWORK SERVICE サーバロール publicとsysadmin ユーザーマッピング SUSDBにpublicとwebservice

以下はregeditで
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
SqlServerName は インスタンス名
SqlDatabaseName は SUSDB
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup\Installed Role Services
UpdateServices-WID を UpdateServices-Database に変更

なぜ移行したというとSSMSでデータ圧縮とかインデックス再構築とかやりたかったから。
ここまで来てexpressではできないことが判明

でもクエリではできるらしい。
クエリ例
dbcc shrinkdatabase(susdb,10)
exec sp_MSforeachtable @command1=’if object_id(”susdb.?”) is not null dbcc DBREindex(”susdb.?”);’

難しかった

Symbols

最近のwindowsはsymbolなしでdebugできると書いたけど違っていました。

巨大なデータはどこに?と見てみるとちゃんと C:\symbols が知らぬ間にできてました

VB.NETのイミディエイトウィンドウのインテリセンスが不安定?

ソリューションを開く、イミディエイトウィンドウを開く、入力してもインテリセンスは出ない。
ブレークポイントなど置いてステップイン、エディターがデバッグモードになるとインテリセンスが出る。
その後はデバッグ中止して、普通の状態でも出る。
一度ソリューションを閉じて開く、デバッグ開始しなくても出る。
もう一度閉じて開くと出なくなる。
IDE再起動はもちろん出なくなる。

シンボルをローカルに置いても同じ症状。
4Kモニターのスケーリングを変えても同じ。

あまり困ることはないけど気になります。
visual studio2019で win10でもwindows server2019でも同様です。 

VBAからExcelを操作2

前回の

この部分耐えがたい遅さです。
vb.netの二次元配列はまあまあ我慢できますがVBAはデータが多くなるとだめです。
一次元目の要素(項目数)が少なければ一次元配列を並べた方が速いです。
さらに速いのはレコードセットから直接ループさせつつ書き込む。
すごく速いのでvb.netもデータテーブルから直接書き込むようにしました。
プロセスも今の所残っていません。コードが冗長になりますけど。

VBAからExcelを操作

VBAからもできるでしょうと思ったけど・・

今までは意識してなかったけどVBAではオブジェクト解放は要らない?
プロセスは残らないが・・
とりあえずset=nothingで安心することに。

vb.net から Excel を操作 2

前回の続きです。
excelを開いて、あるワークシートのコピーを最前列に追加、
適当なセルから順に配列の値を流し込んで保存して閉じる。

難しい

vb.net から Excel を操作

以前ここでExcel出力のことを書いたけど
裏技的で推奨できない。
正攻法で行くことにしました。
Excel参照設定もクライアント環境で違うでしょうから依存しない実行時バインディングで・・
excelのプロセスが残らないようにするのが大変でした
まずは単純に開いて5秒待って閉じるだけ

開いて閉じるだけでも変数が多くて混乱します
次に開いてセルに文字代入して保存して閉じる。

セルに代入するだけで変数が増えました。
これを踏み台にdatatableの数値を配列を使ってExcelのセルに代入する。