我有一些将脚本加载到变量的代码,然后我将变量传递给SMO 对象。我得到以下异常:
使用“1”参数调用“ExecuteWithResults”的异常:“数据库'Russell_Test'的执行结果失败。”
- $serverName 是服务器名称。
- $databaseName 是数据库名称。
- $createScript 是读取的脚本。
我该如何解决这个问题?
以下是代码的相关部分。
# Load Smo and referenced assemblies.
[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.ConnectionInfo');
[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Management.Sdk.Sfc');
[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO');
[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMOExtended');
Try{
$server = New-Object Microsoft.SqlServer.Management.Smo.Server $serverName;
$db = $server.Databases.Item($databaseName);
$result = $db.ExecuteWithResults($createScript);
$result | Out-File -Append -FilePath $outputFile;
}
Catch
{
[system.exception]
$_.Exception | Out-File -Append -FilePath $outputFile
}