ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

SQL Server

SQL Serverのバージョンの確認方法について

今回はタイトル通りですが、SQL Serverでバージョンを確認する方法について記載したいと思います。早速ですが、やり方はとても簡単で以下のコマンドを入力するだけです。 SELECT SERVERPROPERTY('Edition') AS Edition, SERVERPROPERTY('ProductVersion') AS…

SQL Serverのbcpでテキストデータのインポート時に文字コードを指定する

以前、bcpコマンドの簡単な使い方を記事にして書いていたので、最近これを参照しながらcsvファイルをインポートしてみたのですがエラーになりました。 ※以下は以前記事にしたbcpコマンドの簡単な使い方 mr-star.hatenablog.com中途半端にデータがコピーされ…

SQL Serverにおけるテーブルのカラム追加の位置について

かなり久しぶりの投稿となってしまいましたが、最近知ったSQL Serverの知識をメモ程度に書きたいと思います。あるとき、SQL Serverでテーブルにカラムの新規追加をするときに、単純に現在のテーブル定義の最後尾にカラムを追加するのではなく、任意の場所に…

JDBCを用いてSQL Serverに接続するときの文字列パラメータについて注意すること

お恥ずかしながら、最近知ったことを備忘録として残しておきます。詳しいことは、すべてここのMicrosoftのブログに記載されています。 DO's&DONT's #2: 絶対にやらなければいけないこと - データ型を一致させる | Microsoft DocsSQL Serverでデータの比較を…

SQL Serverのロックタイムアウトについて

今回は、SQL Serverのロックタイムアウトについてお話したいと思います。SQL ServerへJavaアプリケーションでJDBC接続するときにロックタイムアウトってデフォルトで何秒なんだろうと思ったのが、この記事を書くきっかけです。ですので、JDBC接続におけるロ…

SQL Serverをコマンドラインで操作する

今回は、SQL Serverをコマンドラインで操作する方法を簡単に確認していきたいと思います。 以下の内容は、Windows 10のコンピュータにSQL Serverをインストールして確認しています。 コマンドラインツール SQL ServerをGUIで操作するには、あたりまえですが…

SQL Serverの拡張イベントとは?

今回は、SQL Serverの拡張イベントについて簡単に機能を確認しながら、概要をお話していこうと思います。 SQL Serverの拡張イベントとは? SQL Serverの拡張イベントは、パフォーマンスの問題が発生した場合のトラブルシューティングや、問題の調査に必要な…

SQL ServerのIntegration Servicesでデータのエクスポートを行う

今回は、SQL Serverで使えるIntegration Servicesの簡単な使い方についてお話していこうと思います。 Integration Servicesとは? Integration Servicesとは、テキストファイルやExcelファイルのインポートとエクスポートを行うことができる機能になります。…

SQL Serverのトレースフラグとは?

SQL Serverのトレースフラグ、書籍とかWebサイトでよく見るのですがこれは一体なんでしょうか。少し古い記事ですが、以下がとても参考になりました。 atmarkit.itmedia.co.jp簡単に言えば、「SQL Serverの内部動作を変更するための設定」ですね。たくさんの…

SQL Serverのdatetime型に気を付ける

SQL Serverのdatetime型を使うときに気を付けるべきことを紹介します。datetime型は、値の精度について知っておかないといけないことがあります。 たとえば、以下のようなクエリを作成して実行するとその結果に驚く方がいるかもしれません。 datetime型の挙…

SQL Serverのテーブルスキャンによるロック待ちについて

SQL Serverでは、テーブルスキャンによるロック待ちに注意する必要があります。 私自身は、SQL Serverを使う前はOracleを使っていたのですが、このSQL Serverの挙動を知り驚きました。 テーブルスキャンによるロック待ちとは? まずは、テーブルスキャンによ…

SQL Serverのバッチについて

SQL Serverのバッチについて調べたことをまとめておこうと思います。 SQL Serverのバッチとは? SQL Serverのバッチとは、SQL Serverに対してまとめて処理させたいステートメントの塊のことです。バッチの中に複数のステートメントを入れて、その複数のステ…

SQL Serverのbcpコマンドの使い方

SQL Serverに付属しているコマンドラインツールのbcpの使い方について説明します。 bcpコマンドとは? SQL Serverと一緒にインストールされるコマンドラインツールです。 ”bulk copy program”の頭文字を取って、bcpと呼ばれているようです。 docs.microsoft.…

SQL Server Management Studioでデータを簡単に更新する

今回は、SQL Server Management Studio(SSMS)で使用できるTips的な使い方を一つ紹介したいと思います。 知っている人はあたりまえかもしれませんが、知らない方はぜひお読みいただければと思います。 概要 通常、SQL Serverでデータを更新、追加、削除する…

SQL ServerのDDLはロールバックできる

タイトルの通りなのですが、少し驚きました。 SQL Serverでは、DDLをロールバックすることができるようです。以前、Oracleを使っていたことがあるのですが、OracleではDDLをロールバックできないと学んだ気がするので、このSQL Serverの挙動は少し驚きました…

