回答:
データベースを右クリックして、ファイルに移動します。元のファイル名を確認できます。これにより、正しいデータベース名を簡単に見つけることができます。ファイル名は、名前を変更しても変更されません。
を見てみることもできますfn_dblog
。文書化されていませんが、最新のアクションを確認(およびフィルター)できます。
SELECT *
FROM fn_dblog(NULL,NULL)
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
SQL Serverが最後に起動したときのSQL Serverログを確認し、「Starting up database 'DBName'」の各インスタンスを確認できます。次に、このリストをsys.databasesの結果と比較できます。新しいデータベースと変更したデータベースは、SQL Serverログリストに表示されません。
別の、おそらくより良い方法は、デフォルトのトレースをクエリして、:: fn_trace_gettable database_idでフィルタリングすることです。最近のDBの使用があったとすると、databaseName列には古い名前が表示され、その後、より新しい行に、イベントタイプがObject:Alteredの新しい名前が表示されます。
SELECT *
,cast(value as nvarchar(1000))
FROM ::fn_trace_getinfo(default)
WHERE traceid = 1 and property = 2;
SELECT ftg.StartTime,
ftg.EndTime,
te.name,
ftg.sessionLoginName,
ftg.ObjectName,
ftg.DatabaseName,
ftg.ServerName,
ftg.LoginName,
ftg.hostName,
ftg.NTUserName,
ftg.DatabaseID,
ftg.TextData,
ftg.TargetuserName
,SPACE(10) AS [Space]
,*
FROM ::fn_trace_gettable('Z:\SQLServer\MSSQL\Log\log_5.trc', default) AS ftg
INNER JOIN
sys.trace_events AS te
ON ftg.EventClass = te.trace_event_id
ORDER BY
ftg.StartTime DESC
ALTER DATABASE
権限を持つ特定のユーザーがいて、実際にALTER DATABASE
スクリプトを実行したい場合にのみそのユーザーとしてログインします。そうすれば、あなたは決して上記を行うことはありません