【问题标题】:How do I use Powershell to detach a SQL Server database?如何使用 Powershell 分离 SQL Server 数据库?
【发布时间】:2010-12-30 15:34:41
【问题描述】:

我确信这可以通过加载 SQL Server Management Objects 程序集来实现,但我很好奇 SQL Server Management Studio 2008 中上下文菜单中的“启动 Powershell”项是否会给我一个先机。

【问题讨论】:

    标签: sql-server powershell


    【解决方案1】:

    SMO Server 类有一个 DetachDatabase 方法,您可以从启动 PowerShell 使用该方法。从 sqlps 中的服务器级别,您可以使用以下内容:

    PS SQLSERVER:\SQL\Z002>get-childitem | foreach{$_.DetachDatabase("pubs",$false)}

    MSDN docs for detailed info on DetachDatabase

    【讨论】:

    • 您的回答告诉我 SQL Server 是作为 PSDrive 实现的,这几乎可以回答我的问题。但是,我有兴趣了解您为什么需要在这里使用“foreach”。
    • Get-childitem 在机器级别运行时将返回服务器上的所有 SQL 实例。如果您有多个实例,则需要 foreach。不过在这种情况下可能没有意义。但是我在运行命令的机器上有多个。如果只有一个实例,您可以将 Server 对象分配给变量或执行以下操作: (get-childitem ).DetachDatabase("pubs",$false) 或将服务器对象分配给变量 $server = get-childitem $server. DetachDatabase("pubs",$false)
    猜你喜欢
    • 1970-01-01
    • 2019-10-22
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多