Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 3
  • 116

W środowisku produkcyjnym posiadamy wiele serwerów Microsoft SQL Server w wersjach 2005, 2008 i 2008R2.
Ponieważ systematycznie pojawiają się nowe instancje pojawiła się potrzeba weryfikacji ich ustawień konfiguracyjnych. Jedno z kluczowych ustawień dla naszych aplikacji to  SQL CLR.
W jaki sposób sprawdzić, czy załączona jest funkcja SQL CLR na wielu serwerach z poziomu stacji z Windows 7?

Uczestnik szkolenia
  • Zapytał
  • @ Uczestnik szkolenia | 22.06.2013

Odpowiedź (1)

  • 3

W celu uzyskania informacji o wymienionym ustawieniu konfiguracyjnym należy uruchomić procedurę sp_configure na wskazanym serwerze.
W przypadku pracy z wieloma serwerami najwygodniej jest przygotować skrypt sprawdzający ustawienia serwera.
W pierwszym kroku należy załadować bibliotekę z klasami dostępowymi do baz danych:





W kolejnych krokach należy utworzyć i skonfigurować obiekty reprezentujące połączenie, zapytanie, adapter i tablicę.
Po wypełnieniu tablicy ostatnim krokiem jest odczytanie ustawienia konfiguracyjnego:






Poniższy skrypt reprezentujący przykładowe rozwiązanie można uruchomić z dowolnej stacji z zainstalowanym PowerShell 2.0:

$server = "SQL SERVER NAME"

[System.Reflection.Assembly]::LoadWithPartialName("System.Data")
$cnn = New-Object -TypeName System.Data.SqlClient.SqlConnection
$cnn.ConnectionString ="Server=$server;Database=master;Integrated Security=SSPI"
$cmd = New-Object -TypeName System.Data.SqlClient.SqlCommand
$cmd.Connection = $cnn
$cmd.CommandText = "sp_configure"
 $adapter = New-Object -TypeName System.Data.SqlClient.SqlDataAdapter
$adapter.SelectCommand = $cmd
$table = New-Object -TypeName System.Data.DataTable
$adapter.Fill($table)
$table | select Name,Run_Value | ? {$_.Name -eq "clr enabled"} | ft -AutoSize

  • Odpowiedział
  • @ | 22.06.2013
  • TRENER ALTKOM AKADEMII