Aracılığıyla paylaş


SQL Server PowerShell çalıştıran

SQL ServerWindows PowerShell ve küme yükler SQL Server ek bileşenler, açığa çıkaran SQL Server işlevselliği Windows PowerShell.Sonra çalışmak Windows PowerShell komut dosyası kod SQL Server nesneler.Komut dosyalarını Windows PowerShell ortamında de çalıştırılabilir SQL Server Management Studiove SQL Server Aracısı işleri.

sql Server PowerShell desteği yükleme

Windows PowerShell komut dosyalarını kullanarak çalıştırmak için gerekli yazılımı yüklemek SQL Server Kur.İçinde başlayan SQL Server 2008, Kur, istemci yazılımı veya veritabanı Hizmetleri düğüm seçtiğinizde aşağıdaki Windows PowerShell bileşenleri yükler:

  • Windows PowerShell Windows PowerShell zaten bilgisayarınızda yoksa, 1.0.

  • The SQL Server snap-ins.Ek bileşenler için Windows PowerShell desteği olmak üzere iki tür uygulayan dll dosyalarıdır SQL Server:

    • A küme , SQL Server cmdlet.Cmdlet öğelerini belirli eylem uygulayan komutlardır.Örneğin, Invoke sqlcmd çalışan bir Transact-SQL ya da kullanarak çalıştırılabilir XQuery komut dosyası sqlcmd yardımcı programı, ve Invoke policyevaluation raporlar olup olmadığını SQL Server nesneleri uymak ile ilke temelli yönetim ilkeleri.

    • A SQL Server Sağlayıcı.Sağlayıcı hiyerarşisini gezinmenize olanak tanır SQL Server nesneleri kullanarak bir dosya sistemi yolu benzer bir yolHer nesnenin sınıf ile ilişkili olduğu SQL Server yönetimi nesne modelleri.Nesneler üzerinde çalışmayı gerçekleştirmek için sınıfının özelliklerini ve yöntemlerini kullanabilirsiniz.Örneğin, bir veritabanı nesnesinde CD'ye bir yol, veritabanını yönetmek için Microsoft.SqlServer.Managment.SMO.Database sınıfının özelliklerini ve yöntemlerini kullanabilirsiniz.

  • The sqlps utility that is used to run Windows PowerShell sessions that include the SQL Server snap-ins.

İçinde başlayan SQL Server 2008, SQL Server Management Studio Object Explorer ağaç başlangıç Windows PowerShell oturumlarını destekler. Ayrıca içinde başlayan SQL Server 2008, SQL Server Agent destekler Windows PowerShell iş adımları.

Kur tamamlandıktan sonra Windows PowerShell kaldırılırsa, SQL Server özellikleri için Windows PowerShell will işlev.Windows PowerShell, Windows kullanıcıları tarafından kaldırılabilir ve Windows PowerShell'i kaldırma bazı Windows işletim sistemi yükseltmeleri tarafından gerekli olabilir.Windows PowerShell kaldırıldı ve kullanmak istediğiniz SQL Server özellikleri, aşağıdakilerden birini yapmanız gerekir:

  • El ile karşıdan yükleyip Windows PowerShell 1. 0'dan yeniden Microsoft Yükleme Merkezi.Download instructions are on the Windows Server 2003 Web site.

  • Çalıştırıyorsanız, Windows Server 2008, Windows PowerShell 1.0 işletim sisteminde var, ancak varsayılan olarak devre dışıdırWindows PowerShell'ndan etkinleştirebilirsiniz Windows Server 2008.

sql Server'ın desteklenen sürümleri

Kullanmanız gereken SQL Server 2008 istemci bileşenlerini çalıştıran Windows PowerShell.Windows PowerShell örneklerine bağlanmak SQL Server 2000 veya üstü.Erken sürüm SQL Server 2005 , kullanabileceğiniz dir. SP2Erken sürüm SQL Server 2000 , kullanabileceğiniz dir. SP4Bağlandığında Windows PowerShell SQL Server 2005 ve SQL Server 2000, bu sürümlerinde kullanılabilen işlevsellik sınırlı olduğu SQL Server.

Sqlps yardımcı programı kullanma

sqlps , bir Windows PowerShell ortam ve sonra yükleri kayıtları oluşturur ve bir yardımcı programdır SQL Server ek Sig.Kullanabileceğiniz sqlps için:

  • Etkileşimli Windows PowerShell komutları çalıştırın.

  • Windows PowerShell komut dosyalarını çalıştırın.

  • Çalıştır SQL Server cmdlet.

  • Use SQL Server Sağlayıcı yollara hiyerarşisi aracılığıyla gezinmek SQL Server nesneler.

Varsayılan olarak, sqlps komut dosyası kullanan kullanan kullanan dosyası yürütme ilkesi ile çalışan küme için Yasak, herhangi bir Windows PowerShell komut dosyası kullanan kullanan kullanan dosyası çalıştırmak engeller.Kullanabileceğiniz Set-executionpolicy imzalı komut dosyaları veya tüm komut dosyalarını etkinleştirmek için cmdlet.Yalnızca güvenilir kaynaklardan gelen komut dosyalarını çalıştırın ve tüm giriş güvenli ve uygun ntfs izinlerini kullanarak dosyaları çıktı.Windows PowerShell komut dosyalarını etkinleştirme hakkında daha fazla bilgi için bkz: Windows PowerShell komut dosyalarını çalıştırma.

