SQL Server

SQLでデータベースを復元する

すぐ忘れるので備忘録です。 以下のSQLでバックアップから復元できます。 USE [master] ALTER DATABASE [YourDatabase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; RESTORE DATABASE [YourDatabase] FROM DISK = 'C:\MSSQL14.DB\MSSQL\Backup\backup.bak' WI…

SQL ServerのサンプルデータベースをSQL Server on Linuxで起動する

技術調査などでアプリ開発をしているとき、なんでもいいからちょっとしたデータベースが欲しくなる時ありますよね。 Microsoft SQL ServerにはAdventure Worksというサンプルのデータベースがあります。 しかも、DWHサイズ、通常サイズ、ライトサイズとデー…

IEnumerable<T>とDataTableの変換の仕方

現在、個人的なツール開発にてDataTable型を扱うような処理を作成していたのですが、普段の処理ではDataTable型を直接扱わずに任意のクラスのリスト(IEnumerable<T>)型で扱いたいです。 そこで、ChatGPTを駆使しながら、IEnumerable<T>型とDataTable型の相互変換</t></t>…

T-SQLで特定DBへの接続をすべて切断する

SQL Serverに対してDDLなどを実行したいとき、テストなどで実行していたプログラム等の接続が残っているなど、うまく実行が出来ないケースがあるかと思います。 そんな時は以下のようなSQLを実行するように実行したいDDLの最初に記述しておくとよいかもしれ…

SQL Server の varbinary 型データを PowerShell で取得して保存する

今回は PowerShell を使って SQL Server に保存された varbinary 型のデータを取得してファイル保存する方法を紹介します。 私の担当システムでは画像を扱っており、SQL Server のデータベースに varbinary 型で保存するようにしてます。 これを時々何が入っ…

本番環境のSSMSでトランザクションキャンセルした際にやらかした話

この記事は Zenn にも同様の内容で投稿しております。 zenn.dev 先日、本番障害で任意のテーブルをロックしっぱなしにし、さらに業務影響を与えるという二次障害を起こしました。 この記事は将来の自分への記事でもあります。 今回の件で学んだことをまとめ…

Excel を読み取るコマンドレットを見つけたので SQL Server にデータを入れる PowerShell スクリプトを書いてみた。

こんなものを見つけました。 www.powershellgallery.com Excel を読み取れる PowerShell のコマンドレットです。 思いつくことは 1 つですね? そう、Excel でテストデータを作成し、データベースに Insert するスクリプトの作成です。 なので、試しに書いて…

データベースへの更新処理で Rollback/Commit の確認処理を自動化

SI事業では保守作業などでSQLを流してDB操作をすることがちょくちょくあります。(自社開発系は経験がないのでどうしてるか分かりません...) 今まで、ロールバックするように記述したスクリプトを発行し、正しく登録されることを確認してからコミットに書き…

VSCodeの拡張「mssql」で取得結果をJsonで保存して楽々アサーション

SQL Server 2017など新しいバージョンのSQL Serverでは取得結果をJsonで保存する機能があります。 このような機能を使用することでNewtonsoft.JsonのJsonConvertクラスにより、 RepositoryクラスのGetAllメソッド等でデータを取得するテストの記述が比較が楽…

SQL Server on LinuxでSELECTするまで

今更ですが、DockerでSQL ServerをmacOSやLinuxでも使えるようになりましたので、 起動と設定、それからGUIツールを使ってデータをSELECTするところまでやってみたいと思います。 なお、環境はmacOS Mojaveとし、Dockerが入っていることを前提とします。 ま…