Share via


Windows PowerShell smo derlemeler yük

SQL Server Management nesne (smo) derlemeler yapmak değil kullanma SQL Server PowerShell sağlayıcısı Windows PowerShell komut yükleme açıklanmıştır.

Başlamadan Önce

smo derlemeler yüklemek için tercih edilen yük mekanizmadır sqlpsmodülü. SQL ServerSağlayıcı modülü otomatik olarak dahil smo derlemeler yükler ve ayrıca PowerShell scriptlerini smo nesneleri kullanışlılığını artıran özellikler uygular.

Nereye sen-ebilmek lüzum-e smo derlemeler doğrudan yüklemek için iki durum vardır:

  • Komut sağlayıcı veya cmdlets from başvuran ilk komuttan önce smo nesne başvuran SQL Serverek-ins.

  • Bağlantı noktası smo kodu, C# ya da Visual Basic, sağlayıcı veya cmdlets kullanmayan başka dilde istediğiniz.

Örnek: SQL Server Yönetim nesneleri yükleniyor

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

Ayrıca bkz.

Kavramlar

Run SQL Server PowerShell

SQL Server PowerShell