Share via


Nasıl yapılır: Etkinleştir veya Server Ağ Protokolü (SQL Server PowerShell) devre dışı bırakma

Tarafından tcp ve adlandırılmış kanallar ağ iletişim kuralları yüklü SQL Server Kur, etkin olmayabilir ama.Ağ protokolleri etkinleştirilebilir veya devre dışı aşağıdaki PowerShell komut dosyaları kullanarak veya kullanarak SQL Server Yapılandırma Yöneticisi.Durdurma ve yeniden başlatma gerekir SQL Server Veritabanı Altyapısı için protokol değişikliklerin etkili olması için

PowerShell hakkında genel bilgi için bkz: sql Server PowerShell genel bakış.İletişim kurallarını kullanarak yönetme hakkında daha fazla bilgi için SQL Server Yapılandırma Yöneticisi Bkz: Nasıl yapılır: Etkinleştir veya Server Ağ Protokolü (SQL Server Configuration Manager) devre dışı bırakma.

The SQL Server PowerShell (SQLPS.exe) utility starts a PowerShell session with the SQL Server PowerShell provider and cmdlets loaded and registered.Çalışırken PowerShell (yüklemeye ilişkin PowerShell.exe) yerine SQL Server PowerShell, aşağıdaki ifadeleri el ile yüklemek'ilk yürütmekgerekli derlemeler.

# Load the assemblies
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement")

Aşağıdaki komut, iletişim kurallarını etkinleştir.İletişim kurallarını devre dışı bırakmak için küme IsEnabled özellikleri için $false.

sql Server PowerShell kullanarak bir sunucu ağ protokol etkinleştirmek için

  1. Yönetici izinleri açık kullanarak komut istemi istemleri.

  2. Başlamak için SQL Server komut istemi isteminde yazın PowerShell sqlps.exe.

  3. Hem tcp etkinleştirmek için aşağıdaki deyimleri yürütmek ve adlandırılmış yöneltmeler protokoller.Yerine <computer_name> çalıştıran bilgisayarın adı ile SQL Server.Bir adlandırılmış yapılandırıyorsanız örnek, yerini MSSQLSERVER ile adlandırılmış örnek.

    $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
    

Yerel bilgisayar için iletişim kurallarını yapılandırmak için

  • Komut dosyası yerel olarak çalıştırmak ve yerel bilgisayarı yapılandırır, SQL Server PowerShell komut dosyası daha esnek dinamik olarak malzemelerini yapabilirsinizyerel bilgisayarın adı. Yerel bilgisayar adı almak için satır ayarı Değiştir $uri değişkeni ile aşağıdaki satırı.

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

Veritabanı Altyapısı sql Server PowerShell kullanarak yeniden başlatmak için

  • Etkinleştirmek veya devre dışı iletişim kuralları sonra Dur yeniden başlatın ve gereken Veritabanı Altyapısı için bir değişiklik olması etkili.varsayılan örnek kullanarak başlatmak ve durdurmak için aşağıdaki deyimleri yürütme SQL Server PowerShell.Durdurmak ve başlatmak için bir adlandırılmış örnek yerini 'MSSQLSERVER' ile '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