SQL Server でデータベース ダイアグラムまたはテーブルを設計する際に "The backend version is not supported to design database diagrams or tables" エラーが発生した場合の対処方法

2024-04-10

SQL Server でデータベース ダイアグラムまたはテーブルを設計する際に "The backend version is not supported to design database diagrams or tables" エラーが発生した場合の対処方法

この問題を解決するには、次のいずれかの方法を試してください。

SSMS の最新バージョンをダウンロードしてインストールします。最新バージョンは、Microsoft の Web サイトから入手できます。

使用しているデータベースのバックエンド バージョンと互換性のある SSMS バージョンをインストールする必要があります。SSMS のバージョンとデータベースのバックエンド バージョンの互換性については、次の表を参照してください。

SSMS バージョンデータベースのバックエンド バージョン
SSMS 18.xSQL Server 2016 以降
SSMS 17.xSQL Server 2012 以降
SSMS 16.xSQL Server 2008 R2 以降

別のツールを使用する

データベース ダイアグラムまたはテーブルを作成するために、別のツールを使用することができます。いくつかの代替ツールは次のとおりです。

  • Visual Studio
  • データベース エクスプローラー
  • Toad for SQL Server

データベースの互換性レベルを、使用している SSMS バージョンと互換性のあるレベルに変更することができます。データベースの互換性レベルを変更するには、次の手順に従います。

  1. SSMS でデータベースに接続します。
  2. オブジェクト エクスプローラーで、データベースを右クリックし、プロパティ を選択します。
  3. オプション ページで、互換性レベル ドロップダウン リストから、使用している SSMS バージョンと互換性のあるレベルを選択します。
  4. OK をクリックします。

注意事項

  • データベースの互換性レベルを変更すると、データベースのパフォーマンスや機能に影響を与える可能性があります。変更する前に、データベースのバックアップを取ることをお勧めします。
  • 古いバージョンの SSMS を使用している場合は、データベースのバックエンド バージョンと互換性がない可能性があります。最新バージョンを使用することをお勧めします。

これらの方法を試しても問題が解決しない場合は、Microsoft のサポートに問い合わせてください。




次のコード例は、データベース ダイアグラムを作成する方法を示しています。

USE AdventureWorks2019;

GO

CREATE DIAGRAM [dbo].[MyDiagram]
AS

BEGIN

    NODE [dbo].[Customer]
    (
        [CustomerID] INT PRIMARY KEY,
        [FirstName] VARCHAR(50) NOT NULL,
        [LastName] VARCHAR(50) NOT NULL
    )
    WITH
    (
        FONT = { NAME = 'Arial', SIZE = 10 },
        BORDER = { COLOR = RGB(255, 0, 0), WIDTH = 2 }
    );

    NODE [dbo].[Order]
    (
        [OrderID] INT PRIMARY KEY,
        [CustomerID] INT FOREIGN KEY REFERENCES [dbo].[Customer] ([CustomerID]),
        [OrderDate] DATETIME NOT NULL
    )
    WITH
    (
        FONT = { NAME = 'Arial', SIZE = 10 },
        BORDER = { COLOR = RGB(0, 0, 255), WIDTH = 2 }
    );

    RELATIONSHIP
    (
        [dbo].[Customer].[CustomerID]
        [dbo].[Order].[CustomerID]
    )
    WITH
    (
        LINE = { COLOR = RGB(0, 0, 0), WIDTH = 2 }
    );

END;

GO

このコード例は、AdventureWorks2019 データベースの Customer テーブルと Order テーブル間の関係を示すデータベース ダイアグラムを作成します。

USE AdventureWorks2019;

GO

CREATE TABLE [dbo].[MyTable]
(
    [ID] INT PRIMARY KEY,
    [Name] VARCHAR(50) NOT NULL,
    [Age] INT NOT NULL
);

GO

このコード例は、AdventureWorks2019 データベースに MyTable という名前のテーブルを作成します。

このエラーメッセージは、SSMS のバージョンとデータベースのバックエンド バージョンが互換性がないことが原因で発生します。この問題を解決するには、SSMS のバージョンを更新するか、データベースのバックエンド バージョンと互換性のある SSMS バージョンを使用するか、別のツールを使用するか、データベースの互換性レベルを変更する必要があります。




