Как я могу иметь сертификат в проекте базы данных Visual Studio 2010, который будет создаваться, обновляться и удаляться в зависимости от изменений в проекте, аналогично тому, как он обрабатывает таблицы, хранимые процедуры, ключи и другие объекты?
Ниже приведен синтаксис, который я сейчас использую, и файл $(CertName)
.
CREATE CERTIFICATE [$(CertName)]
AUTHORIZATION [dbo]
WITH SUBJECT = N'Encrypt Data', START_DATE = N'11/26/2012 15:13:03', EXPIRY_DATE = N'11/26/2013 15:13:03'
ACTIVE FOR BEGIN_DIALOG = ON;
Я попытался проверить, существует ли он, используя приведенный ниже оператор if.
IF (select Count(*) from sys.symmetric_keys where name like '$(CertName)') = 0
BEGIN
--insert create statement
END
Однако, используя этот подход, я получаю следующие ошибки из-за того, что я использую сертификат в определении симметричного ключа.
SQL03006: Симметричный ключ: [$(KeyName)] содержит неразрешенную ссылку на сертификат [$(CertName)].