Gibt es eine Möglichkeit, nach der Wiederherstellung ersetzte Stored Procedure wiederherzustellen. Ich habe vergessen, eine Sicherung vor dem Ersetzen der Datenbank zu erstellen.Gespeicherte SQL-Ersetzungsprozedur
Antwort
@RexAtienza, Wenn Sie diesen SP kürzlich ausgeführt haben, dann können Sie das aus dem Cache bekommen. Suchen Sie auch nach einem alten Backup Ihrer Datenbank, wo Sie Ihren alten SP erhalten können. Überprüfen Sie die folgende Abfrage, um aus dem Cache herauszufinden.
SELECT DB_Name(qt.[dbid]) AS 'databaseName'
,Object_Name(qt.objectid, qt.[dbid]) AS 'procName'
,Max(qs.last_execution_time) AS 'last_execution'
,qt.TEXT
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
where Object_Name(qt.objectid, qt.[dbid]) ='YOUR_PROC_NAME'
GROUP BY db_name(qt.[dbid])
,Object_Name(qt.objectid, qt.[dbid])
,qt.TEXT
ORDER BY databaseName
,procName
Falsch, "Wiederherstellen einer Datenbank löscht den Plan-Cache für die Instanz von SQL Server." https://msdn.microsoft.com/en-us/library/ms186858.aspx – dean
@dean! Ich sage, mit anderen Namen wiederherstellen (nicht überschreiben) und diese gespeicherte Prozedur zu bekommen. Verwenden Sie etwas "gesunden Menschenverstand" –
Ja, aber ich bezog mich auf den ersten Teil Ihrer Antwort ("Wenn Sie diesen SP kürzlich ausgeführt haben, dann können Sie das aus dem Cache bekommen"). Das OP hat die Datenbank bereits ersetzt - also nicht mehr im Cache. – dean
Nein, gibt es nicht. Dies ist ein gutes Beispiel dafür, warum ich die Quellcodeverwaltung für Datenbankobjekte und kompilierten Code befürworte.
Es ist völlig unverantwortlich, nicht den gesamten Datenbankcode in Source Control zu setzen. – HLGEM
- 1. gespeicherte Prozedurstruktur
- 2. Gespeicherte Prozedur
- 3. Diese gespeicherte Prozedur exteral Parameter an eine gespeicherte Prozedur
- 4. Gespeicherte Prozedur, die eine andere gespeicherte Prozedur ausführt
- 5. in gespeicherte Prozedur
- 6. Einfache gespeicherte Prozedur schreiben
- 7. nHibernate gespeicherte Prozeduraufruf
- 8. Asynchrone gespeicherte Prozeduraufrufe
- 9. JavaScript-Aufruf gespeicherte Prozedur
- 10. gespeicherte SQL-Prozeduren
- 11. Gespeicherte Prozedur Zeitüberschreitung
- 12. Gespeicherte UWP-Dateispeicher
- 13. SQL Suche gespeicherte Prozedur
- 14. Gespeicherte Prozedur, die Recordset
- 15. Gespeicherte Prozedur in MDX
- 16. MySQL - Gespeicherte Prozedur
- 17. Gespeicherte Prozedur ändern, ohne
- 18. Instagram gespeicherte Beiträge erhalten
- 19. AGGREGATE Funktion gespeicherte Prozedur
- 20. Archivierung gespeicherte Prozeduren
- 21. SQL: Gespeicherte Prozedur
- 22. Gespeicherte Prozeduren und Funktionen
- 23. Gespeicherte Procs neu kompilieren?
- 24. Mysql gespeicherte Prozedur Ausgabe
- 25. PDO Gespeicherte Prozedur Rückgabewert
- 26. jQuery Plugin Gespeicherte Werte
- 27. MySQL gespeicherte Prozedur Parameter
- 28. IF/ELSE Gespeicherte Prozedur
- 29. Gespeicherte Prozedur mit Standardparametern
- 30. Gespeicherte Prozedur in phpmyadmin
Sorry, aber es scheint mir unwahrscheinlich, da Sie effektiv die gesamte Datenbank mit dem Inhalt der zuvor gespeicherten .bak-Datei überschreiben. Diese Art dreht die Uhr komplett zurück. – cars10m
Danke cars10, Ich versuche zu überprüfen, ob es gecached oder etwas gibt, das ich verwenden kann, um die Skripts zu bekommen, die ich brauchte, aber nicht 100% Ich kann das Skript bekommen – jankenshin2004
Nur wenn Sie das Skript irgendwo außerhalb der Datenbank gespeichert haben, oder wenn Sie können Wiederherstellen einer Datenbanksicherung, die vor der Änderung erstellt wurde. – dean