Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách đặt ngôn ngữ mặc định cho tất cả thông tin đăng nhập mới trong SQL Server (T-SQL)

Mỗi lần bạn tạo thông tin đăng nhập mới trong SQL Server, bạn có quyền lựa chọn chỉ định ngôn ngữ mặc định cho thông tin đăng nhập đó. Nếu bạn không làm điều này, thông tin đăng nhập sẽ sử dụng ngôn ngữ mặc định như được chỉ định trong tùy chọn cấu hình máy chủ ngôn ngữ mặc định.

Bài viết này trình bày cách đặt tùy chọn cấu hình máy chủ ngôn ngữ mặc định trong SQL Server, sử dụng T-SQL.

Trước tiên, hãy kiểm tra Cài đặt ngôn ngữ mặc định của máy chủ

Trước khi tiếp tục và thay đổi bất kỳ điều gì, chúng ta nên kiểm tra xem cài đặt hiện tại là gì.

sp_configure quy trình được lưu trữ cho phép bạn xem hoặc thay đổi cài đặt cấu hình chung cho máy chủ hiện tại.

Để trả về tất cả các tùy chọn cấu hình, bạn có thể thực hiện thủ tục đã lưu trữ này mà không cần chuyển bất kỳ đối số nào. Như thế này:

EXEC sp_configure;

Tuy nhiên, điều đó trả về một tập hợp kết quả khá lớn.

Vì chúng tôi chỉ quan tâm đến cài đặt ngôn ngữ mặc định, chúng tôi có thể chạy mã sau:

EXEC sp_configure @configname='default language';

Và trên môi trường thử nghiệm của tôi, nó trả về như sau:

+------------------+-----------+-----------+----------------+-------------+
| name             | minimum   | maximum   | config_value   | run_value   |
|------------------+-----------+-----------+----------------+-------------|
| default language | 0         | 9999      | 0              | 0           |
+------------------+-----------+-----------+----------------+-------------+

Các giá trị chính mà chúng tôi quan tâm là config_valuerun_value . Trong trường hợp này, cả hai giá trị đều là 0 , là ID ngôn ngữ cho us_english .

Chúng tôi có thể thay đổi những điều đó bằng cách sử dụng mã sau:

EXEC sp_configure 'default language', 5;
RECONFIGURE;

Kết quả:

Configuration option 'default language' changed from 0 to 5. Run the RECONFIGURE statement to install. 

Lưu ý rằng các giá trị cho config_valuerun_value không tự động tương đương. Sau khi cập nhật cài đặt cấu hình bằng cách sử dụng sp_configure , bạn phải cập nhật run_value bằng cách sử dụng RECONFIGURE hoặc RECONFIGURE WITH OVERRIDE . Vì chúng tôi đã làm điều đó trong ví dụ này, chúng tôi sẵn sàng tiếp tục.

Vì vậy, khi chúng tôi kiểm tra lại cài đặt, chúng tôi có thể thấy các giá trị mới:

EXEC sp_configure @configname='default language';

Kết quả:

+------------------+-----------+-----------+----------------+-------------+
| name             | minimum   | maximum   | config_value   | run_value   |
|------------------+-----------+-----------+----------------+-------------|
| default language | 0         | 9999      | 5              | 5           |
+------------------+-----------+-----------+----------------+-------------+

Trong trường hợp này, chúng tôi đã thay đổi các giá trị thành 5 , là ID ngôn ngữ cho Español (Tiếng Tây Ban Nha).

Bạn cũng có thể truy vấn sys.configurations xem để trả về các giá trị của các tùy chọn cấu hình máy chủ nếu bạn muốn.

Cách tìm ID ngôn ngữ

Nếu bạn không biết ID ngôn ngữ của ngôn ngữ bạn cần thay đổi, bạn có thể thực thi sp_helplanguage thủ tục được lưu trữ. Bạn có thể chạy nó mà không cần đối số, trong trường hợp đó, tất cả các ngôn ngữ sẽ được trả về hoặc bạn có thể cung cấp tên hoặc bí danh ngôn ngữ để chỉ ngôn ngữ đó được trả về.

