SQLServerの概要と基本用語

SQLServerの概要と基本用語です。(確認環境:SQL Server Management Studio18)

目次

サンプル サーバ/インスタンス/データベースの関係
  システムデータベース
  SQL Serverのファイルとトランザクションログ
  Windows認証とSQL Server認証
SQLServerのバージョンを調べる

サーバ/インスタンス/データベースの関係

サーバ名とインスタンス

一番上の赤枠は、サーバ名とインスタンス名です。円マークで区切られています。「名前付きインスタンス」と呼ばれます。
円マークで区切られてなくサーバ名だけのもの(MSSQLSERVER)は「規定のインスタンス」と呼ばれます。

インスタンスはプロセスとメモリ領域から構成されます。

データベースとテーブル

インスタンスの配下に複数のデータベースがあります。(Oracleは1インスタンス1DBです)

データベースの中に複数のテーブルがあります。

dboは、規定のスキーマです。

https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/sql/ownership-and-user-schema-separation-in-sql-server

 

システムデータベース

システムデータベースは5つあります。
上記図は4つですが他にResource データベースがあります。

master システムの情報
model データベースのテンプレート
msdb SQL Server エージェントが使用
tempdb 一時的な処理等で使用
Resource システムオブジェクトを格納

https://docs.microsoft.com/ja-jp/sql/relational-databases/databases/system-databases?view=sql-server-ver15

 

SQL Serverのファイルとトランザクションログ

データベースごとにファイルが作られています。

mdfはデータやインデックスやストアドプロシージャを含むファイルです。

ldfはトランザクションログファイルです。データを更新した履歴が書かれます。

https://docs.microsoft.com/ja-jp/sql/relational-databases/logs/the-transaction-log-sql-server?view=sql-server-ver15

 

論理的な管理

上記の物理ファイル内では論理的な管理がされています。

セグメント エクステントの塊です。テーブルやインデックスにあたります。
エクステント 連続したページです。
ページ 最小単位で8K(デフォルト)です。

 

トランザクションログファイルの制御方法

データベースを右クリックしてプロパティを選択し、オプション→から復旧モデル(Recovery model)で単純(Simple)、完全(Full)、一括ログ(Bulk-logged)を選択できます。

単純(Simple) ログはチェックポイントで切り捨てられます。ログのバックアップは行わないのでログを活用した復旧は想定していません。ログ領域は再利用されるためトランザクションログの管理は不要です。
完全(Full) ログはログのバックアップ時に切り捨てられます。ログを活用した復旧が可能です。ログのバックアップ行わないとログは肥大化するためログの管理が必要です。
一括ログ
(Bulk-logged)
完全(Full)を補完します。一括コピーで使用します。

https://docs.microsoft.com/ja-jp/sql/relational-databases/backup-restore/recovery-models-sql-server?view=sql-server-ver15

 

SQL Serverのログ

管理(Management)配下にあります。
クリックすると詳細が表示されます。

https://docs.microsoft.com/ja-jp/sql/relational-databases/logs/open-log-file-viewer?view=sql-server-ver15

 

Windows認証とSQL Server認証

Windows認証は、Windowsのログオン情報を元に認証します。
ログインするときユーザとパスワードの入力は不要です。
ローカルPCだけでなくActive Directoryのドメインのログオン情報も使用できます。

SQL Server認証は、ユーザ名とパスワードを入力します。ユーザとパスワードはSQLServerで保持します。

Microsoftは可能な場合はWindows認証の使用を推奨しています。

https://docs.microsoft.com/ja-jp/sql/relational-databases/security/choose-an-authentication-mode?view=sql-server-ver15

 

SQLServerのバージョンを調べる

SELECT @@VERSION

上記sqlを実行すると以下のように表示されます。

__COLUMN1
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
Sep 24 2019 13:48:23
Copyright (C) 2019 Microsoft Corporation
Express Edition (64-bit) on Windows 10 Home 10.0 <X64> (Build 19042: )

SQL Server 2019と表示されています。

関連の記事

SQLServer SSMSの使い方(DB/TBL作成/データ出力)
SQLServer DDL文でtable,view等を作成するサンプル

△上に戻る