Wie kann die verlorene Tabellenstruktur wiederhergestellt werden?

Ich habe versehentlich einen Tisch fallen lassen, der keine Daten hatte, aber einen großen Tisch. Kann ich irgendwie die Struktur des Tisches bekommen? Ich habe es versucht

SELECT TOP 5000 * 
FROM  (SELECT COALESCE(Object_name(s2.objectid), 'Ad-Hoc')       AS ProcName, 
              execution_count, 
              s2.objectid, 
              (SELECT TOP 1 Substring(s2.text, statement_start_offset/2 + 1, ( 
                            ( 
                            CASE 
                              WHEN 
                            statement_end_offset = -1 THEN 
                              ( 
                                                        Len( 
                              CONVERT(NVARCHAR(max), s2.text)) * 
                                                        2 
                              ) 
                                                        ELSE 
                            statement_end_offset 
                            END 
                            ) 
                            - statement_start_offset )/2 + 1)) AS 
              sql_statement, 
              last_execution_time 
       FROM   sys.dm_exec_query_stats AS s1 
              CROSS apply sys.Dm_exec_sql_text(sql_handle) AS s2) x 
WHERE  sql_statement NOT LIKE 'SELECT TOP 50 * FROM(SELECT %' 
--and OBJECTPROPERTYEX(x.objectid,'IsProcedure') = 1 
ORDER  BY last_execution_time DESC 

Aber ich konnte keine Tabellenabfrage erstellen. Hilfe!

0
Nein :( ... Ich interessiere mich nicht für die Daten, aber ich brauche die Struktur.
hinzugefügt der Autor Arbaaz, Quelle
Dafür gibt es SQL-Backups. Sie sichern Ihre DB, oder?
hinzugefügt der Autor JohnFx, Quelle
Im Prinzip wäre es möglich, sys.fn_dblog zu verwenden, um sich das Transaktionslog anzuschauen. Identifizieren Sie die problematische Transaktion und schauen Sie sich die protokollierten Löschanweisungen für sys.syscolpars an, besonders aber sys.sysschobjs , sys.sysrscols , sys.sysrowsets , sys.sysidxstats , sys.sysallocunits und möglicherweise andere Systemobjekte, abhängig von der Definition der Tabelle. Dann verwenden Sie einen Ansatz wie
hinzugefügt der Autor Martin Smith, Quelle
Und es gibt keine Garantie, dass die notwendigen Aufzeichnungen noch im Protokoll sind.
hinzugefügt der Autor Martin Smith, Quelle
Jede gespeicherte Prozedur, die Informationen über Ihre Tabelle haben kann? irgendein Einfügeskript in deiner App?
hinzugefügt der Autor vasin1987, Quelle

1 Antworten

0
hinzugefügt