【发布时间】:2016-07-29 09:49:31
【问题描述】:
我想通过 Powershell 为 MSSQL DB 生成一个导入脚本(与 this question 相关)。 我试过这样做:
#Set-ExecutionPolicy RemoteSigned
$DB_NAME = "<<dbName>>"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | Out-Null
$srv = new-object "Microsoft.SqlServer.Management.SMO.Server" "<<server>>"
$conContext = $srv.ConnectionContext
$conContext.LoginSecure = $false
$conContext.Login = "<<user>>"
$conContext.Password = "<<password>>"
$srv = new-object Microsoft.SqlServer.Management.Smo.Server($conContext)
$srv.SetDefaultInitFields([Microsoft.SqlServer.Management.SMO.View], "IsSystemObject")
$db = $srv.databases[$DB_NAME]
$scripter = new-object "Microsoft.SqlServer.Management.Smo.Scripter" $srv
$scripter.Options.ScriptSchema = $false
$scripter.Options.ScriptData = $true
$scripter.Options.ScriptDrops = $false
$scripter.Script($db)
但执行此操作会引发错误:
"This method does not support scripting data"
我也尝试设置输出文件选项,但这并没有改变任何东西。
你能告诉我我做错了什么吗?
谢谢!
【问题讨论】:
标签: sql-server powershell smo