
ich habe eine Datenbank, die ich in meiner Anwendung verwende.
der Vorgang, den ich verhindern möchte, ist, dass ich den SQL-Server stoppe und die Datenbankdateien an einen anderen Ort bringe, dann den SQL-Server starte und einige Vorgänge ausführe, dann die SQL-Server-Dienste stoppe und die Datenbankdateien durch die alten ersetze und den SQL-Server starte: Ich möchte jetzt, dass der SQL-Server einen Fehler meldet und die Datenbank nicht öffnet
wie kann ich diese Situation mit SQL Server 2012 schaffen?
Antwort1
Wenn ich Ihre Frage richtig verstehe, klingt es so, als ob Sie nach etwas wie Transparent Data Encryption suchen, in der Hoffnung, zu verhindern, dass ein Benutzer die Datenbank abtrennt, sie an seinen eigenen Server anfügt, Änderungen vornimmt und sie wieder an den ursprünglichen Server anfügt. Transparent Data Encryption würde erfordern, dass der Benutzer über ein Zertifikat und einen privaten Schlüssel verfügt, umanfügenoderwiederherstellendie Datenbank auf einen anderen Server.
Dies erfordert Enterprise(oder Developer oder Evaluation, beides ist nicht für den Produktionseinsatz lizenziert) und ich bin nicht davon überzeugt, dass es 100 % narrensicher ist, wenn der Benutzer Administratorzugriff auf den Server hat. Sie müssten dem Benutzer beispielsweise den Zugriff zum Exportieren des Zertifikats verwehren.
Leider hat joeqwerty Recht, dass Sie dem Benutzer keinen Administratorzugriff auf den Server oder SA-Zugriff auf SQL erteilen dürfen und dass Sie die NTFS-Berechtigungen des Benutzers für die SQL-Verzeichnisse usw. sperren müssen.