日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

PowerShell 2.0 实践(十二)管理 SQL Server 2008 R2(1)

發(fā)布時間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PowerShell 2.0 实践(十二)管理 SQL Server 2008 R2(1) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

DBA可以使用的工具很多,對于SQL Server來說,有查詢分析器、事件探查器、命令行工具等,其中SQL語句是重中之重,但是PowerShell的出現(xiàn)使得DBA又多了一種選擇。

測試腳本下載

本系列所有測試腳本均在Windows Server 2008 R2 DataCenter (PowerShell 2.0) + PowerGUI Script Editor Free Edition x64中測試通過。

SQL Server系列使用了SQL Server 2008 R2 DataCenter x64

轉載請注明出處:http://www.cnblogs.com/brooks-dotnet/archive/2010/10/11/1848282.html

?

微軟對SQL Server提供了如下幾種PowerShell擴展,可以使用Get-PSSnapin -Registered查看:

SQL Server 2008 R2針對主數(shù)據(jù)服務還提供了一種擴展:MasterDataServicesSnapin,后續(xù)篇章測試主數(shù)據(jù)服務時再做討論。

微軟提供的PowerShell擴展包含的命令并不多,只能完成一些基礎操作,更高級的操作還是要借助SQL Server Management Object (SMO,SQL Server對象模型)。

CodePlex上有人發(fā)布了SQL Server的PowerShell擴展,提供了更多、更常用的命令,后續(xù)篇章我們來測試一下。

?

由于管理的對象是SQL Server 2008 R2,故首先回顧一下其新特性。

Microsoft SQL Server 2008 R2是SQL Server數(shù)據(jù)庫的最新版本, R2標志表示這是SQL Server的一個中間版本,而不是一個主版本,但R2版本一樣為DBA和開發(fā)人員提供了大量有趣的新功能。除了新功能外,也發(fā)布了兩個新版本:SQL Server 2008 R2 Datacenter(數(shù)據(jù)中心版)和SQL Server 2008 R2 Parallel Data Warehouse(并行數(shù)據(jù)倉庫版)。

  1. SQL Server 2008 R2 新特性

1、Report Builder 3.0

  Report Builder是一個工具集,通過它可以開發(fā)出發(fā)布到Web上的報表,通過Report Builder可以創(chuàng)建包含圖像,圖表,表格和打印控件的報表,此外,Report Builder也支持下鉆和排序,如果你熟悉第三方報表工具,圖Crystal Reports(水晶報表),那么你一定會使用Report Builder。

SQL Server 2008 R2/Report Builder 3.0中的新特性包括:

1)地圖圖層,它可以容納空間和分析數(shù)據(jù),可以和微軟的虛擬地球(Microsoft Virtual Earth)無縫集成;

2)指示器,用于顯示一個值的狀態(tài);

3)報表部件,這個對象可以重復使用或在多個報表之間共享;

4)聚合計算(Aggregate Calculating),允許你計算其它聚合計算結果的匯總值。

2、SQL Server 2008 R2 Datacenter

SQL Server 2008 R2的數(shù)據(jù)中心版的目標是企業(yè)版用戶,他們要求更好的性能,新版本支持256顆邏輯處理器,更多的實例數(shù)和更多的內(nèi)存。

3、SQL Server 2008 R2 Parallel Data Warehouse

  SQL Server 2008 R2的另一個新版本是并行數(shù)據(jù)倉庫版,正式代號是"Madison",它主要目標是處理非常大的數(shù)據(jù)量,它使用大規(guī)模并行處理功能將大表分散到多個SQL節(jié)點,這些節(jié)點通過微軟的專利技術Ultra Shared Nothing進行控制,它可以將查詢?nèi)蝿辗峙涞礁鱾€計算節(jié)點上,然后從各個節(jié)點收集計算結果。

