《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.10 删除数据库...

    xiaoxiao2024-06-05  105

    本节书摘来自异步社区出版社《PowerShell V3—SQL Server 2012数据库自动化运维权威指南》一书中的第2章,第2.10节,作者:【加拿大】Donabel Santos,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    2.10 删除数据库

    本方案将讲述如何使用SMO和PowerShell删除数据库。

    2.10.1 准备

    本任务假设你创建TestDB数据库。如果没有,按照创建数据库方案中的步骤创建一个。

    2.10.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.添加如下代码并运行。

    $dbName = "TestDB" #need to check if database exists, and if it does, drop it $db = $server.Databases[$dbName] if ($db) {      #we will use KillDatabase instead of Drop      #Kill database will drop active connections before      #dropping the database      $server.KillDatabase($dbName) }

    2.10.3 如何实现…

    为了删除一个SMO服务器或数据库对象,你可以简单调用Drop方法。然而,如果你之前尝试过删除数据库,你可能已经经历过被活动的连接所阻塞。因此,我们选择了KillDatabase方法,在删除数据库之前将会杀掉活动连接。当你从“Object Explorer”中删除数据库时,这个选项在SSMS中也是可用的。右击一个数据库,将出现“Delete Object”窗口。在窗口底部有一个“Close existing connections”的复选框,选中复选框。

    最新回复(0)