我想加密现有数据库中的所有存储过程 所以我尝试使用shell脚本
$db = (new-Object Microsoft.SqlServer.Management.Smo.Server("SQL_instance")).Databases.Item("[DB_name]")
Foreach ($sp in $db.StoredProcedures){
if(!$sp.IsSystemObject){
if (!$sp.IsEncrypted){
$sp.TextMode = $false;
$sp.IsEncrypted = $true;
$sp.TextMode = $true;
try
{
$sp.Alter();
}
catch{
Write-Host "$sp.Name fail to encrypted."
}
}
}
}
它正在我的一个本地服务器上运行,但不在客户端的服务器上运行 Source for this
我收到以下错误
答案 0 :(得分:0)
你的脚本对我来说很好 - 所以我怀疑你可能需要在管理员模式下运行powershell或提升它的权限..