<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        PowerShell導(dǎo)入SQLServer的PS模塊

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 16:14:59
        文檔

        PowerShell導(dǎo)入SQLServer的PS模塊

        PowerShell導(dǎo)入SQLServer的PS模塊:接觸過(guò)UNIX或者Linux 的朋友都知道此類(lèi)系統(tǒng)有著功能強(qiáng)大、無(wú)所不能的殼程序,稱(chēng)之為Shell。微軟公司于2006年第四季度正式發(fā)布PowerShell,它的出現(xiàn)標(biāo)志著, 微軟公司向服務(wù)器領(lǐng)域邁出了重要的一步, 不僅提供簡(jiǎn)便的圖形化操作界面,同時(shí)提供類(lèi)似于Unix, L
        推薦度:
        導(dǎo)讀PowerShell導(dǎo)入SQLServer的PS模塊:接觸過(guò)UNIX或者Linux 的朋友都知道此類(lèi)系統(tǒng)有著功能強(qiáng)大、無(wú)所不能的殼程序,稱(chēng)之為Shell。微軟公司于2006年第四季度正式發(fā)布PowerShell,它的出現(xiàn)標(biāo)志著, 微軟公司向服務(wù)器領(lǐng)域邁出了重要的一步, 不僅提供簡(jiǎn)便的圖形化操作界面,同時(shí)提供類(lèi)似于Unix, L

        接觸過(guò)UNIX或者Linux 的朋友都知道此類(lèi)系統(tǒng)有著功能強(qiáng)大、無(wú)所不能的殼程序,稱(chēng)之為Shell。微軟公司于2006年第四季度正式發(fā)布PowerShell,它的出現(xiàn)標(biāo)志著, 微軟公司向服務(wù)器領(lǐng)域邁出了重要的一步, 不僅提供簡(jiǎn)便的圖形化操作界面,同時(shí)提供類(lèi)似于Unix, Linux等

        接觸過(guò)UNIX或者Linux 的朋友都知道此類(lèi)系統(tǒng)有著功能強(qiáng)大、無(wú)所不能的殼程序,稱(chēng)之為Shell。微軟公司于2006年第四季度正式發(fā)布PowerShell,它的出現(xiàn)標(biāo)志著, 微軟公司向服務(wù)器領(lǐng)域邁出了重要的一步, 不僅提供簡(jiǎn)便的圖形化操作界面,同時(shí)提供類(lèi)似于Unix, Linux等操作系統(tǒng)中強(qiáng)大的Shell管理模式。

        經(jīng)過(guò)幾年的努力,微軟已逐步開(kāi)發(fā)各服務(wù)器端產(chǎn)品對(duì)PowerShell 的支持。不懂PowerShell必將會(huì)被淘汰,今天我們就來(lái)看看SQL Server對(duì)PowerShell的支持。從實(shí)質(zhì)上來(lái)說(shuō),SQL Server 2008應(yīng)該是第一個(gè)支持Powershell的SQL Server版本,但是其功能不完善,極少有DBA會(huì)用到此功能。在SQL Server 2012中增加了更多的cmdlet,功能趨于完善,本文的目的就是介紹在SQL Server 2012環(huán)境下如何通過(guò)Powershell來(lái)實(shí)現(xiàn)對(duì)SQL Server服務(wù)器的管理。

        筆者在測(cè)試環(huán)境Windows Server 2008 R2 SP1上部署的SQL Server 2012,更新PowerShell版本到V3,見(jiàn)之前的博文在 Windows 7 和 Windows Server 2008 R2 上安裝 Windows PowerShell 3.0,在PowerShell環(huán)境下,輸入:

        Get-PSDrive

        你可以看到類(lèi)似下面的截屏:

        clip_image002

        注意:沒(méi)有對(duì)于SQL Server的PSDrive。

        導(dǎo)入SQL Server的PS模塊


        微軟雖然針對(duì)不同的產(chǎn)品都有各自的Shell,但是這些產(chǎn)品都有相同的shell環(huán)境,而不同之處只是導(dǎo)入了不同的PS模塊或者說(shuō)是PowerShell插件。針對(duì)SQL Server 2012的管理也是如此,從PowerShell 管理 SQL Server 的方法是將 SQL Server的管理模塊sqlps 模塊導(dǎo)入到 Windows PowerShell環(huán)境中。 該模塊將加載并注冊(cè) SQL Server 管理單元和管理程序集。

        首先,以系統(tǒng)管理員身份啟動(dòng)PowerShell,點(diǎn)擊PowerShell圖標(biāo),右鍵點(diǎn)擊“Run as Administrator”,我們需要使用 Set-ExecutionPolicy cmdlet 設(shè)置相應(yīng)的腳本執(zhí)行策略。為了防止惡意腳本的執(zhí)行,PowerShell有一個(gè)執(zhí)行策略,默認(rèn)情況下,這個(gè)執(zhí)行策略被設(shè)為受限的也就是Restricted,意味著PowerShell腳本無(wú)法執(zhí)行。我們可以使用Get-ExecutionPolicy查看當(dāng)前的執(zhí)行策略,如下圖所示:

        clip_image004

        默認(rèn)情況下PowerShell腳本是不允許執(zhí)行的,我們可以根據(jù)需要進(jìn)行相應(yīng)的人修改,可供選擇的參數(shù)有:Restricted、RemoteSigned、AllSigned、Unrestricted。其中Restricted就是默認(rèn)設(shè)置,腳本不能運(yùn)行; RemoteSigned的意思是本地創(chuàng)建的腳本可以運(yùn)行,但從網(wǎng)上下載的腳本不能運(yùn)行,除非它們擁有由受信任的發(fā)布者簽署的數(shù)字簽名; AllSigned的意思是僅當(dāng)腳本由受信任的發(fā)布者簽名才能運(yùn)行。Unrestricted則指腳本執(zhí)行不受限制,不管來(lái)自哪里,也不管它們是否有簽名,這是個(gè)完全放開(kāi)的策略。我們?cè)诖耸菧y(cè)試環(huán)境,我就直接放開(kāi),但方便的同時(shí),就要面臨一定的安全風(fēng)險(xiǎn)。如下圖所示:

        clip_image006

        接下來(lái)就可以加載SQLPS模塊了,在此,我們使用 Import-Module cmdlet,默認(rèn)情況下,會(huì)顯示與 Encode-Sqlname 和 Decode-Sqlname 有關(guān)的警告,如果不希望顯示此類(lèi)警告信息,可以使用 DisableNameChecking 參數(shù),如下圖所示:

        clip_image008

        此時(shí)就成功將 SQL Server 組件導(dǎo)入到 Windows PowerShell環(huán)境中。

        SQL Server PowerShell組件


        Sqlps 模塊加載兩個(gè)Windows PowerShell 管理單元來(lái)實(shí)現(xiàn)相應(yīng)的管理功能。 其中一個(gè)稱(chēng)為SQL Server PowerShell provider,它允許使用將SQL Server當(dāng)成一個(gè)驅(qū)動(dòng)器來(lái)使用,就像我們使用的文件系統(tǒng)路徑一樣,在該路徑中,驅(qū)動(dòng)器與 SQL Server 管理對(duì)象模型關(guān)聯(lián),節(jié)點(diǎn)基于對(duì)象模型類(lèi),如下圖所示,使用Get-PSDrive可以列出驅(qū)動(dòng)器信息,在此圖中可以看到多出SQLSERVER驅(qū)動(dòng)器。

        clip_image010

        用戶可以使用諸如 dir、cd、del、ren熟悉的命令在命令提示符窗口中定位文件夾以及針對(duì)路徑中的節(jié)點(diǎn)執(zhí)行操作。 有了SQL Server驅(qū)動(dòng)器后就可以像訪問(wèn)文件系統(tǒng)那樣訪問(wèn)SQL Server對(duì)象,如實(shí)例名、數(shù)據(jù)庫(kù)、表、關(guān)系等。我們還可以通過(guò)dir或者是get-chilitem來(lái)查看SQLSERVER驅(qū)動(dòng)器中的內(nèi)容。如下圖所示:

        clip_image012

        甚至說(shuō),我們可以使用dir命令列出本實(shí)例上的所有數(shù)據(jù)庫(kù)信息,如下圖所示:

        clip_image014

        可以看到,當(dāng)前實(shí)例中有AdventureWorks、AdventureWorks2012、demo、ReportServer、ReportServerTempDB五個(gè)數(shù)據(jù)庫(kù),如果不確定可以和圖形界面中的結(jié)果進(jìn)行對(duì)比,如下圖所示:

        clip_image016

        至于顯示其他對(duì)象,如審核、可用性組、作業(yè)、登錄、郵件、觸發(fā)器等對(duì)象的操作方法是一樣的,在此不再介紹。

        除了SQL Server PowerShell provider程序之外,還可以使用 cmdlet命令進(jìn)行相應(yīng)的SQL Server管理, SQL Server cmdlet 支持各種操作,如運(yùn)行包含 Transact-SQL 或 XQuery 語(yǔ)句的 sqlcmd 腳本。 由于命令較多,大家可以在使用的過(guò)程中隨時(shí)通過(guò)Get-Help cmdlet 了解每個(gè) cmdlet 的幫助信息。例如,需要查看Invoke-sqlcmd的幫助信息,就可以如下圖所示:

        clip_image018

        Get-Help 返回各種信息,如語(yǔ)法、參數(shù)定義、輸入和輸出類(lèi)型以及 cmdlet 所執(zhí)行操作的說(shuō)明。在此,還可以加上-Examples 參數(shù)列出相應(yīng)的示例:

        clip_image020

        SQL Server PowerShell管理示例


        在前面的內(nèi)容中我們了解到SQL Server的擴(kuò)展插件添加到PowerShell后,SQL Server PowerShell的許多功能以驅(qū)動(dòng)器的形式出現(xiàn)。SQL Server PowerShell provider使得SQL Server看起來(lái)更像是一個(gè)大磁盤(pán)驅(qū)動(dòng)器,像分析服務(wù)和數(shù)據(jù)庫(kù)引起這些各種組件都像“文件夾”一樣。配置設(shè)定以“文件”形式展現(xiàn),用戶使用專(zhuān)門(mén)的PowerShell命令集如Set-ItemProperty和Get-ItemProperty來(lái)操縱這些設(shè)定。此外還提供了“動(dòng)詞-名詞”形式的Windows PowerShell cmdlet單函數(shù)命令來(lái)執(zhí)行相應(yīng)的Transact-SQL 腳本。下面我們就來(lái)看3個(gè)小示例:

        示例1:顯示當(dāng)前SQL Server的服務(wù)器名以及SQL Server的版本號(hào)。使用的cmdlet是Invoke-sqlcmd -Query "select @@version,@@servername;"在此,我把結(jié)果暫存于變量a中,如下圖所示:

        clip_image022

        一般情況下,輸出結(jié)果立即被使用,但有時(shí)候,用戶可能需要將輸入結(jié)果進(jìn)行保存下來(lái),以便后期可以再次使用。

        示例2:列出SQLSERVER: 路徑中的 Databases 節(jié)點(diǎn)下的集合子項(xiàng)。Databases節(jié)點(diǎn)下存放的是用戶數(shù)據(jù)庫(kù)的信息,我們前面通過(guò)cd、dir命令簡(jiǎn)單進(jìn)行了查看,下面我們換一種方式。先使用Set-Location SQLSERVER:\SQL\localhost\DEFAUlt\Databases切換到目標(biāo)路徑下,再通過(guò)Get-ChildItem列出其中的內(nèi)容。如下圖所示:

        clip_image024

        在此界面中可以看到,列出的數(shù)據(jù)庫(kù)信息包括了數(shù)據(jù)庫(kù)的名稱(chēng)、狀態(tài)、恢復(fù)模式以及排序字符等。

        示例3:顯示指定數(shù)據(jù)庫(kù)中的表的信息。在此我使用的數(shù)據(jù)庫(kù)是demo,在此數(shù)據(jù)庫(kù)中有一個(gè)四個(gè)表。如下圖所示,首先還是使用:

        Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\demo\Tables切換到目標(biāo)節(jié)點(diǎn)下,然后使用Get-ChildItem列出相應(yīng)的表信息。如下圖所示:

        clip_image026

        如果在此只希望列出dbo架構(gòu)的表怎么辦?命令改為:Get-ChildItem | where {$_.Schema -eq "dbo"} 即可,到了V3版本可以修改為:Get-ChildItem | where Schema –eq “dbo”即可,如下圖所示:

        clip_image028

        示例4:使用cmdlet對(duì)當(dāng)前實(shí)例中的demo數(shù)據(jù)庫(kù)進(jìn)行完全備份,并將備份文件存放到網(wǎng)絡(luò)路徑\\192.168.18.235\dbbak下,文件名為demo.bak。

        首先,我們需要打開(kāi)“對(duì)象資源管理器”。切換要進(jìn)行處理的對(duì)象的節(jié)點(diǎn),在此切換到“數(shù)據(jù)庫(kù)”節(jié)點(diǎn)即可。右鍵單擊該對(duì)象,然后選擇“啟動(dòng) PowerShell”。如下圖所示:

        clip_image030

        接著,我們就可以使用backup-sqldatabase命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,此命令功能較強(qiáng),在此只演示如何進(jìn)行完全備份。如下圖所示:

        clip_image032

        看到如上所示的結(jié)果,就說(shuō)明操作成功了,當(dāng)然用戶也可以到目標(biāo)路徑中查看文件是否存在,整個(gè)命令還是相當(dāng)簡(jiǎn)潔明了的。好了,我們的演示就到此結(jié)束。

        SQL Server開(kāi)發(fā)團(tuán)隊(duì)已經(jīng)把PowerShell廣泛地集成到該產(chǎn)品中。管理員需要認(rèn)真學(xué)習(xí)PowerShell,這對(duì)未來(lái)的發(fā)展是有益的。親愛(ài)的朋友,千萬(wàn)不要輕視PowerShell,不僅僅是在SQL Server 2012產(chǎn)品中,其他微軟服務(wù)器也是如此,因?yàn)镻owerShell是微軟服務(wù)器管理方式的發(fā)展方向,一起努力吧!

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        PowerShell導(dǎo)入SQLServer的PS模塊

        PowerShell導(dǎo)入SQLServer的PS模塊:接觸過(guò)UNIX或者Linux 的朋友都知道此類(lèi)系統(tǒng)有著功能強(qiáng)大、無(wú)所不能的殼程序,稱(chēng)之為Shell。微軟公司于2006年第四季度正式發(fā)布PowerShell,它的出現(xiàn)標(biāo)志著, 微軟公司向服務(wù)器領(lǐng)域邁出了重要的一步, 不僅提供簡(jiǎn)便的圖形化操作界面,同時(shí)提供類(lèi)似于Unix, L
        推薦度:
        標(biāo)簽: 導(dǎo)入 ps 接觸
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 亚洲麻豆精品国偷自产在线91| 日韩欧美亚洲中文乱码| 亚洲欧洲国产综合AV无码久久| 你懂的网址免费国产| 免费日韩在线视频| 亚洲国产精品免费在线观看| 不卡视频免费在线观看| 亚洲自偷自偷在线制服 | 五月婷婷免费视频| 毛片免费在线视频| 亚洲Av无码精品色午夜| caoporm超免费公开视频| 亚洲国产成人精品女人久久久 | 啦啦啦手机完整免费高清观看| 亚洲欧洲日本天天堂在线观看| 国产精品免费电影| 国产成人精品久久亚洲高清不卡| 免费黄色app网站| 精品久久亚洲中文无码| 欧美男同gv免费网站观看| 亚洲天堂男人影院| 韩国欧洲一级毛片免费| 免费精品99久久国产综合精品| 亚洲精品无码久久千人斩| 国产午夜无码片免费| 亚洲色一区二区三区四区 | 亚洲乱码精品久久久久..| 成年女人免费视频播放体验区| 三年片在线观看免费西瓜视频| 久久夜色精品国产嚕嚕亚洲av| 国产成人无码免费网站| 亚洲中文字幕一区精品自拍| 亚洲国产精品久久久久网站| 足恋玩丝袜脚视频免费网站| 亚洲精品福利你懂| 久久亚洲AV成人无码国产| 在线观看日本免费a∨视频| 久久久亚洲精华液精华液精华液| 中文字幕亚洲综合久久2| 国产免费午夜a无码v视频| 免费精品国产自产拍在线观看图片|