ПредишенСледващото

ИТ инфраструктурата за вашето предприятие

Той е почти седем години, откакто PowerShell на обвивката става собственост на специалисти в областта на информационните технологии, обаче, и днес, много ИТ специалисти не са прекалено бързат, за да разберете какъв вид продукт. В същото време, това е напълно възможно (това зависи от това какъв вид проблем, който трябва да се реши по време на работа), които PowerShell ще бъде безценен инструмент за вас.

Като замислен от разработчици на Microsoft, PowerShell трябва да е средство за контролиране на всички видове сървъри и платформи, произведени от корпорацията. И ако говорим за повечето ИТ професионалисти, въпросът не е дали те ще използва технологията на PowerShell, и точно, когато те започват да работят с него.

Но се, че тя може, в представителството на специалисти в SQL Server PowerShell черупка винаги е бил обвит в известна мистерия. Така че, искам да ви запозная с този продукт, така да се каже, през призмата на SQL Server. Разбира се, няма как да кажа на всички, които трябва да знаете за PowerShell технологии, в една статия, която се състои от само няколко хиляди думи. Но мога да покажа механизъм на взаимодействие между PowerShell и SQL Server, за, а може би за първи път това ще бъде достатъчно.

Но преди да започна моята история, нека да се направи една важна забележка. Аз не се застъпи инструменти T-SQL PowerShell за подмяна език. Ако в момента система за управление на SQL Server с помощта на този диалект причина да го откаже от там. Но фактът, че много експерти в областта на SQL Server търсят начини да се даде възможност да PowerShell в ежедневната си работа. Според мен, максимален ефект можем да го постигнем в споделянето на PowerShell и T-SQL.

Така че, за работа

Тази политика трябва да бъде определено само по веднъж. Имайте предвид, че при въвеждане на посочената команда не трябва да въвеждате знаци PS C:>, тъй като те не са част от командата. Това е просто един команден ред, което показва текущата директория, в която трябва да се работи. При изучаването на PowerShell технология полезно да се включи тази информация, и това е причината, поради която аз се отнасят към него тук, както и в следващите команди.

На следващо място, импортира модул sqlps със следната команда:

Възможно е, че в процеса на внос на модула ще получите предупреждение за недопустимост глаголи. Всички PowerShell команди, наречени съставните инструкции (кратката команда), трябва да отговарят на именуване "глагол - съществително". В същото глагол се използва трябва да бъде включена в списъка на стандартните глаголи. NET, като Get, Set и премахване. Съответствие със стандарт на конвенцията за именуване прави по-лесно да търсите за команди. В sqlps модул включва няколко команди да се отклони от този стандарт. С други думи, търсенето на един от внесените SQL команди, може да е малко по-сложно.

списъкът се появява на екрана, като този, показан на фигура 1.

PowerShell през призмата на SQL Server, Windows го про

1. Дисплей списък на наличните команди в комбинирани? Модул sqlps на

Имайте предвид, че при използване на PowerShell 3.0 за старт команда, част от модула, например команда Restore-SQLDatabase евентуално предварително модул внос. А версия PowerShell 2.0 за всеки от модула за команди sqlps този модул трябва първо внос, което направих преди няколко секунди.

Ако се съди по имената на кратки команди на фигура 1, ако е изпълнено споразумение за стандартен именуване "глагол-съществително", потребителят може лесно да се разбере какво задачата за извършване на един или друг отбор. Но ако се съмнявате, можете да потърсите помощ от програмата PowerShell. Да речем, че искате да разберете какъв вид операция се извършва от екип Invoke-Sqlcmd. Въведете следната команда:

Както е показано на фигура 2, тази команда връща информация за това какво действие да се извърши съединение команда Invoke-Sqlcmd и как да го използвате.

PowerShell през призмата на SQL Server, Windows го про

Екран 2. Получаване на помощ по команда съединение Invoke-Sqlcmd

Ако имате нужда от повече информация, можете да добавите -full опцията следва:

И в някои сайтове има дори съдържанието, публикувано от членове на общността на потребителите в интернет.

Използването на доставчик на SQL Server

sqlps модул включва SQLServer доставчик. Получаване на информация за SQLServer доставчик, можете да използвате следната команда:

Резултатите от прилагането му са представени на фигура 3.