SQL Server でデータベース ダイアグラムまたはテーブルを設計する他の方法

Visual Studio は、データベース ダイアグラムとテーブルを作成するための強力なツールです。Visual Studio を使用するには、次の手順に従います。

  1. ファイル メニューから 新規 > プロジェクト を選択します。
  2. テンプレート ペインで データベース > ADO.NET Entity Framework を選択します。
  3. プロジェクト に名前を入力して OK をクリックします。
  4. ソリューション エクスプローラー で、プロジェクトを右クリックし 新しい項目の追加 を選択します。
  5. 追加項目 ダイアログ ボックスで データベース ダイアグラム または テーブル を選択して 追加 をクリックします。

データベース エクスプローラーは、SSMS に含まれているツールです。データベース エクスプローラーを使用してデータベース ダイアグラムとテーブルを作成するには、次の手順に従います。

  1. オブジェクト エクスプローラーで、データベースを右クリックし 新しい > データベース ダイアグラム または テーブル を選択します。

Toad for SQL Server は、データベース管理のためのサードパーティ製ツールです。Toad for SQL Server を使用してデータベース ダイアグラムとテーブルを作成するには、次の手順に従います。

  1. ツールバーの データベース ダイアグラム または テーブル ボタンをクリックします。

他にも、データベース ダイアグラムとテーブルを作成するために使用できるツールはたくさんあります。いくつかの例は次のとおりです。

  • MySQL Workbench
  • Oracle SQL Developer
  • PostgreSQL pgAdmin

手動で作成する

データベース ダイアグラムとテーブルを手動で作成することもできます。これは、データベースの構造を完全に理解している場合にのみお勧めします。

SQL Server でデータベース ダイアグラムまたはテーブルを設計するには、さまざまな方法があります。自分に最適な方法を選択してください。


sql sql-server database


カバードインデックスとは?SQLデータベースのパフォーマンスを向上させる鍵

カバードインデックスを使用する主なメリットは、以下の2つです。クエリのパフォーマンス向上: カバードインデックスを使用すると、データベースはテーブル全体をスキャンすることなく、必要なデータを直接インデックスから取得できます。これは、特に大規模なテーブルに対してクエリを実行する場合に、大幅なパフォーマンスの向上につながります。...


SSMSでテーブル編集後の変更を初心者でも簡単に保存する方法

SQL Server Management Studio (SSMS) でテーブルを編集した後、変更を保存するにはいくつかの方法があります。方法ツールバーを使用する編集したテーブルを開きます。ツールバーの [保存] ボタンをクリックします。...


PostgreSQLでINSERTとUPDATEの影響行数を取得:RETURNING句、pg_affected_rows、トリガー、関数、ビュー徹底比較

RETURNING句は、INSERTやUPDATEステートメントで変更された行のデータを取得するために使用できます。この句に ROW_COUNT 関数を指定することで、影響を受けたレコード数を取得できます。pg_affected_rowsシステム変数は、直前のINSERT、UPDATE、DELETEステートメントによって影響を受けたレコード数を格納します。この変数はステートメント実行後に自動的に更新されます。...


プログラミング初心者でもわかる!SQLにおける「同一テーブルを2回結合」の教科書

そこで、今回このガイドでは、同一テーブルを複数回結合する際に役立つ3つの主要な方法と、それぞれの利点と欠点、そして適切な使用例について詳しく説明します。自己結合は、最も基本的な方法で、同じテーブルに対して2つのエイリアスを使用し、結合条件を指定します。最も単純な方法ですが、結合のカラムを明確に指定する必要があり、テーブルの構造によっては複雑になる可能性があります。...


MySQLでカラムのデフォルト値を変更する方法:ALTER TABLEステートメント、その他の方法、サンプルコード

方法1:DEFAULTキーワードを使用するこの方法は、デフォルト値を単純な値に変更する場合に便利です。例:この例では、usersテーブルのageカラムのデフォルト値を20に変更します。この方法は、デフォルト値だけでなく、データ型やその他の属性も変更する場合に便利です。...