Я пытаюсь найти и отобразить список имен баз данных, которые находятся в чем угодно, но идеальном зеркальном состоянии. Приведенный ниже код работает, когда одна база данных находится в таком состоянии, но когда это больше, чем ошибка, я получаю ошибку, к которой относится этот вопрос: Msg 512, Level 16, State 1, Line 4 Подзапрос возвращает более 1 значения. Это недопустимо, когда подзапрос следует =,! =, <, < =,>,> = или когда подзапрос используется как выражение.Подзапрос возвращает более 1 значения - пытается напечатать имена баз данных
Вот мой код:
объявить @result Int DECLARE @dbs VARCHAR (256)
SET @result = (SELECT database_id from sys.database_mirroring WHERE mirroring_state_desc in ('SUSPENDED','DISCONNECTED','PENDING_FAILOVER'))
SET @dbs = (SELECT name from sys.databases where database_id = @result)
if @@ROWCOUNT > 0
print @dbs
Спасибо очень любую помощь,
Брэда.
ошибка довольно Obvio нас. Какой у Вас вопрос? –
Поскольку вы пытаетесь сохранить коллекцию значений в одну переменную ... вы получаете эту ошибку –
Я должен был быть более конкретным, но да, я понимаю, что говорит ошибка, я просил о том, чтобы обойти это .. Я думал, что это подразумевалось, но извинения, если нет. – MenthoL