PowerShell през призмата на SQL Server, Windows го про

Екран 3. Получаване на помощ от доставчика на SQL Server

Препоръчвам ви да стартирате тази команда и да прекара няколко минути изучаване SQLServer на доставчик на информация. Основната идея, съдържаща се в тези данни е, че с помощта на посочения доставчик на услуги, потребителят може да се движи на копие от SQL Server, като че ли е файлова система и извличане на информация или да направите промени, като се използват методите, които се използват при работа с PowerShell обекти , Така че, компонент Set-Местоположение команда се използва за промяна на текущата директория и командата Get-ChildItem - за формиране на списък с файлове и директории, съдържащи се в текущата директория. Всеки, който е запознат с шела на Windows (cmd.exe), най-вероятно ще бъдат готови да използват подходящи псевдонимите на командата съединение - CD и реж. Ако, да речем, че имате нужда да отиде в съхранението на SQL Server и да създаде опис на съдържанието му се налага да извършват тези команди:

По същия начин, можете да приложите към вашата SQL сървър инстанция и предаде на неговото съдържание. Например, ако вашият случай на SQL Server име хи-db01, трябва да изпълните командата:

Фигура 4 представя резултатите от двата комплекта инструкции.

PowerShell през призмата на SQL Server, Windows го про

4. изброяване на екрана PSDrives съхранение и опис на съдържанието им

Резултатите са представени в неговата екзекуция екран 5.

PowerShell през призмата на SQL Server, Windows го про

Екран 5. Списъкът на сметки за влизане

В списанието, тази команда се намира на няколко реда, но когато се работи на конзолата PowerShell, трябва да го въведете на един ред. Това важи и за другите отбори, проведени на следващия ред. Както е показано на фигура 6, командата генерира списък с всички сметки, за да излезете Globomantics домейн, както и информация за това, кога е бил създаден, всяка от сметките за входа, когато е на последната промяна, и какви данни се свързва по подразбиране , И цялата тази информация е представена по лесен за четене формат.

PowerShell през призмата на SQL Server, Windows го про

Екран 6. Получаване на данните за банковата сметка за? Входни Globomantics

Ако изразът, съдържаща се в този отбор, изглежда неразбираемо, дори и да не ви обърка. Струва малко практика - и можете да го разбирам без никакво напрежение. Искам да имат представа за това, което може да се постигне с основен израз PowerShell.

Свързване PowerShell ISE среда е необходимо, тъй като изходните данни за предаване в отделен прозорец, разположен в интерактивната таблица показва на екрана 7, командата използва съединение инструкция Out-GridView. Както можете да видите в таблицата съдържа списък с бази данни, сортирани по размер, както и някои други сведения, отнасящи се до тези бази данни.

PowerShell през призмата на SQL Server, Windows го про

7. таблица на екрана картографиране обявата в интерактивна база данни, сортирани по размер

В допълнение, потребителят може да прави промени в обектите с помощта на обектен модел PowerShell на. Например, аз ще опише подробно процедурата за промяна на броя на допустимите опити за достъп до сметката (т.е. AccountRetryAttempts свойства се променят процедура) за Database Mail. Първо трябва да отидете на стоките Mail например хи-db01 и направете списък на неговите елементи.

Съдържанието на директорията, в която ще намерите ConfigurationValues ​​възразят. Изпращането тръба командния реж ConfigurationValues ​​съединение команда Get-държава, вие ще бъдете в състояние да получи имената и описанията на свойствата и методите на споменатия предмет. Екипът е както следва:

Резултатите са представени в неговата екзекуция екран 8.

PowerShell през призмата на SQL Server, Windows го про

Екран 8. Получаване имена и описание ConfigurationValues ​​възражение свойства и методи

След анализ на тази информация, можете да определите кои свойства ще бъдат използвани. В този случай, вие ще използва името на собствеността и стойността и да ги използвате като екип.

резултати за изпълнение и управление, са показани на екрана 9. Както можете да видите, броят на разрешените опити за достъп до сметката в момента е 1.

PowerShell през призмата на SQL Server, Windows го про

Екран 9. Премахване AccountRetryAttempts текущата собственост стойност