4、StreamInsight

  SQL Server 2008 R2中出現(xiàn)了一個新組件,叫做StreamInsight,這個有趣的組件允許在運行中分析流數(shù)據(jù),也就是直接從源數(shù)據(jù)流進行處理,然后再保存到數(shù)據(jù)表中。如果你的系統(tǒng)是一個實時系統(tǒng),這個功能就非常非常的有用,因為實時系統(tǒng)需要分析數(shù)據(jù),但又不能引起數(shù)據(jù)寫入時的延遲,一些常見的例子如股票交易數(shù)據(jù)流,Web點擊分析流和工業(yè)處理控制,可以同時監(jiān)控多個輸入數(shù)據(jù)流。

5、主數(shù)據(jù)服務

  主數(shù)據(jù)服務(Master Data Services,MDS)既是一個概念又是一個產(chǎn)品,主數(shù)據(jù)服務的概念是對核心業(yè)務數(shù)據(jù)有一個集中的數(shù)據(jù)入口看守人,數(shù)據(jù)項如客戶賬單地址,雇員/客戶姓名,以及產(chǎn)品名稱應該集中管理,以便讓所有消費應用系統(tǒng)都具有相同的信息。微軟提供了一個示例,在customer表中記錄了一個顧客地址,但在mailing表中記錄了一個不同的地址。主數(shù)據(jù)服務應用程序可以保證所有表只有一個正確的地址,而一個MDS可以是一個本地應用程序,SQL Server 2008 R2包括一個應用程序和一個接口管理核心數(shù)據(jù)。

6、PowerPivot for SharePoint

  PowerPivot是一個終端用戶工具,它與SharePoint,SQL Server 2008 R2和Excel 2010聯(lián)合使用,可以在幾秒內(nèi)處理大量數(shù)據(jù),PowerPivot的作用有點像Excel中的數(shù)據(jù)透視表,提供了分析功能。

7、數(shù)據(jù)層應用

  數(shù)據(jù)層應用(Data-Tier Application,縮寫為DAC,不知道C代表什么含義,不要與Windows數(shù)據(jù)訪問組件混淆了,因為它的縮寫也是DAC)是一個對象,它可以為一個工程存儲所有需要的數(shù)據(jù)庫信息,如登錄,表和Visual Studio可以使用的存儲過程。通過創(chuàng)建一個數(shù)據(jù)層應用,SQL Server包版本和每個Visual Studio編譯版本一起保存,也就是可以將應用程序和數(shù)據(jù)庫構建成一個統(tǒng)一的版本,方便后期維護和管理。

8、Unicode壓縮

  SQL Server 2008 R2使用一個新的算法,為Unicode存儲提供了一個簡單的壓縮方案,通過Unicode壓縮,可以減少Unicode字符對空間的占用,它由SQL Server引擎自動管理,因此不需要修改現(xiàn)有應用程序,DBA也無須做任何干涉。

9、SQL Server Utility

  新的SQL Server Utility是一個集中控制多個SQL Server實例的倉庫對象,性能數(shù)據(jù)和配置策略可以存儲在一個單一的Utility中,Utility也包括一個資源管理器工具,可以創(chuàng)建多個服務器儀表板。

10、多服務器儀表板

雖然SQL Server Management Studio也可以連接到多個服務器,但不能在一個集中的視圖上查看所有的數(shù)據(jù)庫,每個數(shù)據(jù)庫服務器需要獨立管理,在SQL Server 2008 R2中,可以創(chuàng)建同時顯示多個服務器的儀表板。

?

  1. SQL Server驅動器

當添加了微軟的PSSnapin后,就會添加SQL Server驅動器:

Add-PSSnapin -Name SqlServerProviderSnapin100

Add-PSSnapin -Name SqlServerCmdletSnapin100

?

Get-PSDrive

運行結果:

?

有了SQL Server驅動器后就可以像訪問文件系統(tǒng)那樣訪問SQL Server對象,如實例名、數(shù)據(jù)庫、表、關系等,非常方便。

