powershell查看mysql密码_使用 PowerShell 加密 SQL Server 的存储过程

下面代码演示如何使用 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 = $true;

try{

$sp.Alter();

}catch{

Write-Host "$sp.Name fail to encrypted."

}

}

}

}

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

英文原文,OSCHINA原创翻译

logo.gif

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值