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:
@@SERVERNAMEmemberikan nama server lokal yang saat ini dikonfigurasi.ServerNameproperty 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 .