sql >> データベース >  >> RDS >> Sqlserver

SQLServerでのデータベースオブジェクトとテーブルデータの検索

    SQL Serverデータベースの管理者または開発者は、名前の一部しか覚えていない特定のデータベースオブジェクトを頻繁に検索する必要があります。これらの検索操作を手動で実行する方法は、特にデータベースに多数のオブジェクトがある場合、時間がかかります。

    もう1つのシナリオは、すべてのデータベーステーブルで特定のデータを検索するシナリオです。この場合、検索するデータベーステーブルまたはビューの数に基づいてSELECTステートメントを複数回実行するか、複雑なカーソルを記述してすべてのデータベーステーブルをループして検索する必要があります。これには、高度なSQLServer開発スキルが必要です。

    この記事では、SQL Serverで特定のデータベースオブジェクトまたはデータを検索するさまざまな方法を見ていきます。組み込みのメソッドから徐々に進んで、要求されたデータベースを取得するのに簡単な3者​​間ツールに飛び込みます。オブジェクトまたはデータ。

    sys.objectsのクエリ

    Sys.objects は、特定のデータベースで定義されているすべてのオブジェクトを一覧表示するために使用できるSQLServerシステムの動的管理ビューです。

    たとえば、名前に「Emp」が含まれるすべてのデータベースオブジェクトを一覧表示するには、以下のT-SQLクエリのように、オブジェクト名に基づいてsys.objectsシステムDMVにクエリを実行します。

    SELECT NAME AS ObjName
        ,schema_name(schema_id) AS SchemaName
    	,type AS ObjType
    	,type_desc AS ObjTypeDesc
    	,create_date
    	,modify_date
    	FROM sys.objects
    WHERE NAME LIKE '%Emp%'
    ORDER BY ObjName ASC, ObjType ASC

    また、テストデータベースから返される結果は、完全なオブジェクト名、タイプ、作成、および変更データに関する完全な情報とともに、次のようになります。

    SQL ServerManagementStudioオブジェクトエクスプローラー

    データベース内の特定のデータベースオブジェクトを検索するために使用できるもう1つの方法は、SQL ServerManagementStudioオブジェクトエクスプローラーです。

    SQL Server ManagementStudioを使用してSQLServerインスタンスに接続して管理する場合は、オブジェクトエクスプローラーを開くことができます。 [表示]メニューの[オブジェクトエクスプローラーの詳細]オプションを選択するか、F7キーを押すだけです。 、以下に示すように:

    オブジェクトエクスプローラーを開くと、次の方法で特定のデータベースオブジェクトを検索できます。

    • 検索するデータベースを参照します
    • Search にデータベースオブジェクトの名前(完全または部分的)を書き込みます テキストボックス
    • Enterキーを押します 検索プロセスを開始するには

    検索条件を満たすすべてのデータベースオブジェクトのリストが次のように表示されます。

    特定のデータベースオブジェクトの場所に移動するには、開いたオブジェクトエクスプローラーの検索結果から、そのデータベースオブジェクトを右クリックし、同期を選択します。 以下に示すように、オプション:

    ポインタは、次に示すように、そのオブジェクトの場所に自動的に移動します。

    SQL ServerManagementStudioのフィルタリング

    SQL Server Management Studioは、フィルターを使用して特定のデータベースオブジェクトを検索および検索する別の方法を提供します。

    データベースオブジェクトは、次のようにフィルタリングできます。

    • オブジェクトが配置されているデータベースを参照します
    • データベースノードを拡張する
    • オブジェクトが配置されているフォルダ(テーブル、ビュー、ストアドプロシージャ、関数など)をポイントします
    • そのノードを右クリックして、フィルター設定を選択します フィルターの下 以下に示すオプションリスト:

    開いたフィルター設定から ウィンドウで、データベースオブジェクトを識別するために使用する検索条件を選択します(たとえば、名前、スキーマ、またはそのオブジェクトの所有者、検索フィルターで使用される演算子)。たとえば、指定された値を含む、または含まないという名前のデータベースオブジェクトを検索できます。フィルタ条件を指定したら、[ OK]をクリックします フィルタを適用するには:

    フィルタを適用すると、以下に示すように、フィルタの検索条件を満たすデータベースオブジェクトのみがオブジェクトタイプノードの下に一覧表示されます。

    フィルタを削除してすべてのデータベースオブジェクトを再度表示するには、関連するデータベースオブジェクトリストノード(テーブル)を右クリックします。 この例ではノードを選択し、フィルターの削除を選択します [フィルターオプション]リストのオプションを選択すると、以下に示すように、すべてのデータベースオブジェクトが再び表示されます。

    SQL ServerManagementStudioでのデータ検索

    SQL Server Management Studioは、特定の値を検索するSELECTクエリを作成するだけでなく、列の値を検索し、指定された基準に基づいてデータベースオブジェクトレベルで直接変更する別の方法を提供します。

    特定のテーブルからデータ値を検索するには、SQL Server Management Studioでそのテーブルを参照し、そのテーブルを右クリックして、上位200行の編集を選択します。 以下に示すように、オプション:

    開いたウィンドウで、フィルタリングウィンドウを表示するには、以下に示すテーブルアイコンをクリックします。

    開いたフィルタリングウィンドウで、関心のある条件と列を指定します。次の例では、IDが10より大きいすべての従業員の行を一覧表示します。

    フィルタを設定したら、空の領域の任意の場所を右クリックして、SQLの実行を選択します。 条件を適用するオプション:

    適用された条件を満たす行が結果グリッドに表示され、以下に示すように、このデータに対して更新を実行できます。

    SQLServer3パーティツールを検索する

    ここまでは、データベースオブジェクトとテーブルデータを検索するさまざまな方法について説明しました。ただし、これらのメソッドは、簡単にフィルタリング、並べ替え、または管理できない特定の種類の情報を提供します。そのため、市場で入手可能な3者間ツールを検討し、同じウィンドウで説明されているすべての検索機能を提供し、要件に基づいて結果を管理できるツールを見つける必要があります。

    あらゆるタイプのデータベースオブジェクトまたはデータを検索するために簡単かつ迅速に使用できる最も便利でユーザーフレンドリーなサードパーティツールの1つは、DevartによるdbForge Search forSQLServerです。

    dbForge Search for SQL Serverは、無料のSQL Server Management Studioアドインであり、SSMS Object Explorerを調べたり、そのオブジェクトの場所を思い出したりすることなく、SQLServerデータベースオブジェクトまたはデータを検索する機能を提供します。これにより、すべてのデータベースオブジェクトを検索したり、独自の検索フィルターを設定して、データベースオブジェクトまたはデータをすばやく見つけたり、SSMSオブジェクトエクスプローラーで簡単にナビゲートしたりできます。 dbForge Search for SQL Serverを使用すると、必要に応じて検索結果を並べ替えたりフィルタリングしたりすることもできます。

    dbForge Search for SQL Serverの無料ツールは、Devartダウンロードページからダウンロードできます。 以下に示すように、簡単なインストールウィザードを使用してマシンに簡単にインストールできます。

    インストールウィザードでは、最初にdbForge Search forSQLServerのインストールフォルダを指定するように求められます。

    次に、マシンにインストールされているSQL ServerManagementStudioのバージョンを選択できます。

    最後に、以下に示すように、ツールに適用するスタートアップの最適化を選択して、パフォーマンスを向上させることができます。

    dbForge Search for SQL Serverのインストールが開始されると、インストールの進行状況バーを介してインストールプロセスを監視できます。

    dbForge Search for SQL Serverアドインのインストールプロセスが完了すると、インストールウィザードは、選択したSSMSバージョンに対してアドインが正常にインストールされ、使用できる状態になったことを通知します。

    dbForge検索ツールの使用を開始するには、SQL ServerManagementStudioを開きます。以下に示すように、検索ツールの固有のアイコンが表示されます。

    dbForge Searchをクリックします アイコンと新しいウィンドウが開き、データベースオブジェクトとテーブルデータの両方を検索するオプションが提供されます。

    データベースオブジェクト検索

    AdevtureWorks2016データベースで名前に「emp」を含むすべてのデータベースオブジェクトを検索する必要があると想定します。

    DDLをクリックします 左側のボタンをクリックして、データベースオブジェクトの検索を選択します オプションで、検索フレーズを検索ボックスに書き込み、そのデータベースを含むSQL Serverインスタンスと、検索を実行するデータベースの名前を選択します。

    その後、オブジェクトタイプで検索するデータベースオブジェクトのタイプを選択します。 ドロップダウンリスト:

    最後に、実行する検索のタイプ​​を指定します。指定された単語の大文字と小文字が完全に一致するデータベースオブジェクト、指定された単語全体に一致するオブジェクトを検索するか、ワイルドカード(たとえば、「%」)を使用して、指定されたフレーズを含む名前のオブジェクトを返すことができます。

    表示されたテキストの近くにある検索ボタンをクリックすると、2つのセクションに結果が表示されます。最初のセクションには、提供された検索条件を満たすすべてのデータベースオブジェクトに関する完全な詳細が含まれています。 2番目のセクションには、選択したデータベースオブジェクトの作成に使用されるT-SQLステートメントがあります。

    返された結果を任意の列に基づいてソートする機能に加えて、dbForge検索ツールには、オブジェクトのタイプごとに検索結果をグループ化する機能があります。以下に示すように、検索結果をデータベースオブジェクトごとにグループ化するには、グループ化アイコンをクリックします。

    検索結果はデー​​タベースオブジェクトタイプごとにグループ化されるため、関心のあるオブジェクトを簡単に見つけて管理できます。

    検索結果から必要なデータベースオブジェクトを選択した後、オブジェクトを右クリックしてオブジェクトエクスプローラーで検索を選択すると、SSMSオブジェクトエクスプローラーでそのオブジェクトを簡単に見つけることができます。 オプション:

    データ検索

    dbForge検索ツールを使用すると、データベースのテーブルまたはビューで特定のテキストまたは数値を検索することもできます。検索モードをデータベースオブジェクト検索からデータ検索に変更するには、データをクリックします。 ウィンドウの左側にある検索ボタンで、データベースがホストされているSQL Serverインスタンスと、データを検索するデータベース、テーブル、およびビューを選択します。データ検索条件とフィルターを指定した後、データ値を書き込みます。以下に示すように、提供されたテキストの近くにある検索アイコンをクリックして検索します。

    この場合も、結果は2つのセクションに表示されます。最初のセクションには戻り値の場所に関する完全な情報が表示され、2番目のセクションにはその値を含む完全な行が表示されます。

    前の例から、正確で狭い検索条件を提供すると検索プロセスが高速になることを考慮して、dbForge検索ツールがデータベースオブジェクトまたはデータを検索および検索するのがいかに簡単で高速であるかが明確にわかります。自分で試してみてください!


    1. MySQL /正規表現置換で単語を数える方法は?

    2. JSON_TYPE()–MySQLでJSON値のタイプを取得します

    3. ストアドプロシージャ内にデフォルトのスキーマを設定できますか?

    4. WindowsからAmazonEC2でMySQLに接続するにはどうすればよいですか?