如上圖所示,SQLSERVER:\是SQL Server驅動器的"根目錄",其"目錄結構"如下:(摘自MSDN

Folder

SQL Server object model namespace

Objects

SQLSERVER:\SQL

Microsoft.SqlServer.Management.Smo

Microsoft.SqlServer.Management.Smo.Agent

Microsoft.SqlServer.Management.Smo.Broker

Microsoft.SqlServer.Management.Smo.Mail

Database objects, such as tables, views, and stored procedures.

SQLSERVER:\SQLPolicy

Microsoft.SqlServer.Management.Dmf

Microsoft.SqlServer.Management.Facets

Policy-based management objects, such as policies and facets.

SQLSERVER:\SQLRegistration

Microsoft.SqlServer.Management.RegisteredServers

Microsoft.SqlServer.Management.Smo.RegSvrEnum

Registered server objects, such as server groups and registered servers.

SQLSERVER:\Utility

Microsoft.SqlServer.Management.Utility

Utility objects, such as managed instances of the Database Engine.

SQLSERVER:\DAC

Microsoft.SqlServer.Management.DAC

Data-tier application objects such as DAC packages, and operations such as deploying a DAC.

SQLSERVER:\DataCollection

Microsoft.SqlServer.Management.Collector

Data collector objects, such as collection sets and configuration stores.

?

那么我們查看一下其子集:

Clear-Host

Set-Location SQLSERVER:\

Get-ChildItem

運行結果:

可以得到子集目錄的簡要描述。

?

獲取本機安裝的所有SQL Server實例的信息:

#BrooksPC替換為你自己的機器名

Set-Location SQLSERVER:\SQL\BrooksPC

Get-ChildItem

運行結果:

可以得到很多數(shù)據(jù)庫的元數(shù)據(jù)信息,如默認實例名、字符集、.NET版本等,非常有用。

?

查詢本機默認實例上的所有數(shù)據(jù)庫和表:

Set-Location SQLSERVER:\SQL\BrooksPC\DEFAULT\Databases

Get-ChildItem | Select Name, Tables

運行結果:

可以看到和GUI中的一致,系統(tǒng)數(shù)據(jù)庫、系統(tǒng)表除外:

?

查詢本機安裝的數(shù)據(jù)庫的詳細版本信息:

注意PowerShell中的switch語句沒有case。

Set-Location SQLSERVER:\SQL\BrooksPC

$svr = Get-ChildItem | Select Edition, VersionString

switch ($svr.VersionString)

{

"8.194.0" {Write-Host $svr.VersionString "SQL Server 2000 RTM" $svr.Edition; break}

"8.384.0" {Write-Host $svr.VersionString "SQL Server 2000 SP1" $svr.Edition; break}

"8.534.0" {Write-Host $svr.VersionString "SQL Server 2000 SP2" $svr.Edition; break}

"8.760.0" {Write-Host $svr.VersionString "SQL Server 2000 SP3" $svr.Edition; break}

"8.00.2039" {Write-Host $svr.VersionString "SQL Server 2000 SP4" $svr.Edition; break}

"9.00.1399" {Write-Host $svr.VersionString "SQL Server 2005 RTM" $svr.Edition; break}

"9.00.2047" {Write-Host $svr.VersionString "SQL Server 2005 SP1" $svr.Edition; break}

"9.00.3042" {Write-Host $svr.VersionString "SQL Server 2005 SP2" $svr.Edition; break}

"9.00.4035" {Write-Host $svr.VersionString "SQL Server 2005 SP3" $svr.Edition; break}

"10.0.1600" {Write-Host $svr.VersionString "SQL Server 2008 RTM" $svr.Edition; break}

"10.0.2531" {Write-Host $svr.VersionString "SQL Server 2008 SP1" $svr.Edition; break}

"10.50.1600.1" {Write-Host $svr.VersionString "SQL Server 2008 R2 RTM" $svr.Edition; break}

default {Write-Host $svr.VersionString "version cannot be determined" $svr.Edition; break}

}

運行結果:

?

小結:

本次對SQL Server 2008 R2有了一個大體的了解,練習了SQL Server驅動器下查詢信息的方法。后續(xù)篇章將開始深入涉及SMO(SQL Server Management Object),并測試其他PowerShell擴展,包含微軟及其第三方的。

相信PowerShell會是對SQL語句的一個有益補充而逐漸被SQL Server DBA所接受。

轉載于:https://www.cnblogs.com/brooks-dotnet/archive/2010/10/11/1848282.html

總結

以上是生活随笔為你收集整理的PowerShell 2.0 实践(十二)管理 SQL Server 2008 R2(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。