Maison > base de données > tutoriel mysql > le corps du texte

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

WBOY
Libérer: 2016-06-07 17:17:57
original
975 Les gens l'ont consulté

下面代码演示如何使用 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原创翻译

linux

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal