Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从C代码创建sql server主密钥和证书?_C#_Sql_Sql Server_Visual Studio 2010_Sql Server 2008 R2 - Fatal编程技术网

C# 如何从C代码创建sql server主密钥和证书?

C# 如何从C代码创建sql server主密钥和证书?,c#,sql,sql-server,visual-studio-2010,sql-server-2008-r2,C#,Sql,Sql Server,Visual Studio 2010,Sql Server 2008 R2,我可以根据sql命令从sql server执行创建此命令,但是有没有任何方法可以使用C#代码执行此命令 sql命令 USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'rajesh'; Go Use Master BACKUP MASTER KEY TO FILE = 'C:\Users\HP USER\Desktop\Encrypt\KEYs' ENCRYPTION BY PASSWORD = 'rajes

我可以根据sql命令从sql server执行创建此命令,但是有没有任何方法可以使用C#代码执行此命令

sql命令

USE master;
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'rajesh';
Go

Use Master
    BACKUP MASTER KEY TO FILE = 'C:\Users\HP USER\Desktop\Encrypt\KEYs' 
    ENCRYPTION BY PASSWORD = 'rajesh'
GO 

Use Master
      CREATE CERTIFICATE mytestcert
      WITH SUBJECT = 'Mytestcertificate'

Use Master
    BACKUP CERTIFICATE mytestcert TO FILE = 'C:\Users\HP USER\Desktop\Encrypt\mytestcert.cer'
GO

CREATE DATABASE dbShop ;
GO  

USE dbShop
GO
CREATE DATABASE ENCRYPTION KEY 
  WITH ALGORITHM = AES_256
  ENCRYPTION BY SERVER CERTIFICATE [mytestcert]
ALTER DATABASE test
  SET ENCRYPTION ON;

您可以将命令放在存储过程中,然后从C#执行存储过程。

为什么不能从C#执行这些命令,就像执行其他SQL命令一样?我自己没有这样做,但是名称空间似乎有几个看起来很像的类,比如
MasterKey
。我在sql server中没有任何数据库。在将数据库连接到服务器之前,我必须创建证书和密钥,因为数据库受密钥和证书保护,所以在哪里创建存储过程?&我也是sql server的新用户