sql >> Base de Datos >  >> RDS >> Sqlserver

2 formas de obtener el idioma predeterminado de inicio de sesión en SQL Server (T-SQL)

Hay (al menos) un par de formas en que puede usar T-SQL para devolver el idioma predeterminado de un inicio de sesión específico en SQL Server.

En particular, puede utilizar los siguientes métodos:

  • Consulte LOGINPROPERTY() función.
  • Consulta sys.server_principals vista de catálogo del sistema en el master base de datos.

Ejemplos de estos están a continuación.

El LOGINPROPERTY() Función

LOGINPROPERTY() La función requiere que se le pase un nombre de inicio de sesión y una propiedad como argumentos. Luego produce su resultado basado en esos argumentos.

He aquí un ejemplo.

SELECT LOGINPROPERTY('Bart', 'DefaultLanguage');

Resultado:

us_english

Los sys.server_principals Ver

Una forma alternativa de hacerlo es usar sys.server_principals vista del catálogo del sistema.

Esta vista devuelve más columnas de las que necesitamos, por lo que podemos especificar qué columnas queremos que se devuelvan.

También debemos especificar el inicio de sesión que queremos devolver; de lo contrario, obtendremos todos los inicios de sesión (aunque no hay nada de malo en eso, si eso es lo que necesita hacer).

SELECT 
    default_language_name 
FROM master.sys.server_principals
WHERE name = 'Bart';

Resultado:

us_english

Una ventaja de usar esta vista es que es fácil incluir otras columnas, como el nombre de la base de datos predeterminada, etc.

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

Resultado:

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