Этого не случилось со мной. Но я думал об этом.
Я возился со своей учебной средой и по ошибке щелкнул имя базы данных, а затем коснулся буквы А.
Давайте предположим, что я нажал Enter. Теперь база данных называется A, и я не помню оригинальное имя. CTRL + Z не работает.
Что делать в таком случае, в производственной среде?
Я знаю, что это не могло произойти, потому что база данных не установлена как ОДИН ПОЛЬЗОВАТЕЛЬ. Но если это произойдет. Что делать? Ради аргумента, скажем, это база данных, которой никто не пользуется сейчас.
sql-server
sql-server-2008
Racer SQL
источник
источник
ALTER DATABASE
разрешения, и я мог бы войти в него только тогда, когда я действительно хочу запуститьALTER DATABASE
скрипт. Таким образом, вы никогда не будете делать вышеперечисленноеОтветы:
Щелкните правой кнопкой мыши по базе данных, перейдите к файлам. Вы можете увидеть оригинальные имена файлов. Это поможет вам легко найти правильное имя базы данных. Имена файлов не будут изменены при переименовании.
Вы также можете попробовать взглянуть на свои
fn_dblog
. Это недокументировано, но вы можете увидеть (и отфильтровать) последние действия.источник
SELECT CAST([RowLog Contents 0] AS sysname) ,CAST([RowLog Contents 1] AS sysname) FROM sys.fn_dblog(NULL,NULL) WHERE Context = 'LCX_BOOT_PAGE' AND [Offset in Row] =52
Я сомневаюсь, что у вас будет производственная база данных, имя которой вы не знаете или не документировали.
Если это произойдет в производстве, вы можете посмотреть список существующих резервных копий, используя
Или используйте
dbo.backupset
из MSDB.источник
Вы можете просмотреть журналы SQL Server в последний раз, когда SQL Server запускался, и искать каждый экземпляр «Запуск базы данных« DBName ». Затем вы можете сравнить этот список с результатами sys.databases. Любые новые базы данных и та, которую вы изменили, не будут в списке журналов SQL Server.
Другой, возможно, лучший способ - запросить трассировку и фильтр по умолчанию с помощью :: fn_trace_gettable database_id. Предполагая, что в последнее время использовалось БД, в столбце databaseName будет показано старое имя, а затем в более новой строке новое имя с типом события Object: Altered.
источник