Sql server 在混合模式下使用PowerShell脚本复制SQL Server数据库

Sql server 在混合模式下使用PowerShell脚本复制SQL Server数据库,sql-server,powershell,Sql Server,Powershell,我想使用使用用户名和密码的PowerShell脚本创建SQL Server数据库。我使用了以下脚本: $SQLInstanceName = "(localdb)\MSSQLLocalDB" $Server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $SQLInstanceName # This sets the connection to mixed-mode authent

我想使用使用用户名和密码的PowerShell脚本创建SQL Server数据库。我使用了以下脚本:

$SQLInstanceName = "(localdb)\MSSQLLocalDB"
$Server  = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $SQLInstanceName 

# This sets the connection to mixed-mode authentication 
$Server.ConnectionContext.LoginSecure=$false; 

# This sets the login name 
$Server.ConnectionContext.set_Login("test"); 

# This sets the password 
$Server.ConnectionContext.set_Password("*******")  
$SourceDBName   = "@@SourceDBName@@" 
$SourceDB = $Server.Databases[$SourceDBName] 
$CopyDBName = "@@DestDBName@@"
$CopyDB = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Database -ArgumentList $Server , $CopyDBName
$CopyDB.Create() 
$ObjTransfer  = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Transfer -ArgumentList $SourceDB
$ObjTransfer.CopyAllTables = $true
$ObjTransfer.Options.WithDependencies = $true
$ObjTransfer.Options.ContinueScriptingOnError = $true
$ObjTransfer.DestinationDatabase = $CopyDBName
$ObjTransfer.DestinationServer = $Server.Name
$ObjTransfer.DestinationLoginSecure = $true
$ObjTransfer.CopySchema = $true 
$ObjTransfer.ScriptTransfer() enter code here
$ObjTransfer.TransferData()
但我得到了这个错误:

数据库“coupadb\u master\u TestClient”的SetParent失败。"

位于System.Threading.Tasks.Task.ThrowifeException(布尔值IncludeTaskCanceledException)


你为什么不使用windows auth?还有,你为什么不只是进行备份然后还原?Afaik
SetParent
用于设置定义数据库的SQL Server实例。可能存在权限问题?另外,尝试捕获异常并获取完整的strack跟踪,可能还有任何内部异常。我遇到了一个坏问题有使用PowerShell和SQL server的经验。一些脚本在PowerShell IDE中工作,但在直接执行时不起作用。所有脚本都在同一个全能帐户下。并且出现了无意义的异常。我使用SMO为任务编写了一个简单的C#代码,工作起来很有魅力。是的,我知道这不会有任何区别,但确实如此。无论如何,我同意th@ManojChoudhari,如果适用的话,备份还原是一个更好的策略。我只需要一个数据库的shell副本。windows auth脚本工作正常。但我想在混合模式下进行。我建议您看看,这是一个开源的powershell模块,它能够完成您正在尝试的任务…任何原因都可以n为什么不使用windows auth?另外,为什么不只是进行备份然后还原?Afaik
SetParent
用于设置定义数据库的SQL Server实例。可能存在权限问题?此外,请尝试捕获异常并获取完整的strack跟踪,可能还有任何内部异常。我的经历不太好与PowerShell和SQL server一起使用ce。一些脚本在PowerShell IDE中工作,但在直接执行时不工作。所有脚本都在同一个全能帐户下。并且得到了无意义的异常。我使用SMO为任务编写了一个简单的C#代码,工作起来非常有魅力。是的,我知道这不会有任何区别,但它确实有。无论如何,我同意@ManojChoudhari,如果适用的话,备份还原是一个更好的策略。我只需要一个数据库的shell副本。windows auth脚本工作正常。但我想在混合模式下进行。我建议您看看,这是一个开源powershell模块,能够完成您正在尝试的操作。。。