[データベース] SQL Server 視覚化ツール SSMS 条件と SQL ペインとバージョン情報

2023 年、第 34 週、第 1 条。自分に目標を与えて、必ず領収書があると主張してください。信じられない場合は、試してみてください。
SQL SERVER にはデータベース可視化管理ツール SSMS が正式に用意されているため、ほとんどは SSMS を使用することになります。以前のバージョンは直接バンドルされており、
インストール完了後に含まれていましたが、最新バージョンはバンドルする必要はなく、対応するバージョンを別途ダウンロードしてインストールする必要があります。

ここに画像の説明を挿入

1. 視覚化ツール

Microsoft SQL Server Management Studio (SSMS) に加えて、SQL Server データベースの管理とクエリを実行するためのビジュアル ツールが他にも多数あります。
一般的に使用される視覚化ツールをいくつか示します。

1.1、Azure データスタジオ

これは、SQL Server、Azure SQL Database などの複数のデータベースの接続と管理に使用できる軽量のクロスプラットフォーム データベース管理ツールです。

1.2、Visual Studioコード

これは汎用コード エディターですが、mssql 拡張機能などの適切な拡張機能をインストールすることで、Visual Studio Code で SQL Server データベースに接続し、クエリを実行できるようになります。

1.3、Dビーバー

これは、SQL Server を含む複数のデータベース プラットフォームをサポートする機能が豊富なオープン ソース データベース管理ツールです。直感的なユーザー インターフェイスと強力なクエリ機能を提供します。

1.4、SQL Server データツール (SSDT)

これは、SQL Server データベース開発のサポートを提供する Visual Studio のプラグインです。データベースプロジェクト、モデル設計、データ比較、公開などの機能を提供します。

1.5、dbForge Studio for SQL Server

これは、データベース設計、クエリ構築、データのインポートとエクスポートなどの幅広い機能を提供する強力な商用データベース管理ツールです。

1.6、Navicat for SQL Server

これは、SQL Server を含む複数のデータベース プラットフォームをサポートするもう 1 つの商用データベース管理ツールです。直感的なユーザー インターフェイスと豊富な機能セットを提供します。

これらの可視化ツールにはさまざまな機能とユーザー インターフェイスがあり、個人の好みやニーズに応じて最適なツールを選択できます。
どのツールを選択しても、SQL Server データベースの管理とクエリを簡単に行うことができます。

2.SSMSのバージョン

Microsoft SQL Server Management Studio (SSMS) は、Microsoft SQL Server データベースを管理および操作するための統合環境です。
データベースの設計、クエリ、管理、チューニングなどの操作のためのグラフィカル ユーザー インターフェイスを提供します。

SSMS の各リリースでは、いくつかの新機能と改善点が導入されています。リリース間に共通する主な違いをいくつか示します。

1.1、SQL Server 2008 SSMS

2008 年にリリースされたこれは、SSMS の最も初期のバージョンの 1 つです。
SSMS 2008 には、次のような多くの新機能と改善点が含まれています。
1) IntelliSense は、
自動コード補完機能と構文チェック機能を提供し、SQL クエリとスクリプトの作成とデバッグをより迅速に行うことができます。
2) マルチファイルクエリエディタ
複数のクエリファイルを同時に開いて編集できるため、複数のクエリ間の比較やデバッグに便利です。
3) 依存関係ビューア
データベース オブジェクト間の依存関係を表示できるため、オブジェクト間の依存関係や影響を理解しやすくなります。
4) アクティビティ モニター クエリ
実行プラン、ロックおよびブロック情報などを含む、データベースのアクティビティとパフォーマンスのリアルタイムの監視と分析を提供します。

1.2、SQL Server 2012 SSMS

2012 年 3 月 7 日にリリースされたこのバージョンには、ローカル実行プランのプレビュー、グループ ウィンドウ関数構文の強調表示、列
セレクター、SQL Server 2012 のいくつかの新機能のサポートなど、いくつかの新機能が導入されています。

1.3、SQL Server 2014 SSMS

2014 年 4 月 1 日にリリースされたこのバージョンでは、キャッシュ スケーリング モード、マルチサーバー クエリなど、より多くの機能と改善が導入されています。

1.4、SQL Server 2016 SSMS

2016 年 6 月 1 日にリリースされたこのバージョンでは、テンポラル テーブル、動的データ マスキング、行レベルのセキュリティなど、SQL Server 2016 の多くの新機能のサポートが追加されています。

1.5、SQL Server 2017 SSMS

2017 年 10 月 2 日にリリースされたこのバージョンには、描画、自動相関、自動セルフテストなどのいくつかの新機能が導入されています。

1.6、SQL Server 2019 SSMS

2019 年 11 月 4 日にリリースされたこのバージョンでは、ビッグ データ クラスター、暗号化されたデータ ページ、インテリジェントなクエリ処理など、SQL Server 2019 の新機能のサポートが追加されています。

SSMS の各バージョンは、対応するバージョンの SQL Server データベースをサポートしていますが、通常、新しいバージョンの SSMS は古いバージョンのデータベースと下位互換性があることに注意してください。
より多くの機能とパフォーマンスを向上させるために、最新バージョンの SSMS を使用することをお勧めします。

上記は一部のメジャー バージョン間の違いにすぎず、詳細は説明されていないことに注意してください。
Microsoft の公式ドキュメントや詳細なリリース ノートを参照して、各バージョンの具体的な改善点や新機能について知ることができます。

3. 共通システムテーブル

SQL Server では、システム テーブルは、データベースのメタデータとシステム情報を格納するために使用される特別なテーブルです。以下は、一般的な SQL Server システム テーブルの一部です。

