Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

2 Cara Mengembalikan Nama Server di SQL Server (T-SQL)

Berikut adalah beberapa metode T-SQL yang dapat Anda gunakan untuk mengembalikan nama server di SQL Server.

@@SERVERNAME

@@SERVERNAME fungsi konfigurasi dirancang khusus untuk mengembalikan nama server lokal yang menjalankan SQL Server.

Untuk mendapatkan nama server, Anda cukup memilihnya menggunakan SELECT pernyataan.

SELECT @@SERVERNAME;

Hasil di sistem saya:

mssql2019_1

Ini memberitahu saya bahwa nama server saya adalah mssql2019_1 .

PROPERTI SERVER(NamaServer)

SERVERPROPERTY() fungsi metadata juga dapat digunakan untuk mengembalikan nama server, serta banyak properti lainnya.

Untuk mengembalikan nama server, Anda harus melewati ServerName sebagai argumen.

SELECT SERVERPROPERTY('ServerName');

Hasil:

mssql2019_1

Dalam kasus saya, ini adalah output yang sama.

Perbedaan Antara Kedua Fungsi Ini

Kedua fungsi di atas menghasilkan keluaran yang sama pada mesin saya, tetapi Anda mungkin menemukan bahwa keduanya menghasilkan keluaran yang sedikit berbeda pada mesin Anda.

Kedua fungsi ini serupa, tetapi sedikit berbeda. Inilah perbedaannya:

  • @@SERVERNAME memberikan nama server lokal yang saat ini dikonfigurasi.
  • ServerName property menyediakan server Windows dan nama instance yang bersama-sama membentuk instance server unik.

Jadi misalnya, pada sistem Windows, jika nama komputer Anda adalah Felix , dan instance SQL Server Anda disebut sql1 , menjalankan SERVERPROPERTY('ServerName') mungkin mengembalikan Felix\sql1 .

Nama Mesin &Nama Instance

SERVERPROPERTY() fungsi juga dapat digunakan untuk mengembalikan nama mesin serta nama instance SQL Server.

Namun, hasil yang Anda dapatkan akan bergantung pada beberapa hal (disebutkan di bawah).

Inilah yang saya dapatkan di Mac saya yang menjalankan SQL Server untuk Linux melalui wadah Docker.

SELECT
  SERVERPROPERTY('MachineName') AS MachineName,
  SERVERPROPERTY('InstanceName') AS InstanceName;

Hasil:

+---------------+----------------+
 | MachineName   | InstanceName   |
 |---------------+----------------|
 | mssql2019_1   | NULL           |
 +---------------+----------------+ 

Pertama, MachineName properti mengembalikan nama mesin. Penjelasan Microsoft adalah bahwa ia mengembalikan nama komputer Windows tempat instance server berjalan.

Microsoft juga menyatakan bahwa "Untuk contoh berkerumun, contoh SQL Server yang berjalan di server virtual di Layanan Cluster Microsoft, ia mengembalikan nama server virtual".

Sejauh InstanceName properti berjalan, ia mengembalikan nama instance ke which pengguna terhubung.

Namun, ia mengembalikan NULL jika nama instance adalah instance default, jika input tidak valid, atau error.

Dalam kasus saya, nama instance adalah instance default dan saya mendapatkan NULL .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Enkripsi Data Transparan (TDE) di SQL Server dalam Grup Ketersediaan AlwaysOn pada Contoh

  2. Penguncian Optimis vs. Pesimis

  3. SQL Server - Apa yang terjadi ketika baris dalam tabel diperbarui?

  4. Bisakah saya menggunakan aliran untuk INSERT atau UPDATE baris di SQL Server (C#)?

  5. Cara Memperbaiki "Nama objek tidak valid 'OPENJSON'." di SQL Server