2009-05-07 8 views
1

Dies ist ein wirklich seltsames. Ich bin mit SQL Server Express 2005 und haben die folgende Verbindungszeichenfolge (in einem DotNetNuke web.config):"Lost" SQL Server-Datenbank

Data Source = ELECTROMORPH \ S15304561; Integrated Security = True; User Instance = True

Hinweis dass es keinen Parameter AttachDbFilename gibt - also bin ich mir nicht sicher, wie SQL Server überhaupt weiß, worüber er sich verbinden soll. Aber es verbindet sich mit etwas, weil die Website funktioniert und aktualisiert werden kann!

Ich habe versucht, alle .mdf-Dateien auf dem Server zu suchen, aber keine möglichen Kandidaten zu sehen. Die Systemdatenbanken scheinen keine Benutzertabellen zu enthalten.

Hat jemand eine Idee, ob es eine "Standard" -Datenbank gibt, die verwendet werden könnte - vielleicht eine, die keine .mdf-Erweiterung hat?

Dies ist eindeutig die Belohnung für die Annahme einer Standardkonfiguration! Ich sollte es wirklich besser wissen, aber ich bin hier völlig ratlos, also würde ich mich über Vorschläge freuen!

+0

Gerade FYI, Benutzerinstanzen ein veraltetes Feature. –

Antwort

2

Verbinden Sie sich mit der Datenquelle mit Sql Server Management Studio (kommt kostenlos mit Sql Server Express with tools.) Klicken Sie mit der rechten Maustaste auf die Datenbank, und es zeigt Ihnen, wo die Dateien gespeichert sind.

0

Siehe this part für Benutzerinstanzen. Wie bei AttachDbFilename kann dieser Parameter zur Laufzeit hinzugefügt oder anderswo angegeben werden. Suchen Sie nach dem Ordner App_Data in Ihrem Anwendungsstammverzeichnis.

1

Vielleicht ist dies ein Verweis auf die nur die SQL Server-Instanz und so wird der Standardkatalog verwendet, bis eine bestimmte Datenbank möglicherweise zur Laufzeit referenziert wird.

Siehe

http://msdn.microsoft.com/en-us/library/ms247257.aspx

Siehe auch: SQL Server Express-Benutzerinstanzen und liest "Wie Benutzer intances arbeiten"

http://msdn.microsoft.com/en-us/library/ms254504.aspx

Verwenden Sie die folgende Abfrage, um die spezifischen Benutzerinstanzen zu identifizieren die unter der SQL Server Express-Standardinstanz ausgeführt werden.

SELECT owning_principal_name, instance_pipe_name FROM sys.dm_os_child_instances