SQL Serverのサンプルデータベース

最近知ったのですが、SQL Serverのサンプルデータベースが公式サイトから無料でダウンロードできます。 個人的に勉強をするときに、何かいい感じなデータ欲しいなとか思ったりしますが案外作るの面倒なのでかなり便利かと思います。以下からSQL Serverのサン…

AWS RDS for SQL Serverのネイティブバックアップの取得方法

今回は、AWS RDS for SQL Serverのネイティブバックアップの取得方法についてお話したいと思います。 実際に実施できる環境が手元にないので、画面キャプチャ等はありませんがポイントを絞って重要そうなところなどをお話していけたらと思います。個人的な備…

AWS RDSのパブリックアクセシビリティの設定で接続できなかった

今回は、AWSのマネージドデータベースサービスであるRDSのパブリックアクセシビリティについてちょこっとお話したいと思います。個人的にローカルPCで確認してみたいことがあり、AWS RDSでMicrosoft SQL Serverを立ててJavaのプログラムから接続を試しました…

SQL Serverの名前付きインスタンスへの接続方法について

今回は、SQL Serverの名前付きインスタンスへの接続方法についてお話していきたいと思います。名前付きインスタンスに接続したい境遇の方は。ぜひご参照いただければと思います。 今回は、すでに名前付きインスタンスをサーバーもしくはローカルPCにインスト…

SQL Serverで処理の実行中にスリープさせる方法

本日は、こんなコマンドあるんだ~と思ったものを紹介したいと思います。 タイトル通り、SQL Serverで処理の実行中にスリープさせるコマンドをご紹介したいと思います。 WAITFOR コマンド SQL Serverで処理の実行をスリープさせるコマンドがあります。 WAITF…

SQL ServerでSQLの実行履歴を確認する方法

今回は、SQL Serverで実行したSQLの実行履歴を確認する方法についてメモ程度に残しておきます。 この記事で紹介する方法は、DMV(動的管理ビュー)より確認する方法になります。 DMV(動的管理ビュー)でSQL実行履歴を確認する SQLの実行履歴を確認するステ…

SQL Serverの動的管理ビュー

今回は簡単にSQL Serverの動的管理ビューを紹介したいと思います。 動的管理ビューとは? 動的管理ビューを参照することで、サーバーの状態の情報などを取得することができます。取得した情報は、インスタンスのヘルス状態の監視、問題の診断、パフォーマン…

SQL ServerのIDENTITYプロパティについて

今回は、SQLServerのIDENTITYプロパティについてお話していきたいと思います。 お仕事で使っていて、便利だけど注意することがありましたので今回記事としてまとめてみました。 IDENTITYプロパティとは? IDENTITYプロパティとは、SQL Serverで自動的に連続…

SQL Serverで現在の接続でアクティブになっているSETオプションを確認する

タイトルの通りですが、SQL Serverで現在の接続でアクティブになっているSETオプションを確認するクエリを備忘として残します。 私は、現在の接続で暗黙的トランザクション(IMPLICIT_TRANSACTIONS)が設定されているかどうか確認したい場合にはこの方法で確…

SQL ServerでIDENTITYプロパティを設定しているテーブルを検索するクエリ

SQL ServerでIDENTITYプロパティを設定しているテーブルを検索するクエリを備忘として残します。 お仕事でIDENTITYプロパティを使用しているテーブルを調査したかったときに使いました。IDENTITYプロパティは、簡単に言えばSQL Serverで連番を生成してくれる…

SQL Serverでトランザクションのロックを解放する方法②

前回の記事で、SQL Serverでトランザクションのロックを解放する方法を紹介しましたが、 SQLではなく、SSMS(SQL Server Management Studio)のGUI操作のみでロックを解放する手順もありましたので、今回はそちらを紹介したいと思います。過去記事は以下にな…

SQL Serverでトランザクションのロックを解放する方法

以前、アプリケーションの不具合によりSQL Serverであるテーブルのレコードのロックを取得したままとなり、解放されない事象が発生してしまいました。 上記事象を解決するために、ロックを解放するための手順を調査したのでここにメモ代わりに記載しておきま…

SQL Serverでクライアントの接続プロトコルを調べる方法

SSMS(SQL Server Management Studio)などでSQL Serverに接続しているとき、現在接続しているクライアントの接続プロトコルを調べる方法について調査しました。以下のコマンドを実行すればOKです。以下の実行結果をみると、"Shared memory"になっていますの…

SQL Serverでテーブルのコピーを行う

今回はTips的な記事になります。SQL Serverでテーブルを丸ごとコピーしたいことがたまにあります。 たとえば、テーブルのレコードの状態を変更してちょっと検証したい!でも、既存のテーブルには影響を与えたくないといったケースです。バックアップを取得し…

SQL Serverのインスタンスをアンインストールする

SQL Serverのインスタンスの削除の方法を確認したいと思います。 今回は、Windows 10にインストールしたSQL Server 2019 Developerエディションの名前付きインスタンスを一つアンインストールしてみます。基本的には以下の公式ページを参考にしていますので…