天天看點

《PowerShell V3——SQL Server 2012資料庫自動化運維權威指南》——2.16 建立索引

本節書摘來自異步社群出版社《powershell v3—sql server 2012資料庫自動化運維權威指南》一書中的第2章,第2.16節,作者:【加拿大】donabel santos,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

本方案描述了如何用powershell和smo建立一個包含列的非聚集索引。

我們将使用adventureworks2008r2資料庫的person.person表。我們将在firstname和lastname上建立一個非聚集索引,包含middlename列。這個任務的等價t-sql語句為:

1.通過“start | accessories | windows powershell | windows powershell ise”打開powershell控制台。

2.導入sqlps子產品,建立一個新的smo伺服器對象。

3.添加如下腳本并運作。

4.檢查這個索引已經建立。打開ssms。

《PowerShell V3——SQL Server 2012資料庫自動化運維權威指南》——2.16 建立索引

建立索引的第一步是建立一個smo index對象,它需要表/視圖的句柄和索引名稱。

下一步是使用microsoft.sqlserver.management.smo.index類的indexedcolumn屬性設定所有的索引列。

索引的類型可以指定為microsoft.sqlserver.management.smo.indexedcolumn類的indexkey type屬性,它接受3個可能的值:

none:不唯一

driprimarykey:主鍵

driuniquekey:唯一

您也可以設定額外的屬性,包括fillfactor、是否為聚集索引。

當設定好所有的屬性後,調用smo index對象的create方法。

smo索引對象也支援不同類型的索引。

《PowerShell V3——SQL Server 2012資料庫自動化運維權威指南》——2.16 建立索引

關于索引選項的更多資訊,檢視msdn文檔關于smo索引部分。

建立表方案