рдПрдХ рдкреЛрд╕реНрдЯ рдореЗрдВ Microsoft SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рд╡рд┐рдВрдбреЛ рдкреЙрд╡рд░реНрд╕рд╣реЗрд▓ рд╕рдорд░реНрдерди рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред SQL рд╕рд░реНрд╡рд░ 2008 рд╕реЗ рд╢реБрд░реВ, SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рджреЛ рд╕реНрдиреИрдк-рдЗрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рддрд╛, рдЬреЛ рдПрдХ рд╕рд░рд▓ рдиреЗрд╡рд┐рдЧреЗрд╢рди рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - "рдЕрдВрджрд░" SQL рд╕рд░реНрд╡рд░, рдЖрдк рдХрдорд╛рдВрдбреНрд╕ dir, ls, cd, Set-Location, Get-Location, рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- SQL рд╕рд░реНрд╡рд░ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cmdlets рдХрд╛ рдПрдХ рд╕реЗрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, sqlcmd рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛)ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдм, рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдЖрдк рдЕрдкрдиреЗ PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ SQL рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд▓рд╛рдЗрдВрдЯ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ (рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕реНрдЯреВрдбрд┐рдпреЛ) рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рдЦрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд░реНрдпреБрдХреНрдд рд╕реНрдиреИрдк-рдЗрди рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдк
рдпрд╣рд╛рдБ рдореБрдлреНрдд рдореЗрдВ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕реНрдЯреВрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдкреНрд░рдмрдВрдзрди рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрд╕ SQL тАЛтАЛрд╕рд░реНрд╡рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЖрдк рд╡рд╣рд╛рдВ рд╕реЗ рд╕реАрдзреЗ sqlps рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

рдпрджрд┐ рдЖрдк рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА sqlps рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХрдорд╛рдВрдб `dir` рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдЪрд┐рддреНрд░ (SSMS рдореЗрдВ ObjectExplorer рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░` dir` рдХрдорд╛рдВрдб рдХрд╛ рдкрд░рд┐рдгрд╛рдо) рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

Sqlps рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдмрд╕ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирдпрд╛ рд╕реНрдиреИрдк-рдЗрди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
add-pssnapin SqlServerCmdletSnapin100;
add-pssnapin SqlServerProviderSnapin100;
рдЖрдк рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ get-pssnapin тАУregistered cmdlet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдЗрди рд╕реНрдиреИрдк-рдЗрди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк Get-Psdrive cmdlet рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

Cd SQLServer: \ SQL \ ServerName \ InstanceName \ рдЪрд▓рд╛рдХрд░, рд╣рдо SSMS рд╕реЗ sqlps рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
рдЕрдм рд╕рдмрд╕реЗ рдмрдбрд╝реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛, "рдЕрдЪреНрдЫрд╛рдИред" Cmdletsред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдкрд╛рдБрдЪ cmdlets рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
- Invoke-Sqlcmd рд▓рдЧрднрдЧ sqlcmd рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИред рдЗрд╕ cmdlet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЖрд╡рд╢реНрдпрдХ SQLServer рдкрд░ SQL рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЖрд╣реНрд╡рд╛рди-рдиреАрддрд┐-рдирд┐рд░реНрдзрд╛рд░рдг - рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ SQL рд╕рд░реНрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рдХреНрд╖реНрдп рд╕реЗрдЯ рдиреАрддрд┐-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдмрдВрдзрди рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╢рд░реНрддреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
- рд╕рд╛рдВрдХреЗрддрд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛- SQL рд╕рд░реНрд╡рд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧред SQL рд╕рд░реНрд╡рд░ рдореЗрдВ, рдЖрдк рд╕реНрдХреНрд╡рд╛рдпрд░ рдмреНрд░реИрдХреЗрдЯ рдореЗрдВ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдореВрд▓реНрдп рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдкреЙрд╡рд░рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Encode-Sqlname cmdlet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ "My: long_and | complexity | рдЖрдЗрдбреЗрдВрдЯреА" рдХреЛ "My% 3Along_and% 7Ccomplexity% 7Cidenty" рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред
- Decode-Sqlname - рдкреНрд░рддрд┐рд▓реЛрдо рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддрд╛ рд╣реИ
- Convert-UrnToPath - SMO рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП URN рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ "рдкрдардиреАрдп" рдкрде рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬ рдЗрдирд╡реЛрдХ-рдПрд╕рдХреНрд▓рд┐рдореНрдб рд╕реАрдПрдордбреАрд▓реЗрдЯ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХрдИ рднреМрддрд┐рдХ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдПрдХ рджрд░реНрдЬрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рддреГрддреАрдп-рдкрдХреНрд╖ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЖрдк рдЙрд╕реА sqlcmd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХрд┐рди рд╕рд░реНрд╡рд░реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред PowerShell рдХреЗ рд╕рд╛рде, рдпрд╣ рдХрд╛рд░реНрдп рдЖрд╕рд╛рди рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдкрдВрдЬреАрдХреГрдд рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ 'рдореИрдХреНрд╕ рд╕рд░реНрд╡рд░ рдореЗрдореЛрд░реА (рдПрдордмреА)' рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ:
$ServerList = dir -recurse SQLSERVER:\SQLRegistration\'Database Engine Server Group'\ | where {$_.Mode -ne "d"}
foreach ($RegisteredSQLs in $ServerList)
{
$dt = invoke-sqlcmd -ServerInstance $RegisteredSQLs.ServerName -database master -Query "SELECT SERVERPROPERTY('servername'), SERVERPROPERTY ('instancename'), value FROM sys.configurations
WHERE name = 'Max Server Memory (MB)'";
echo $dt >> C:\tmp\memory.txt;
}
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд┐рд╕ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рддреА рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП SQL рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЙрдЧрд┐рди рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдХреЗ рдкрд╛рд╕ sys.configurations рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрдзрд┐рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк SQL рд▓реЙрдЧрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ Invoke-Sqlcmd cmdlet рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛редрдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЛ рд╕рд╛рдд рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдЙрдирдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд▓реЙрдЧрд┐рди рдЬреЛрдбрд╝реЗрдВ, рдпрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рдмрдирд╛рдПрдВ ... рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдХрд┐ SQL рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ PowerShell рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХрд╛ рдЬреАрд╡рдиред
рд╕рдВрджрд░реНрдн:- SQL рд╕рд░реНрд╡рд░ рдкреЙрд╡рд░рд╢реЗрд▓ рдХреЛ рд╕рдордЭрдирд╛, рдкреБрд╕реНрддрдХреЗрдВ рдСрдирд▓рд╛рдЗрди - msdn.microsoft.com/en-us/library/cc281954.aspx
- Invoke-Sqlcmd cmdlet, Books Online рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ - msdn.microsoft.com/en-us/library/cc281720.aspx
- рдПрд╕рдХреНрдпреВрдПрд▓ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп - sqlchicken.com/sql-university