Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fragen zum Kopieren der SQL Server-Datenbank

Wenn die Datenbank über auto_close verfügt eingeschaltet, dann schließt die Engine das Datei-Handle, wenn die Datenbank nicht mehr verwendet wird. Express-Instanzen erstellen Datenbanken mit aktiviertem automatischen Schließen, und diese Eigenschaft wird beibehalten, wenn die Datenbank an eine Nicht-Express-Instanz angehängt wird.

Es stimmt nicht, dass Sie die Instanz herunterfahren müssen, um eine Datenbankdatei zu kopieren. Sie müssen lediglich das exklusive Handle aufgeben, das von der SQL Server-Instanz für die Datenbankdatei(en) gehalten wird. Dazu können Sie die Datenbank einfach offline schalten, kopieren und dann wieder online schalten. (Wenn ich mich richtig erinnere) für schreibgeschützte Datenbanken ermöglicht das von SQL Server gehaltene Handle anderen Prozessen, ein gemeinsames Handle für die Datei zu öffnen. Aus diesem Grund können Sie eine schreibgeschützte Online-Datenbank kopieren, und msqlsystemresource ist im normalen Betriebsmodus schreibgeschützt.

Sonstige Fragen:
1c) nie. Kopieren Sie immer die MDF, alle NDFs und die LDF(s). Selbst wenn es Empfehlungen gibt, nur die MDF zu kopieren, ignorieren Sie diese und kopieren Sie auch die LDF.
2) Die Ressourcendatenbanken sind Teil Ihrer Binärdateien. Sie befinden sich im binn-Ordner Ihrer Installation, am selben Ort wie sqlservr.exe. Der Pfad ist für jede installierte Instanz unterschiedlich und Sie können ihn während des Setups ändern.

Und eine letzte Überlegung:warum berühren Sie die Ressourcendatenbank? Ihnen steht eine Welt voller Schmerzen bevor, Sie können Ihre Instanz leicht beschädigen, wenn Sie die Ressourcendatenbank in irgendeiner Weise manipulieren.