C# でのトランザクション処理の実装方法

トランザクション処理を実装するには、まずデータベース接続を確立し、BeginTransaction() メソッドを使用してトランザクションを開始します。続いて、SqlCommand オブジェクトの Transaction プロパティに取得したトランザクションを割り当てます。コマンドを実行後、Commit() メソッドでトランザクションを確定、または Rollback() を使って取り消すことができます。 ...

8月12日 15:46 投稿

SQL Serverの大容量データ環境におけるパフォーマンス最適化ガイド

1. インデックス設計とメンテナンス戦略 データ容量が増加するとフルテーブルスキャンが発生し、応答時間が劣化します。検索コストを削減するためのインデックス設計が基本となります。 クラスタ化インデックス: データの物理格納順序を決定します。主キーに適用し、範囲抽出やソート処理の基盤とします。 非クラスタ化インデックス: 物理データとは独立したポインタ構造 ...

8月1日 16:56 投稿

hierarchyidデータ型の使用方法と主要メソッド

テーブル定義の例 CREATE TABLE [dbo].[Employee]( [ID] [int] IDENTITY(1,1), [Name] [nvarchar](50), [Position] [hierarchyid], ) 初期データの投入 INSERT INTO Employee(Name,Position) VALUES('社长','/') INSERT INTO Employee(Name,Position) VALUES('営業部長','/1/') INSERT Employee(Name,Position) VALUES('技術部長','/2/') INSERT Employee(Nam ...

7月29日 22:44 投稿

Java + SQL Server でデータベースの全テーブル構造をMarkdownドキュメントに自動エクスポートする

特に複数人でのプロジェクト開発において、データベースのテーブル構造ドキュメントは欠かせないものです。しかし、手作業で整理するのは効率が悪く、エラーも発生しやすいのが実情です。 本記事では、Javaを使用してSQL Serverに接続し、全てのテーブル構造を自動でMarkdownファイルにエクスポートするツールを紹介します。これにより、チームで構造を確認したり、技術ド ...

7月24日 16:26 投稿

T-SQLデータベース操作の基礎と応用

データベースの作成 SQL Serverで新しいデータベースを作成するには、CREATE DATABASE文を使用します。主ファイルとログファイルの両方を明示的に定義できます。 CREATE DATABASE SampleDB ON PRIMARY ( NAME = 'SampleDB_Data', FILENAME = 'C:\Data\SampleDB.mdf', SIZE = 5MB, MAXSIZE = 30MB, FILEGROWTH = 5% ) LOG ON ( NAME = 'SampleDB_Lo ...

7月21日 02:04 投稿

SQL Serverにおけるトランザクションとロックの仕組み

トランザクションとロックの基本概念 トランザクション:データの一貫性と回復性を保証するための不可欠な仕組み。 ロック:複数ユーザーが同じデータベースリソースにアクセスする際、アクセス順序を管理するメカニズム。これがないとトランザクションの信頼性が損なわれる。 デッドロック:データベースパフォーマンスを著しく低下させる要因の一つで、複数トランザクシ ...

7月17日 00:47 投稿

SQL Serverのデータベース管理に不可欠なシステムビュー一覧

メタデータ参照とシステムビューの役割 SQL Serverでは、データベース内部の構造、セキュリティ設定、実行中のクエリ状態を把握するために sys スキーマが提供するシステムビューを参照します。これらのビューは、従来のレガシーテーブルよりも構造化されており、スキーマ設計の確認やパフォーマンスチューニングの基盤として不可欠です。 オブジェクト構成と列情報の取得 ...

7月10日 18:21 投稿

SQL Serverのディスク容量とデータベースFileInfo収集

SQL Serverのディスク使用状況やデータベースFileInfoを収集するための以下の方法を紹介します。 1. ディスクパーティションの空き容量確認 EXEC xp_fixeddrives 2. データベースファイルの詳細情報を取得 SELECT * FROM sys.database_files SELECT name, CAST(size AS FLOAT) * (8192.0 / 1024.0 / 1024.0) AS size_mb FROM sys.database_files 3. 現在のデータ ...

6月23日 17:39 投稿

Dockerを使用したMS SQL ServerのセットアップとNavicatによるリモート接続

Microsoft SQL Server概要 Microsoft SQL Server(SQL Server)はマイクロソフトが開発したリレーショナルデータベース管理システムです。強力で高性能なエンタープライズ級データベースプラットフォームとして、大規模データセットの保存と処理、効率的なクエリと分析操作をサポートします。SQL ServerはT-SQL、ADO.NET、ODBC、OLE DBなど幅広いアプリケーション開発イン ...

6月17日 21:08 投稿

JavaによるSQL Serverへの大規模データ挿入手法

JDBCバッチ処理を使用した大量データ挿入 大量のデータをSQL Serverに挿入する際には、JDBCのバッチ処理機能を活用することでパフォーマンスを向上させることが可能です。この手法では複数のINSERT文をまとめて送信することで、ネットワーク通信のオーバーヘッドを削減できます。 import java.sql.Connection; import java.sql.DriverManager; import java.sql.P ...

6月7日 23:12 投稿