下面代码演示如何使用 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 提示窗口。
修改代码如下所示:
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普通的 Java 对象)映射成数据库中的记录。有需要的朋友可以下载看看
1
$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原创翻译

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号