Wenn Sie SA zum Eigentümer einer Datenbank machen, werden eine Reihe von Dingen vereinfacht und / oder gelöst, die sich jedoch auf die Sicherheit auswirken können.
Denken Sie insbesondere daran, dass SA der Eigentümer einer Datenbank ist dbo = 'SA'
. Dies bedeutet, dass unter anderem alle Prozeduren im Schema [dbo] (dies ist die Standardeinstellung), in denen "EXECUTE As Owner" enthalten ist, tatsächlich als SA ausgeführt werden. Das ist nicht ganz so schlimm, wie es sich anhört, denn wenn Sie die Datenbank nicht als VERTRAUENSWÜRDIG markiert haben, lässt SQL Server keine Sitzung oder Aufgabe aus der Datenbank mit einem solchen imitierten Prinzipal auf Serverebene.
Das bringt den nächsten Punkt auf den Punkt: Markieren Sie solche Datenbanken niemals als VERTRAUENSWERT, es sei denn, Sie sind wirklich , wirklich sicher, dass sie sicher sind. Denn jeder, der in der Lage ist, Prozeduren im Schema [dbo] zu erstellen, kann auf dem gesamten Server als SA ausgeführt werden, wenn er möchte.
Ein weiteres Problem kann auftreten, weil viele Produkte und Anwendungen, die über eine eigene SQL Server-Datenbank verfügen, häufig angeben, dass ihre Anwendungsanmeldung das DBO der Datenbank sein muss. Offensichtlich können Sie dies beheben, indem Sie die Anmeldung für die Anwendung auf "SA" setzen. Hoffentlich ist es auch klar, dass Sie dies niemals tun sollten, es sei denn, die SQL Server-Instanz wird für nichts anderes verwendet (auch dann würde ich dagegen empfehlen).