За да се разбере как да се използват обектите на SQLServer диск, многократно ще предават тези обекти през тръбопровода. За да се улесни тази процедура, можете да съхранявате обекти в променливи. За да запазите ConfigurationValues ​​обект в променлива команда $ довереник:

$ Config променлива е масив от конфигурационни обекти, стойностите на които можем да вземем и определени. Тъй като това е индекса на масива, като се започне с нула, а AccountRetryAttempts имот - това е първият ключ в масива, за да получите и зададете неговия Можете да използвате конфигурационния $ [0]. Например следната команда чете текущата стойност на AccountRetryAttempts (т.е. 1):

Тази команда задава стойността параметър на 3:

За да се уверите, че тази стойност се променя, ние можем да използваме тази команда Get-т:

Резултати от командата се показват на екрана 10. Както можете да видите, допустимия брой опити да се обърнат към сметка се увеличи до три.

Екран 10. Потвърждение за получаване на собственост AccountRetryAttempts нова стойност

Аз съм готов да призная, че системата за управление на SQL Server с помощта на доставчика на SQL Server, което описах по-горе, тя може да бъде трудно. Ето защо, ако е възможно, може да искате да използвате инструкциите за sqlps съставни, защото е по-лесно да се работи с тях.

Използване на командите sqlps

Както заглавието на отбора Invoke-Sqlcmd, неговата задача - да се изпълнява SQL команди. Тази задача се осъществява с помощта на опцията за заявки. В действителност, всеки израз на T-SQL може да бъде изпълнена от командния ред PowerShell, например, както следва:

Екранът 11 показва примерни резултати.

11. Четене на текст на екрана на SQL Server

Работил съм на командите на SQL Server и започва да тече от местен например SQL Server, така че по подразбиране тя се извършва в продължение на локалния компютър. Въпреки това, можете да зададете друга система, както и друг случай, както следва:

Инсталиране на SQL Server PowerShell модули на вашия работен плот, можете да управлявате множество сървъри от един възел, който е много удобно. Но сега нека да изпълнява няколко команди на локален сървър. Да кажем, че имате сценарий Ню-ComputerDataDB.sql, предоставяйки създаване ComputerData база данни. Можете да го изпълни с помощта на екип неразделна Invoke-Sqlcmd:

В допълнение към създаването на базата данни, можете да създадете нова таблица от командния ред PowerShell. За да направите това, ще трябва да се създаде линия от вход (тук-низ), съдържаща искане. тук-струнна Низ е низ, и заема няколко линии, създадени с помощта на специален метод. Ето един пример за такава линия за формиране Компютри маса:

Трябва да се отбележи, че ако създадете тук-низ линия в интегрирана среда PowerShell ISE сценарии, трябва да се погрижи за това, че всички линии са ляво подравнени. След като изпълните командата да изпълнява променлива заявката за $ ще съдържа кода необходимо да се създаде таблица Computers. След това можете да изпълни код в този пример, командата:

Тази команда създава таблица в данните за Компютри ComputerData, който се намира в случай чи-db01.

В допълнение към създаване на електронни таблици и бази данни, можете да извършвате много други задачи. Например, аз написах една проста функция Актуализация-MyDB, Компютри ви дава възможност за актуализиране на таблицата с помощта на данни от мрежата си. Следваща Свалих тази функция във вашия PowerShell сесия с помощта на екип Invoke-Sqlcmd:

След зареждане на функцията аз бях в състояние да управлява фрагмент от код, както следва:

Тази част от код, първо чете списъка с компютри от MyComputers.txt файл. След това за всеки го компютър включен в списъка с помощта на Windows инструменти за управление (WMI) инструмент за управление чете информацията за операционната система. И накрая, това парче код изпълнява функцията Актуализация-MyDB, която актуализира съответната информация в таблицата с Computers. По мое мнение, това показва най-важното предимство на системата за контрол на SQL Server с PowerShell технология, защото мога да се интегрират SQL заявки в PowerShell команди. Също така, не мога лесно да се направи искане за получаване на данни директно от PowerShell черупка. За да направите това, въведете следния код:

Резултатите са показани на екрана 12.

PowerShell през призмата на SQL Server, Windows го про

Екран 12. Научете повече за вашия компютър от базовата данни ComputerData

Свързани статии

Подкрепете проекта - споделете линка, благодаря!