#sql-server #ssms
#sql-server #ssms
Вопрос:
Я выполнил запрос из файла .sql в SSMS, который начинается с запроса «ИСПОЛЬЗОВАТЬ»:
use mydatabase
Go
Однако в mydatabase произошла опечатка. это была myddatabase, и я получил следующую ошибку:
База данных ‘myddatabase‘ не существует. Убедитесь, что имя введено правильно.
После этого появляется множество успешных insert
запросов со следующим сообщением:
(Затронута 1 строка)
Поэтому я боюсь, что эти запросы выполняются в другой базе данных. Как я могу найти, какая база данных была затронута? Существует ли база данных по умолчанию?
Комментарии:
1. Проверьте каждую базу данных на наличие таблицы, в которую вы вставили. Таблица должна существовать для успешной вставки.
Ответ №1:
Вы обновили базу данных, которая была активна до USE
инструкции.
Это означает, что если master
база данных была активной, и вы пишете заявление, например
USE myddatabase
и этот оператор выдает ошибку, все строки ниже после GO
выполняются в master
.
Вы всегда можете легко увидеть, какая база данных активна в правом нижнем углу вашего SSMS
.
Комментарии:
1. Да! основная база данных была взорвана! Что тогда происходит? :))
2. Вы создали, вероятно, все таблицы, представления или что-то еще, а затем вставили данные в эти таблицы. Перейдите в свой SSMS, разверните каталог базы данных, затем System database, а затем master. Вы найдете все, что вы там создаете.
3. Да, в моем запросе были таблицы, которые я создал. Разве главная база данных не является модератором других баз данных? В главной базе данных сейчас есть только созданные таблицы, но как другие базы данных все еще работают нормально?
4. В главной базе данных хранится первичная конфигурация вашего SQL Server, но это не мешает вам создавать в этой базе данных все, что вы хотите, даже если это не очень хорошая практика, вы можете создать несколько таблиц отслеживания, журналы команд и т. Д.