Daha fazla bilgi için bkz: sqlps yardımcı programı.

sql Server Management Studio'da Windows PowerShell'i kullanma

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 PowerShell snap-ins have been loaded and registered.Object Explorer'da sağ tıklattığınız nesnenin konumu için yol oturum için hazır.Örneğin, sağ, AdventureWorks2008R2 veritabanı nesne Explorer'da nesne ve seçin PowerShell başlatmak, Windows PowerShell yol şu şekilde küme:

SQLSERVER:\SQL\MyComputer\MyInstance\Databases\AdventureWorks2008R2>

sql Server Agent iş adımları Windows PowerShell'i kullanma

Çeşitli türleri vardır SQL Server Aracısı iş adımları.Her tür çoğaltma aracısı gibi belirli ortam veya komut istemi ortamı uygulayan bir alt sistemi ile ilişkilidir.The SQL Server Agent subsystem for Windows PowerShell supports job steps that execute Windows PowerShell scripts.Windows PowerShell komut dosyası kodu ve daha sonra SQL Server Aracısı işleri, Çalıştır zamanlanmış times veya yanıt olarak komut dosyalarını eklemek için SQL Server olayları.The SQL Server Agent subsystem loads and registers the SQL Server snap-ins so that you can run Windows PowerShell scripts.

Daha fazla bilgi için bkz: sql Server Agent alt sistemler.

Dikkat notuDikkat

Her SQL Server Aracısı iş adım başlatır bir sqlps işlemi yaklaşık 20 mb bellek tüketir.Çok sayıda eşzamanlı Windows PowerShell iş adımları çalışan performansı olumsuz yönde etkileyebilir.

Windows PowerShell sql Server ek bileşenler ekleme

The sqlps utility is a Windows PowerShell mini-shell.Mini kabuklar bazı kısıtlamaları vardır.Örneğin, bir veya daha fazla Windows PowerShell ek bileşenleri yüklemek için kodlanmış, ancak kullanıcılar ve komut dosyaları diğer ek bileşenlerle ekleyemezsiniz.Her ikisi de çalışma gibi bir mini-shell tarafından desteklenmeyen işlevselliği gerektiriyorsa SQL Server ek bileşenler ve ek bileşen başka bir ürün, ekleyebileceğiniz SQL Server Eklentileri doğrudan bir Windows PowerShell ortam.

Aşağıdaki kodu Not Defteri'ne yapıştırın ve C:\MyFolder\InitializeSQLProvider.ps1 gibi bilgisayarınızdaki ps1 komut dosyası olarak kaydedin:

# 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 for Windows PowerShell is not installed."
}
else
{
    $item = Get-ItemProperty $sqlpsreg
    $sqlpsPath = [System.IO.Path]::GetDirectoryName($item.Path)
}


# Set mandatory variables for the SQL Server provider
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

Windows PowerShell ortamında hangi başlatmak için komut dosyası daha sonra kullanabilirsiniz SQL Server Bu komutu kullanarak ek bileşenler yüklenir:

PowerShell -NoExit -Command "C:\MyFolder\InitializeSQLProvider.ps1"

komut istemi isteminde, bir masaüstü kısayolu ' dan veya komutu çalıştırmak çalıştırmak iletişim kutusunda Start menü.Varsayılan olarak, Windows PowerShell çalışır Yasak modunda çalışan komut dosyalarını desteklemiyor.Windows PowerShell komut dosyalarını etkinleştirme hakkında daha fazla bilgi için bkz: Windows PowerShell komut dosyalarını çalıştırma.

Windows PowerShell sql Server yönetim nesneleri yükleniyor

The SQL Server provider automatically loads the SQL Server Management Object (SMO) assemblies.İki durumda, smo derlemeler doğrudan yüklemek için gereken vardır:

  • Komut dosyanız bir sağlayıcı veya cmdlet'leri başvuran ilk komuttan önce smo nesne başvuruyor, SQL Server ek Sig.

  • Bağlantı noktası smo kodu, C# veya vb. gibi başka bir dilden istediğinizNET, değil kullanan sağlayıcı veya cmdlet.

Aşağıdaki kod, smo derlemeler yükler:

# 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 for Windows PowerShell is not installed."
}
else
{
    $item = Get-ItemProperty $sqlpsreg
    $sqlpsPath = [System.IO.Path]::GetDirectoryName($item.Path)
}


$assemblylist = 
"Microsoft.SqlServer.Management.Common",
"Microsoft.SqlServer.Smo",
"Microsoft.SqlServer.Dmf ",
"Microsoft.SqlServer.Instapi ",
"Microsoft.SqlServer.SqlWmiManagement ",
"Microsoft.SqlServer.ConnectionInfo ",
"Microsoft.SqlServer.SmoExtended ",
"Microsoft.SqlServer.SqlTDiagM ",
"Microsoft.SqlServer.SString ",
"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",
"Microsoft.SqlServer.Management.Dac",
"Microsoft.SqlServer.Management.DacEnum",
"Microsoft.SqlServer.Management.Utility"


foreach ($asm in $assemblylist)
{
    $asm = [Reflection.Assembly]::LoadWithPartialName($asm)
}

Push-Location
cd $sqlpsPath
update-FormatData -prependpath SQLProvider.Format.ps1xml 
Pop-Location