1.1、sys.オブジェクト

このテーブルには、テーブル、ビュー、ストアド プロシージャ、トリガーなど、データベース内のすべてのオブジェクトに関する情報 (名前、タイプ、作成日など) が含まれています。

1.2、sys.columns

このテーブルには、データベース内のすべてのテーブルの列名、データ型、長さなどの列情報が保存されます。

1.3、システムテーブル

このテーブルには、テーブル名、スキーマ、タイプ、作成日など、データベース内のすべてのテーブルに関する情報が含まれています。

1.4、sys.views

このテーブルには、ビュー名、定義、作成日などを含む、データベース内のすべてのビュー情報が保存されます。

1.5、システムプロシージャ

このテーブルには、ストアド プロシージャの名前、定義、作成日など、データベース内のすべてのストアド プロシージャに関する情報が含まれています。

1.6、sys.トリガー

このテーブルには、トリガーの名前、関連するテーブル、イベント タイプなど、データベース内のすべてのトリガーに関する情報が含まれています。

1.7、sys.indexes

このテーブルには、インデックスの名前、インデックスが属するテーブル、インデックスが属する列など、データベース内のすべてのインデックスに関する情報が保存されます。

1.8、sys.スキーマ

このテーブルには、スキーマ名、所有者など、データベース内のすべてのスキーマ情報が含まれます。

1.9、システムデータベース

このテーブルには、データベースの名前、作成日、ステータスなど、すべてのデータベースに関する情報が保存されます。

1.10、sys.sysprocesses

このテーブルには、プロセス ID、ステータス、現在実行中の SQL ステートメントなど、SQL Server の現在のインスタンスで実行されている各プロセスに関する情報が表示されます。

上記は一般的な SQL Server システム テーブルの一部であり、データベースの管理、クエリ、監視に役立つデータベース構造、オブジェクト、メタデータに関する重要な情報を提供します。
これはシステム テーブルのほんの一部であり、SQL Server のバージョンと構成によって異なる場合があることに注意してください。

4. SQLクエリシステムテーブル

4.1. データベース内のすべてのテーブルをクエリする

SQL Server データベース内のすべてのテーブルをクエリするには、次の SQL クエリを使用できます。

USE YourDatabaseName; -- 替换为你要查询的数据库名称
SELECT *
FROM sys.tables;

上記のクエリでは、「YourDatabaseName」をクエリしているデータベースの実際の名前に置き換える必要があります。
クエリは、sys.tablesデータベース内のすべてのテーブルに関する情報をシステム テーブルから取得し、その情報を返します。

このクエリは、システム テーブルやユーザー テーブルを含むすべてのテーブルを含む結果セットを返すことに注意してください。
ユーザー テーブルのみを返したい場合は、クエリに追加のフィルターを追加できます。次に例を示します。

USE YourDatabaseName; -- 替换为你要查询的数据库名称
SELECT *
FROM sys.tables
WHERE is_ms_shipped = 0;

is_ms_shipped = 0クエリに条件を追加すると、システム テーブルを除外し、ユーザー テーブルのみを返すことができます。

あるいは、SSMS GUI を使用してデータベース内のすべてのテーブルを取得することもできます。SSMS で、
データベース オブジェクト (オブジェクト エクスプローラー ウィンドウに表示されます) を展開し、テーブル フォルダーを選択すると、そのデータベース内のすべてのテーブルが表示されます。

4.2. クエリテーブルのフィールドとメモ

SQL Server データベース テーブルのフィールドとフィールドの説明をクエリするには、次の SQL クエリを使用できます。

USE 数据库名; -- 替换为你要查询的数据库名称
SELECT 
    T.TABLE_NAME AS 表名,
    C.COLUMN_NAME AS 字段名,
    P.VALUE AS 字段说明
FROM INFORMATION_SCHEMA.TABLES AS T
INNER JOIN INFORMATION_SCHEMA.COLUMNS AS C ON T.TABLE_NAME = C.TABLE_NAME
LEFT JOIN (
    SELECT 
        MAJOR_ID,
        MINOR_ID,
        NAME,
        VALUE
    FROM SYS.EXTENDED_PROPERTIES 
    WHERE NAME = 'MS_Description'
) AS P ON P.MAJOR_ID = OBJECT_ID(T.TABLE_NAME) AND P.MINOR_ID = COLUMNPROPERTY(OBJECT_ID(T.TABLE_NAME), C.COLUMN_NAME, 'ColumnID')
WHERE T.TABLE_TYPE = 'BASE TABLE' and T.TABLE_NAME='你的表名' -- 只查询基本表
ORDER BY T.TABLE_NAME, C.ORDINAL_POSITION;

ここに画像の説明を挿入

クエリ内の「データベース名」を、クエリする実際のデータベース名に置き換えます。
このクエリは、INFORMATION_SCHEMA.TABLES および INFORMATION_SCHEMA.COLUMNS システム ビューを結合することにより、データベース内のテーブル フィールドに関する情報を取得します。
次に、サブクエリを使用してフィールドの説明情報を取得します。
クエリ結果には、テーブル名、フィールド名、フィールドの説明が含まれます。
基本テーブルまたは特定のテーブルのみをクエリするなど、必要に応じて WHERE 句を使用してフィルタリングします。
クエリ結果はテーブル名とフィールドの順序で並べ替えられます。
このクエリは、デフォルトで MS_Description 拡張属性を使用してフィールドの説明を保存することに注意してください。
別の名前を使用して説明情報をデータベースに保存している場合は、それに応じて WHERE サブクエリの NAME = 'MS_Description' 条件を変更する必要があります。

おすすめ

転載: blog.csdn.net/lmy_520/article/details/132273387