Published on

February 7, 2020

Исправление ошибки 15580 в SQL Server – Пошаговое руководство

Вы когда-нибудь сталкивались с ошибкой 15580 в SQL Server при попытке удалить главный ключ? Если да, то вы не одиноки. В этой статье мы расскажем, как исправить эту ошибку и вернуть вашу базу данных на правильный путь.

Сообщение об ошибке “Не удается удалить главный ключ, потому что диалог ‘GUID’ зашифрован им” может быть довольно раздражающим. Но не беспокойтесь, есть решение.

Сначала давайте разберемся, что означает эта ошибка. Главный ключ в SQL Server используется для шифрования других ключей, таких как ключи диалогов службы брокера. Когда вы пытаетесь удалить главный ключ, SQL Server проверяет, зашифрованы ли какие-либо диалоги им. Если есть, вы получите ошибку 15580.

Чтобы исправить эту ошибку, выполните следующие шаги:

  1. Проверьте, включен ли служба брокера для соответствующей базы данных. Вы можете сделать это, запустив следующий запрос:
SELECT is_broker_enabled, name
FROM sys.databases

Если служба брокера не включена, вам нужно будет включить ее. Это можно сделать, выполнив следующую команду:

ALTER DATABASE [ИмяБазыДанных] SET ENABLE_BROKER;
  1. Затем проверьте, есть ли остаточные записи в таблице конечных точек диалога. Выполните следующий запрос:
SELECT *
FROM sys.conversation_endpoints

Если вы найдете записи с conservation_id ‘GUID’, это означает, что есть некоторые остаточные записи, которые нужно очистить.

  1. После того, как вы убедитесь, что в базе данных и сервере не используется шифрование, вы можете продолжить с восстановлением главного ключа. Выполните следующую команду:
USE [ИмяБазыДанных]
GO
ALTER MASTER KEY FORCE REGENERATE 
WITH ENCRYPTION BY PASSWORD = 'ВведитеСильныйПарольИЗапомнитеЕго'
GO

После восстановления главного ключа вы должны иметь возможность удалить его, используя ту же команду, что и раньше:

USE [ИмяБазыДанных]
GO
DROP MASTER KEY
GO

Теперь вы должны иметь возможность добавить базу данных в группу доступности без возникновения ошибки 15580.

Если вы сталкивались с этой проблемой раньше, мы хотели бы услышать, как вы ее решили. Пожалуйста, оставьте свой отзыв в разделе комментариев ниже.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.