• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用 PowerShell 加密 SQL Server 的存储过程

mysql 搞代码 4年前 (2022-01-09) 27次浏览 已收录 0个评论

下面代码演示如何使用 PowerShell 脚本将 SQL Server 中的所有存储过程加密。出于安全的考虑,我们使用 WITH ENCRYPTION 在创建存

下面代码演示如何使用 PowerShell 脚本将 SQL Server 中的所有存储过程加密。

出于安全的考虑,我们使用 WITH ENCRYPTION 在创建存储过程的时候进行加密,,但如果我们想要更新已加密的存储过程该如何做呢?我看到一些人写了一个 C# 控制台程序,受此提示,我使用了 PowerShell 调用 ‘Microsoft.SqlServer.Management.Smo’ 来实现。

首先我们打开 PowerShell,你需要确定的是你的 SQL Server 版本是否支持 PowerShell,我这里用的是 SQL Server 2008.

打开 ‘Microsoft SQL Server Management Studio’ -> open ‘Object Explorer’-> ,然后右键打开 ‘Start PowerShell’, 将会弹出 PowerShell 提示窗口。

修改代码如下所示:

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server(“[DataBase Engine Name]”)
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item(“[DataBase Name]”)
Foreach ($sp in $db.StoredProcedures){
if(!$sp.IsSystemObject){
if (!$sp.IsEncrypted){
$sp.TextMode = $false;
$sp.IsEncrypted = $true;
$sp.TextMode

本文来源gaodai.ma#com搞#代!码网_

= $true;
try{
$sp.Alter();
}catch{
Write-Host “$sp.Name fail to encrypted.”
}
}
}
}

执行时请耐心,这取决于你的存储过程的数量。

英文原文,OSCHINA原创翻译


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用 PowerShell 加密 SQL Server 的存储过程
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址