C# 如何使用sqlserver.management.smo通过symmetryk密钥从sql server中的表中获取加密记录

C# 如何使用sqlserver.management.smo通过symmetryk密钥从sql server中的表中获取加密记录,c#,visual-studio,sql-server-2008,smo,C#,Visual Studio,Sql Server 2008,Smo,我正在使用SymmetricKey作为密码字段。现在我想从表中获取所有密码已解密的记录。我正在使用Microsoft.SqlServer.Management.Smo var tbls = new Table(); tbls = db.Tables[tblname]; ScriptingOptions options = new ScriptingOptions(); options.ScriptData = true; options.ScriptDrops = false; options.

我正在使用SymmetricKey作为密码字段。现在我想从表中获取所有密码已解密的记录。我正在使用Microsoft.SqlServer.Management.Smo

var tbls = new Table();
tbls = db.Tables[tblname];
ScriptingOptions options = new ScriptingOptions();
options.ScriptData = true;
options.ScriptDrops = false;
options.EnforceScriptingOptions = true;
options.ScriptSchema = false;
options.IncludeHeaders = true;
options.AppendToFile = true;
options.Indexes = true;
options.WithDependencies = true;                                
ServerVersion sv = new ServerVersion(2008, 2005);
options.SetTargetServerVersion(sv);
var script = tbls.EnumScript(options);
string queryes ="";                                 
foreach (var line in script)
{
   if (line.Contains("VALUES"))
   {
      queryes += line;                                        
   }
}

如何获取解密记录的数据?

如果该字段已使用对称密钥加密,则应使用以下语句使用对称密钥打开该字段

OPEN SYMMETRIC KEY [Key Name] Decryption by [Decryption Mechanism] 通过[解密机制]打开对称密钥[密钥名称]解密 下面的链接可以帮助您了解对称密钥、非对称密钥以及创建证书来加密和解密数据。[