Cela ne m'est pas encore arrivé. Mais j'y pensais.
Je déconnais avec mon environnement d'entraînement, et par erreur, j'ai cliqué sur le nom de la base de données, puis j'ai touché la lettre A.
Supposons que j'appuie sur Entrée. Maintenant, la base de données s'appelle A, et je ne me souviens plus du nom d'origine. CTRL + Z ne fonctionne pas.
Que faire dans un cas comme celui-ci, dans un environnement de production?
Je sais que cela ne pourrait pas se produire, car la base de données n'est pas définie comme UTILISATEUR UNIQUE. Mais si ça arrive. Que faire? Pour les besoins de l'argument, disons que c'est une base de données que personne n'utilise actuellement.
sql-server
sql-server-2008
Racer SQL
la source
la source
ALTER DATABASE
autorisations et je ne me connecterais en tant qu'utilisateur que lorsque je souhaite réellement exécuter unALTER DATABASE
script. De cette façon, vous ne ferez jamais ce qui précèdeRéponses:
Faites un clic droit sur la base de données, accédez aux fichiers. Vous pouvez voir les noms de fichiers d'origine. Cela vous aidera à trouver facilement le nom de base de données correct. Les noms de fichiers ne seront pas modifiés lors d'un changement de nom.
Vous pouvez également essayer de jeter un œil à votre
fn_dblog
. Ce n'est pas documenté mais vous pouvez voir (et filtrer) les dernières actions.la source
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
Je doute que vous ayez une base de données en production dont vous ne connaissez pas le nom ou que vous ne l'ayez pas documentée quelque part.
Si cela se produit en production, vous pouvez consulter la liste des sauvegardes existantes en utilisant
Ou utilisez
dbo.backupset
depuis msdb.la source
Vous pouvez consulter les journaux SQL Server pour la dernière fois que SQL Server a démarré et rechercher chaque instance de «Démarrage de la base de données« DBName ». Vous pouvez ensuite comparer cette liste aux résultats de sys.databases. Toute nouvelle base de données et celle que vous avez modifiée ne figureront pas dans la liste des journaux SQL Server.
Une autre façon, peut-être meilleure, serait d'interroger la trace et le filtre par défaut par :: fn_trace_gettable database_id. En supposant qu'il y a eu une utilisation récente de la base de données, la colonne databaseName affichera l'ancien nom, puis dans une ligne plus récente le nouveau nom avec un type d'événement Object: Altered.
la source