本节书摘来自异步社区出版社《PowerShell V3—SQL Server 2012数据库自动化运维权威指南》一书中的第2章,第2.8节,作者:【加拿大】Donabel Santos,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.8 创建数据库
本方案将讲述使用PowerShell创建带有默认属性的数据库。
2.8.1 准备
在这个例子中,我们将会创建一个叫做TestDB的数据库,确保该数据库不在当前实例中。
作为参照,与该任务等价的T-SQL代码如下所示。
CREATE DATABASE TestDB
2.8.2 如何做…
1.通过“Start | Accessories | Windows PowerShell | Windows PowerShell ISE”打开PowerShell控制台。
2.导入SQLPS模块,创建一个新的SMO服务器对象。
#import SQL Server module
Import-Module SQLPS –DisableNameChecking
#replace this with your instance name
$instanceName = "KERRIGAN"
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server
-ArgumentList $instanceName
3.添加如下脚本并运行。
#database TestDB with default settings
#assumption is that this database does not yet exist
$dbName = "TestDB"
$db = New-Object –TypeName Microsoft.SqlServer.Management.Smo.Database($server,
$dbName)
$db.Create()
#to confirm, list databases in your instance
$server.Databases |
Select Name, Status, Owner, CreateDate
2.8.3 如何实现…
使用SMO和PowerShell创建数据库有两个关键步骤:创建一个SMO服务器对象和创建一个SMO数据库对象。
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.
Server -ArgumentList $instanceName
$dbName = "TestDB"
$db = New-Object -TypeName Microsoft.SqlServer.Management.Smo.
Database($server, $dbName)
SMO Database构造器需要SMO服务器句柄和一个数据库对象。最后的操作是调用数据库对象的Create方法。
$db.Create()
很多SMO对象适用这个方法。你将会在本章的很多方案中再次看到Create方法。