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

SQL Server(T-SQL)でユーザーのデフォルト言語を見つける方法

    SQL Serverでは、sys.server_principalsにクエリを実行することで、特定のユーザーのデフォルト言語を見つけることができます。 システムカタログビュー。

    このビューには、すべてのサーバーレベルのプリンシパルの行が含まれています。プリンシパルの名前、タイプ、作成/変更日、デフォルトのデータベース、デフォルトの言語などの情報が含まれています。プリンシパルは、SQLServerリソースを要求できるエンティティです。

    プリンシパルは次のいずれかになります。

    Windowsレベルのプリンシパル

    • Windowsドメインログイン
    • Windowsローカルログイン

    SQLServerレベルのプリンシパル

    • SQLServerログイン

    データベースレベルのプリンシパル

    • データベースユーザー
    • データベースの役割
    • アプリケーションの役割

    プリンシパルのデフォルト言語を返す例

    特定のプリンシパルのデフォルト言語を取得するには、sys.server_principalsにクエリを実行します。 WHEREを表示して使用する 関心のあるプリンシパル名の句。

    このように:

    SELECT 
        type_desc,
        default_database_name,
        default_language_name 
    FROM master.sys.server_principals
    WHERE name = 'sa';

    結果:

    +-------------+-------------------------+-------------------------+
    | type_desc   | default_database_name   | default_language_name   |
    |-------------+-------------------------+-------------------------|
    | SQL_LOGIN   | master                  | us_english              |
    +-------------+-------------------------+-------------------------+
    

    この例では、saのデフォルト言語を取得します 主要な。プリンシパル名はサーバー内で一意です。この例では、デフォルトのデータベースとプリンシパルタイプも返します。この場合、プリンシパルはSQLServerログインです。

    別のユーザーを使用した別の例を次に示します。

    SELECT 
        type_desc,
        default_database_name,
        default_language_name 
    FROM master.sys.server_principals
    WHERE name = 'Bach';

    結果:

    +-------------+-------------------------+-------------------------+
    | type_desc   | default_database_name   | default_language_name   |
    |-------------+-------------------------+-------------------------|
    | SQL_LOGIN   | Music                   | German                  |
    +-------------+-------------------------+-------------------------+
    

    この場合、ログインのデフォルトのデータベースと言語は異なります。

    もちろん、必要に応じて、いつでもアスタリスクを使用してすべての列を返すことができます。

    どのログインでも、独自のログイン名、システムログイン、および固定サーバーの役割を確認できることに注意してください。他のログインを表示するには、ALTER ANY LOGINが必要です 、またはログインの権限。ユーザー定義のサーバーの役割を表示するには、ALTER ANY SERVER ROLEが必要です 、またはロールのメンバーシップ。

    デフォルト言語と現在の言語

    ほとんどの場合、セッションでのユーザーの現在の言語がデフォルトの言語になります。ただし、ユーザーはSET LANGUAGEを使用して現在の言語を変更できるため、必ずしもそうとは限りません。 声明。これにより、現在のセッションの言語が変更されますが、デフォルトの言語はそのままになります。

    詳細については、「SQL Serverで現在の言語を設定する方法(T-SQL)」および「SQLServerで現在のセッションの言語を取得する3つの方法(T-SQL)」を参照してください。


    1. MariaDB JSON_CONTAINS()の説明

    2. pgAdminでユーザーを作成する方法

    3. MySQLクエリログを有効にする方法は?

    4. RockyLinuxおよびAlmaLinuxにMariaDBをインストールする方法