Aktifkan atau Nonaktifkan Protokol Jaringan Server

Berlaku untuk: SQL Server (semua versi yang didukung)

Semua protokol jaringan diinstal oleh Penyetelan SQL Server, tetapi mungkin atau mungkin tidak diaktifkan. Topik 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.

Penting

Selama penyiapan SQL Server Express login ditambahkan untuk grup BUILTIN\Users. 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 lain dengan login.

Peringatan

SQL Server dan penyedia data 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 telah menginstal pembaruan yang sesuai untuk menambahkan dukungan untuk TLS 1.1 dan 1.2 ke SQL Server yang tercantum di sini. Mulai dari SQL Server 2016 (13.x), semua versi rilis SQL Server menyertakan dukungan TLS 1.2 tanpa memerlukan pembaruan lebih lanjut.

Dalam Topik Ini

Menggunakan Pengelola Konfigurasi SQL Server

Untuk mengaktifkan protokol jaringan server

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

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

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

  4. Di panel konsol, klik SQL Server Services.

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

Menggunakan SQL Server PowerShell

Untuk Mengaktifkan Protokol Jaringan Server Menggunakan PowerShell

  1. Menggunakan izin administrator, buka prompt perintah.

  2. Mulai Windows PowerShell dari bilah tugas, atau klik Mulai, lalu Semua Program, lalu Aksesori, lalu Windows PowerShell, lalu Windows PowerShell.

  3. Impor modul sqlps dengan memasukkan Import-Module "sqlps"

  4. Jalankan pernyataan berikut untuk mengaktifkan protokol TCP dan pipa bernama. Ganti <computer_name> dengan nama komputer yang sedang berjalan SQL Server. Jika Anda mengonfigurasi instans bernama, ganti MSSQLSERVER dengan nama instans.

    Untuk menonaktifkan protokol, atur properti ke IsEnabled$false.

    $smo = 'Microsoft.SqlServer.Management.Smo.'  
    $wmi = new-object ($smo + 'Wmi.ManagedComputer').  
    
    # 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  
    

Untuk 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']"  
    

Untuk memulai ulang Mesin Database dengan menggunakan 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