Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Softwareentwickler fragen oft, wie sie ihre SQL Server-Datenanwendung an Kunden verteilen und verhindern, dass Kunden ihre Anwendung analysieren und deconieren. Der wichtigste Grundsatz hier ist, dass der Schutz Ihres geistigen Eigentums ein Rechtliches ist und der Schutz in Ihrem Lizenzvertrag liegt. Wenn SQL Server auf einem Computer installiert wird, den andere verwalten, verlieren Sie inhärent einige Aspekte der Kontrolle.
Art des Problems
Der Besitzer oder Administrator eines Computers kann jederzeit auf die Instanz des SQL-Servers zugreifen, die auf diesem Computer installiert ist. Wenn Sie Ihre Anwendung auf dem Computer eines Kunden bereitstellen, können sie, weil sie Administratoren sind, eine Verbindung mit dem SQL Server als Mitglieder der sysadmin festen Serverrolle herstellen. 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 und vieles mehr. Weitere Informationen finden Sie unter Connect to SQL Server When System Administrators Are Locked Out.
Gespeicherte Prozeduren und Daten können verschlüsselt werden, die Datenstruktur kann jedoch nicht ausgeblendet werden, und Benutzer, die einen Debugger an den Serverprozess anfügen können, können entschlüsselte Prozeduren und Daten aus dem Arbeitsspeicher zur Laufzeit abrufen.
Wenn die Clients keine Administratoren der Computer sind, können Sie den Zugriff der Clients auf den Computern verhindern. Sie können Transparent Data Encryption verwenden, um die Datendateien zu verschlüsseln, Sie können Sicherungen verschlüsseln und die Aktionen aller Benutzer überwachen. Aber SQL Server Administratoren und Administratoren des SQL Server Computers können diese Aktionen rückgängig machen.
Lösung
Es gibt verschiedene Möglichkeiten zum Konfigurieren des Datenzugriffs für Clients, ohne SQL Server auf dem Computer des Clients zu installieren. Am einfachsten wird wahrscheinlich Azure SQL Database verwendet, sodass die Clients keine Administratoren sind, vielleicht in Kombination mit Always Encrypted. Weitere Informationen zu getting started mit SQL-Datenbank finden Sie unter What is Azure SQL Database?.
Sie können auch einen SQL Server in Ihrem eigenen Netzwerk hosten und Clients Zugriff auf Daten über Ihr Netzwerk ermöglichen, entweder direkt oder über eine Webanwendung.