Teilen über


Schutz Ihres geistigen SQL Server-Eigentums

Gilt für: SQL Server

Softwareentwickler fragen sich häufig, wie sie ihre SQL Server-Datenanwendung am besten an die Kunden verteilen können, dabei aber gleichzeitig verhindern, dass die Kunden die Anwendung analysieren und dekonstruieren. Entscheidend hierbei ist, dass der Schutz Ihres geistigen Eigentums ein rechtliches Problem und Teil Ihres Lizenzvertrags ist. Wenn SQL Server auf einem Computer installiert ist, der von anderen Benutzern verwaltet wird, verlieren Sie grundsätzlich einen Teil der Kontrolle.

Ursache des Problems

Der Besitzer/Administrator eines Computers kann immer auf die auf diesem Computer installierte Instanz von SQL Server zugreifen. Wenn Sie die Anwendung auf dem Computer eines Kunden bereitstellen, kann er sich in seiner Funktion als Administrator mit SQL Server als Mitglied der festen Serverrolle sysadmin verbinden. Dies umfasst die Möglichkeit, Berechtigungen zu erteilen, Sicherungen zu verwalten (einschließlich der Wiederherstellung von Sicherungen auf anderen Computern), Entschlüsseln und Verschieben von Datendateien usw. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SQL Server, wenn Systemadministratoren gesperrt sind.

Gespeicherte Prozeduren und Daten können verschlüsselt, die Datenstruktur jedoch nicht ausgeblendet werden. Benutzer, die einen Debugger an den Serverprozess anfügen können, können entschlüsselte Prozeduren und Daten zur Laufzeit vom Arbeitsspeicher abrufen.

Wenn die Clients keine Administratoren auf dem Computer sind, können Sie ihren Zugriff verhindern. Mit Transparente Datenverschlüsselung können Sie Datendateien verschlüsseln, Sicherungen verschlüsseln und die Aktionen aller Benutzer überwachen. SQL Server-Administratoren und Administratoren des SQL Server-Computers können diese Aktionen jedoch umkehren.

Lösung

Es gibt verschiedene Möglichkeiten, den Client-Datenzugriff zu konfigurieren, ohne SQL Server auf dem Computer Ihrer Clients zu installieren. Der einfachste Weg ist die Verwendung von Azure SQL-Datenbank, damit die Clients keine Administratoren sind, möglicherweise kombiniert mit Always Encrypted. Weitere Informationen zu den ersten Schritten mit SQL-Datenbank finden Sie unter Was ist SQL-Datenbank? Einführung zu SQL-Datenbank.

Sie können auch ein SQL Server in Ihrem eigenen Netzwerk hosten und Clients den Zugriff auf Daten entweder direkt über das Netzwerk oder über eine Webanwendung gewähren.

Weitere Informationen

Sicherheitscenter für SQL Server-Datenbank-Engine und Azure SQL-Datenbank
Sichern von SQL Server