Đây là một ví dụ:

EXEC sp_helplanguage Spanish;

Đây là kết quả tôi nhận được khi chạy nó trong mssql-cli:

-[ RECORD 1 ]-------------------------
langid      | 5
dateformat  | dmy
datefirst   | 1
upgrade     | 0
name        | Español
alias       | Spanish
months      | Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octub
shortmonths | Ene,Feb,Mar,Abr,May,Jun,Jul,Ago,Sep,Oct,Nov,Dic
days        | Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
lcid        | 3082
msglangid   | 3082

Và chúng ta có thể thấy rằng ID ngôn ngữ cho tiếng Tây Ban Nha là 5 . Vì vậy, đó là giá trị chúng tôi cung cấp khi thực thi sp_configure để thay đổi ngôn ngữ mặc định sang tiếng Tây Ban Nha.

Vì vậy, bây giờ khi chúng tôi tạo thông tin đăng nhập mới, ngôn ngữ mặc định của nó sẽ là tiếng Tây Ban Nha (trừ khi chúng tôi cung cấp rõ ràng ngôn ngữ mặc định khi tạo thông tin đăng nhập).

Tạo thông tin đăng nhập mới - Không chỉ định ngôn ngữ mặc định

Vì vậy, hãy tạo thông tin đăng nhập mới mà không cần chỉ định ngôn ngữ mặc định:

CREATE LOGIN Julio   
    WITH PASSWORD = 't35Tin9345!'

Và bây giờ hãy kiểm tra ngôn ngữ mặc định cho thông tin đăng nhập đó:

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

Chúng tôi nhận được kết quả sau:

+-------------------------+
| default_language_name   |
|-------------------------|
| Español                 |
+-------------------------+

Vì chúng tôi không chỉ định ngôn ngữ mặc định cho thông tin đăng nhập này, nên nó sử dụng ngôn ngữ mặc định như được định cấu hình ở cấp máy chủ.

Tạo thông tin đăng nhập mới - Với ngôn ngữ mặc định

Nhưng nếu chúng tôi chỉ định ngôn ngữ mặc định khi chúng tôi tạo thông tin đăng nhập:

CREATE LOGIN Einstein   
    WITH PASSWORD = 't35Tin9345!',
    DEFAULT_LANGUAGE = German;

Và sau đó truy vấn sys.server_principals một lần nữa:

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

Chúng tôi nhận được kết quả sau:

+-------------------------+
| default_language_name   |
|-------------------------|
| German                  |
+-------------------------+

Vì vậy, cấu hình máy chủ chỉ được sử dụng khi bạn không chỉ định rõ ràng ngôn ngữ mặc định cho đăng nhập cá nhân.

Lưu ý rằng người dùng có thể thay đổi ngôn ngữ được sử dụng trong phiên của họ. Chỉ vì họ có ngôn ngữ mặc định, điều đó không có nghĩa là họ gặp khó khăn với ngôn ngữ đó. Để biết thêm thông tin, hãy xem 3 cách lấy ngôn ngữ của phiên hiện tại trong SQL Server (T-SQL) và cách đặt ngôn ngữ hiện tại trong SQL Server (T-SQL).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Quyền THỰC HIỆN đã bị từ chối trên đối tượng 'xxxxxxx', cơ sở dữ liệu 'zzzzzzz', giản đồ 'dbo'

  2. Mẹo sửa lỗi phân mảnh chỉ mục máy chủ SQL

  3. Cách thay đổi một cột từ Null thành Not Null trong SQL Server

  4. Kiến trúc SQL Server AlwaysOn (Nhóm khả dụng) và Cài đặt từng bước -1

  5. Xuất bảng thành tệp có tiêu đề cột (tên cột) bằng tiện ích bcp và SQL Server 2008