【问题标题】:Creating a SQL Server database - but I get an error创建 SQL Server 数据库 - 但出现错误
【发布时间】:2019-11-05 03:45:30
【问题描述】:

我正在尝试创建 SQL Server 数据库,但出现此错误

使用“2”个参数错误调用“.ctor”的异常。

我也应该从 csv 创建一个表,但我先分段执行代码以确保我做对了。

Import-Module -Name sqlps -DisableNameChecking
$srv = New-Object Microsoft.SqlServer.Management.Smo.Server("(localhost)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database($srv, "Test_Database")
$db.Create()
Write-Host $db.Name "created" $db.CreateDate

【问题讨论】:

  • SQL Server 中的“本地”机器可以指定为.(只是一个点)、(local)(带括号)或localhost不带 任何括号)-您的(localhost) 拼写无效
  • 这成功了!谢谢

标签: sql sql-server powershell scripting


【解决方案1】:

如果实例是默认实例,那么你可以使用如下:

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server
$db = New-Object Microsoft.SqlServer.Management.Smo.Database($srv, "Test_Database")
$db.Create()

对于命名实例 UCERTIFY3,您可以使用以下语法:

$srv = New-Object Microsoft.SqlServer.Management.Smo.Server("SERVERNAME\UCERTIFY3")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database($srv, "Test_Database")
$db.Create()

【讨论】:

    【解决方案2】:

    我的猜测是服务器实例名称有问题:

    $srv = New-Object Microsoft.SqlServer.Management.Smo.Server("(localhost)")
    =>
    $srv = New-Object Microsoft.SqlServer.Management.Smo.Server(".")
    

    【讨论】:

    • 所以我相信实例名称是 UCERTIFY3,我已经用它替换了 localhost。我几乎在学校学习 SQL,但我绝对没有这方面的经验。
    猜你喜欢
    • 2017-10-30
    • 1970-01-01
    • 2013-12-07
    • 2018-02-13
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    相关资源
    最近更新 更多