Creating an index
This recipe shows how to create a nonclustered index with an included column using PowerShell and SMO.
Getting ready
We will use the Person.Person
table in the AdventureWorks2014
database. We will create a nonclustered index on FirstName
, LastName
, and include MiddleName
. The T-SQL equivalent of this task is as follows:
CREATE NONCLUSTERED INDEX [idxLastNameFirstName] ON [Person].[Person] ( [LastName] ASC, [FirstName] ASC ) INCLUDE ([MiddleName]) GO
How to do it...
Let's check out how we can create an index using PowerShell:
Open PowerShell ISE as administrator.
Import the SQLPS module and create a new SMO Server object:
#import SQL Server module Import-Module SQLPS -DisableNameChecking #replace this with your instance name $instanceName = "localhost" $server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $instanceName
Add the following script and run:
$dbName = "AdventureWorks2014" $db = $server.Databases[$dbName] $tableName = "Person" $schemaName...