Mengaktifkan atau menonaktifkan protokol jaringan server

Berlaku untuk:SQL Server - Hanya Windows

Semua protokol jaringan diinstal selama penginstalan, oleh Penyiapan SQL Server, tetapi mungkin atau mungkin tidak diaktifkan. Artikel ini menjelaskan cara mengaktifkan atau menonaktifkan protokol jaringan server di SQL Server dengan menggunakan Pengelola Konfigurasi SQL Server atau PowerShell. Mesin Database harus dihentikan dan dimulai ulang agar perubahan diterapkan.

Keterangan

  • Selama penyiapan edisi SQL Server Express, login ditambahkan untuk grup BUILTIN\Users. Login ini memungkinkan semua pengguna komputer yang diautentikasi untuk mengakses instans SQL Server Express sebagai anggota peran publik. Login BUILTIN\Users dapat dihapus dengan aman untuk membatasi akses Mesin Database ke pengguna komputer yang memiliki login individual atau merupakan anggota grup Windows lainnya dengan login.

  • Penyedia data SQL Server dan Microsoft untuk SQL Server hingga SQL Server 2014 (12.x) hanya mendukung TLS 1.0 dan SSL 3.0 secara default. Jika Anda menerapkan protokol yang berbeda (seperti TLS 1.1 atau TLS 1.2) dengan membuat perubahan pada lapisan SChannel sistem operasi, koneksi Anda ke SQL Server mungkin gagal, kecuali Anda menginstal pembaruan yang sesuai untuk menambahkan dukungan untuk TLS 1.1 dan 1.2 ke SQL Server. Untuk informasi selengkapnya, lihat KB 3135244. Mulai dari SQL Server 2016 (13.x), semua versi rilis SQL Server menyertakan dukungan TLS 1.2 tanpa memerlukan pembaruan lebih lanjut.

Gunakan Pengelola Konfigurasi SQL Server

  1. Di Pengelola Konfigurasi SQL Server, di panel konsol, perluas SQL Server Network Configuration.

  2. Di panel konsol, pilih Protokol untuk <nama> instans.

  3. Di panel detail, klik kanan protokol yang ingin Anda ubah, lalu pilih Aktifkan atau Nonaktifkan.

  4. Di panel konsol, pilih SQL Server Services.

  5. Di panel detail, klik kanan SQL Server (<nama> instans), lalu pilih Mulai ulang, untuk menghentikan dan memulai ulang layanan SQL Server.

Catatan

Jika Anda memiliki instans SQL Server bernama, termasuk edisi SQL Server Express, Anda juga harus memulai ulang layanan Browser SQL Server.

Menggunakan SQL Server PowerShell

Mengaktifkan protokol jaringan server dengan PowerShell

  1. Menggunakan izin administrator, buka prompt perintah.

  2. Mulai Windows PowerShell dari taskbar atau menu Mulai.

  3. Impor modul SqlServer dengan memasukkan Import-Module SqlServer.

  4. Jalankan pernyataan berikut untuk mengaktifkan protokol TCP dan pipa bernama. Ganti <computer_name> dengan nama komputer yang menjalankan SQL Server. Jika Anda mengonfigurasi instans bernama (termasuk edisi SQL Server Express), ganti MSSQLSERVER dengan nama instans.

    Untuk menonaktifkan protokol, atur properti ke IsEnabled$false.

    Anda dapat menjalankan skrip ini dari komputer apa pun, dengan atau dengan SQL Server Anda yang terinstal. Pastikan Anda telah menginstal modul SqlServer .

    #requires the SqlServer module
    Import-Module SQLServer
    
    $wmi = New-Object Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer <#computer_name#>
    
    # List the object properties, including the instance names.
    $Wmi
    
    # Enable the TCP protocol on the default instance.
    $uri = "ManagedComputer[@Name='<#computer_name#>']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
    $Tcp = $wmi.GetSmoObject($uri)
    $Tcp.IsEnabled = $true
    $Tcp.Alter()
    $Tcp
    
    # Enable the named pipes protocol for the default instance.
    $uri = "ManagedComputer[@Name='<#computer_name#>']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']"
    $Np = $wmi.GetSmoObject($uri)
    $Np.IsEnabled = $true
    $Np.Alter()
    $Np
    

Mengonfigurasi protokol untuk komputer lokal

Ketika skrip dijalankan secara lokal dan mengonfigurasi komputer lokal, SQL Server PowerShell dapat membuat skrip lebih fleksibel dengan menentukan nama komputer lokal secara dinamis. Untuk mengambil nama komputer lokal, ganti pengaturan $uri baris variabel dengan baris berikut.

$uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"

Mulai ulang Mesin Database dengan SQL Server PowerShell

Setelah mengaktifkan atau menonaktifkan protokol, Anda harus menghentikan dan memulai ulang Mesin Database agar perubahan diterapkan. Jalankan pernyataan berikut untuk menghentikan dan memulai instans default dengan menggunakan SQL Server PowerShell. Untuk menghentikan dan memulai instans bernama, ganti 'MSSQLSERVER' dengan 'MSSQL$<instance_name>'.

# Get a reference to the ManagedComputer class.
CD SQLSERVER:\SQL\<computer_name>
$Wmi = (get-item .).ManagedComputer
# Get a reference to the default instance of the Database Engine.
$DfltInstance = $Wmi.Services['MSSQLSERVER']
# Display the state of the service.
$DfltInstance
# Stop the service.
$DfltInstance.Stop();
# Wait until the service has time to stop.
# Refresh the cache.
$DfltInstance.Refresh();
# Display the state of the service.
$DfltInstance
# Start the service again.
$DfltInstance.Start();
# Wait until the service has time to start.
# Refresh the cache and display the state of the service.
$DfltInstance.Refresh();
$DfltInstance

Catatan

Jika Anda memiliki instans SQL Server bernama, termasuk edisi SQL Server Express, Anda juga harus memulai ulang layanan Browser SQL Server.