Running SQL Server PowerShell
SQL Server 2008 Instaluje PowerShell systemu Windows oraz zestaw SQL Server przystawki, które narażają SQL Server funkcje w systemie Windows PowerShell. Następnie można kodu skryptów PowerShell systemu Windows, współpracujących z SQL Server obiekty. Skrypty te mogą być uruchamiane w środowisku Windows PowerShell SQL Server Management Studio, a jako SQL Server Zadania agenta.
Instalowanie obsługi technicznej programu SQL Server
Zainstaluj oprogramowanie wymagane do uruchomienia przy użyciu skryptów systemu Windows PowerShell SQL Server Ustawienia. SQL Server 2008 Instalator instaluje następujące składniki systemu Windows PowerShell po wybraniu oprogramowanie klienckie lub węzłów bazy danych usług:
1.0 PowerShell systemu Windows, jeśli PowerShell system Windows nie jest jeszcze zainstalowane na komputerze.
The SQL Server snap-ins.Przystawki są obsługę plików dll, które implementuje dwa rodzaje PowerShell systemu Windows SQL Server:
Zestaw SQL Server cmdlets. Cmdlets są polecenia, które wykonania określonej akcja.Na przykład Wywołaj Sqlcmd runs a Transact-SQL lub XQuery skrypt, który może również zostać uruchomione przy użyciu SQLCMD Narzędzie a Wywołaj PolicyEvaluation raportów czy SQL Server obiekty zgodne z zasady oparte na zasadach zarządzania.
A SQL Server Dostawca. Dostawca umożliwia przechodzenie hierarchii SQL Server obiekty za pomocą ścieżka podobne do ścieżka systemu plików. Każdy obiekt jest skojarzony z klasy z SQL Server Modele obiektów zarządzania. Metody i właściwości klasy służą do wykonywania pracy na obiekty.Na przykład jeśli cd do obiektu bazy danych w ścieżce, umożliwia metodami i właściwościami klasy Microsoft.SqlServer.Managment.SMO.Database Zarządzanie bazą danych.
The sqlps utility that is used to run Windows PowerShell sessions that include the SQL Server snap-ins.
The SQL Server 2008 wersja of SQL Server Management Studio supports starting Windows PowerShell sessions from the Object Explorer tree. The SQL Server 2008 wersja of SQL Server Agent supports Windows PowerShell zadanie steps.
W przypadku odinstalowania, po zakończeniu instalacji systemu Windows PowerShell SQL Server funkcje dla PowerShell system Windows nie będzie działać. Użytkownicy systemu Windows można odinstalować systemu Windows PowerShell i odinstalowywanie PowerShell systemu Windows może być wymagane przez niektóre uaktualnienia systemu operacyjnego Windows.Jeśli został odinstalowany PowerShell systemu Windows i istnieje potrzeba użycia SQL Server funkcje dla PowerShell systemu Windows, należy wykonać jedną z następujących czynności:
Ręcznie pobrać i ponownie zainstalować system Windows 1.0 PowerShell firmy Microsoft Centrum pobierania. Download instructions are on the Windows Server 2003Web site.
Jeśli korzystasz z Windows Server 20081.0 PowerShell systemu Windows istnieje w systemie operacyjnym, ale jest domyślnie wyłączona. Można ponownie włączyć PowerShell systemu Windows z Windows Server 2008.
Obsługiwane wersje programu SQL Server
Należy użyć SQL Server 2008 składniki klient do uruchomienia SQL Server funkcje dla PowerShell systemu Windows. The SQL Server dostawca for Windows PowerShell can connect to instances of SQL Server 2008, SQL Server 2005, or SQL Server 2000. Najwcześniejsza wersja SQL Server 2005 używana jest z dodatkiem SP2. Najwcześniejsza wersja SQL Server 2000 używana jest z dodatkiem SP4. Gdy SQL Server łączy się z dostawca SQL Server 2005 i SQL Server 2000, jest ograniczony do funkcji dostępnych w tych wersjach SQL Server.
Za pomocą narzędzia sqlps
sqlps to narzędzie, które tworzy środowisko Windows PowerShell i ładuje i rejestruje SQL Server przystawki. Można użyć sqlps to:
Interaktywnie uruchamiać polecenia PowerShell systemu Windows.
Uruchamianie plików skryptu Windows PowerShell.
Uruchamianie SQL Server cmdlets.
Użycie SQL Server Dostawca ścieżki do nawigowania w hierarchii SQL Server obiekty.
Domyślnie sqlps jest uruchamiany przy użyciu zasad wykonywania wykonywanie wykonywanie skryptów zestaw do Ograniczone, co zapobiega uruchomione wszystkie wykonywanie wykonywanie skryptów PowerShell systemu Windows.Można użyć Zestaw ExecutionPolicy apletu polecenia umożliwiające uruchamianie skryptów podpisane lub wszystkie skrypty.Tylko uruchamiać skrypty z zaufanych źródeł i bezpieczne wszystkich danych wejściowych i wyjściowych plików przy użyciu odpowiednie uprawnienia systemu plików NTFS.Aby uzyskać więcej informacji na temat włączania skryptów PowerShell systemu Windows Zobacz Z systemem Windows.
Aby uzyskać więcej informacji zobacz Narzędzie sqlps.
W programie SQL Server Management Studio za pomocą PowerShell systemu Windows
You can start Windows PowerShell sessions in SQL Server Management Studio by right-clicking objects in Object Explorer and selecting Start PowerShell.SQL Server Management Studio then starts a Windows PowerShell session in which the SQL Server snap-ins have been loaded and registered.Ścieżka dla sesja jest ustawiony wstępnie na lokalizację obiektu, kliknięto prawym przyciskiem myszy w Eksploratorze obiektów.Na przykład po kliknięciu prawym przyciskiem myszy AdventureWorks bazy danych obiekt Object Explorer i wybierz opcję Uruchom PowerShell, ścieżka PowerShell systemu Windows jest ustawiona do następujących:
SQLSERVER:\SQL\MyComputer\MyInstance\Databases\AdventureWorks>
Za pomocą systemu Windows PowerShell w kroki zadanie programu SQL Server Agent
Istnieje kilka rodzajów SQL Server Kroki zadanie agenta. Każdy typ jest skojarzony z podsystem, który implementuje określone środowisko, takie jak agenta replikacja lub środowiska wiersz polecenia.The SQL Server Agent Windows PowerShell subsystem supports zadanie steps that wykonać Windows PowerShell scripts. Kod skrypty PowerShell systemu Windows, a następnie użyj SQL Server Agent do uwzględnienia w skryptach w zadaniach, które są uruchamiane w zaplanowanym czasie lub w odpowiedzi SQL Server zdarzenia. The SQL Server Agent Windows PowerShell subsystem loads and registers the SQL Server snap-ins so that you can run Windows PowerShell scripts.
Aby uzyskać więcej informacji zobacz SQL Server Agent Subsystems.
Ostrzeżenie
Uruchamia każdy etap zadanie programu SQL Server Agent Windows PowerShell sqlps procesu, który zużywa 20 MB pamięci.Uruchamianie dużą liczbę równoczesnych kroki zadanie PowerShell systemu Windows może pogorszyć wydajność.
Dodawanie przystawki programu SQL Server do systemu Windows PowerShell
The sqlps utility is a Windows PowerShell mini-shell.Mini powłoki ma pewne ograniczenia.Na przykład są one kodowane załadować jednego lub kilku przystawek PowerShell systemu Windows, ale użytkownicy i skryptów nie można dodać inne przystawki.Jeśli wymagane są funkcje nie obsługiwane przez mini-shell, takich jak praca z przystawki programu SQL Server i przystawki z innego produktu, przystawki programu SQL Server można dodać bezpośrednio do środowiska Windows PowerShell.
Wklej następujący kod do Notatnika, a następnie zapisać go jako plik skryptu ps1 na komputerze, na przykład C:\MyFolder\InitializeSQLProvider.ps1:
# Add the SQL Server provider.
$ErrorActionPreference = "Stop"
$sqlpsreg="HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.SqlServer.Management.PowerShell.sqlps"
if (Get-ChildItem $sqlpsreg -ErrorAction "SilentlyContinue")
{
throw "SQL Server Provider is not installed."
}
else
{
$item = Get-ItemProperty $sqlpsreg
$sqlpsPath = [System.IO.Path]::GetDirectoryName($item.Path)
}
# Set mandatory variables for the SQL Server rovider
Set-Variable -scope Global -name SqlServerMaximumChildItems -Value 0
Set-Variable -scope Global -name SqlServerConnectionTimeout -Value 30
Set-Variable -scope Global -name SqlServerIncludeSystemObjects -Value $false
Set-Variable -scope Global -name SqlServerMaximumTabCompletion -Value 1000
# Load the snapins, type data, format data
Push-Location
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
Update-TypeData -PrependPath SQLProvider.Types.ps1xml
update-FormatData -prependpath SQLProvider.Format.ps1xml
Pop-Location
Użycie skryptu uruchamiania środowiska PowerShell systemu Windows, w którym SQL Server przystawki są ładowane za pomocą tego polecenia:
PowerShell -NoExit -Command "C:\MyFolder\InitializeSQLProvider.ps1"
Polecenia mogą być uruchamiane w wiersz polecenia ze skrótu na pulpicie lub Uruchamianie pole dialogowe Rozpocznij menu.Domyślnie PowerShell systemu Windows jest uruchamiany w Ograniczone tryb, w którym nie jest obsługiwane uruchamianie skryptów.Aby uzyskać więcej informacji na temat włączania skryptów PowerShell systemu Windows Zobacz Z systemem Windows.
Ładowanie programu SQL Server Management Objects w PowerShell systemu Windows
Dostawca programu SQL Server ładuje automatycznie zestawy obiektów SMO (SQL Server Management Object).Dostępne są dwa przypadki, w których konieczne może być bezpośrednio załadować zestawy obiektów SMO:
Jeśli skrypt odwołuje się obiekt obiekty SMO przed pierwszym poleceniem które odwołanie dostawca lub cmdlets z przystawki programu SQL Server.
W innym języku, takich jak C# lub VB.Net, które nie korzystają z dostawca lub cmdlets użytkownik chce kod obiekty SMO portu.
W poniższym kodzie ładuje zestawy obiektów SMO:
# Loads the SQL Server Management Objects (SMO)
$ErrorActionPreference = "Stop"
$sqlpsreg="HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.SqlServer.Management.PowerShell.sqlps"
if (Get-ChildItem $sqlpsreg -ErrorAction "SilentlyContinue")
{
throw "SQL Server Provider is not installed."
}
else
{
$item = Get-ItemProperty $sqlpsreg
$sqlpsPath = [System.IO.Path]::GetDirectoryName($item.Path)
}
$assemblylist =
"Microsoft.SqlServer.Smo",
"Microsoft.SqlServer.Dmf ",
"Microsoft.SqlServer.SqlWmiManagement ",
"Microsoft.SqlServer.ConnectionInfo ",
"Microsoft.SqlServer.SmoExtended ",
"Microsoft.SqlServer.Management.RegisteredServers ",
"Microsoft.SqlServer.Management.Sdk.Sfc ",
"Microsoft.SqlServer.SqlEnum ",
"Microsoft.SqlServer.RegSvrEnum ",
"Microsoft.SqlServer.WmiEnum ",
"Microsoft.SqlServer.ServiceBrokerEnum ",
"Microsoft.SqlServer.ConnectionInfoExtended ",
"Microsoft.SqlServer.Management.Collector ",
"Microsoft.SqlServer.Management.CollectorEnum"
foreach ($asm in $assemblylist)
{
$asm = [Reflection.Assembly]::LoadWithPartialName($asm)
}
Push-Location
cd $sqlpsPath
update-FormatData -prependpath SQLProvider.Format.ps1xml
Pop-Location
Historia zmian
Microsoft Learning |
---|
Usunąć sekcję, korzystając ze środowiska PowerShell systemu Windows.Dodaje dwie nowe sekcje: Dodawanie przystawki programu SQL Server do systemu Windows Powershell i ładowanie programu SQL Server Management Objects w PowerShell systemu Windows. |
See Also