Events
Mar 31, 11 PM - Apr 2, 11 PM
The biggest SQL, Fabric and Power BI learning event. March 31 – April 2. Use code FABINSIDER to save $400.
Register todayThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Applies to:
SQL Server
Software developers often ask how to distribute their SQL Server data application to customers, and yet prevent customers from analyzing and deconstructing their application. The key principal here, is that protecting your intellectual property, is a legal issue, and the protection rests in your license agreement. When SQL Server is installed on a computer that others administer, you inherently lose some aspects of control.
The owner/administrator of a computer can always access the instance of SQL Server that is installed on that computer. If you deploy your application to a customer's computer, since they are administrators, they can connect to the SQL Server as members of the sysadmin fixed server role. This includes the ability to grant permissions, manage backups (including restoring backups to other computers), decrypt and move data files, etc. For more information, see Connect to SQL Server When System Administrators Are Locked Out.
Stored procedures and data can be encrypted, but the data structure cannot be hidden and users who can attach a debugger to the server process can retrieve decrypted procedures and data from memory at runtime.
If the clients are not administrators on the computers, you can prevent access by the clients. You can use Transparent Data Encryption to encrypt the data files, you can encrypt backups, and you can audit the actions of all users. But SQL Server administrators and admins of the SQL Server computer can reverse these actions.
There are various ways to configure client data access without installing SQL Server on your clients computer. The easiest is probably using Azure SQL Database so the clients are not admins, perhaps in combination with Always Encrypted. For more information about getting started with SQL Database, see What is SQL Database? Introduction to SQL Database.
You can also host a SQL Server on your own network, and allow clients to access data through your network, either directly or through a web application.
Security Center for SQL Server Database Engine and Azure SQL Database
Securing SQL Server
Events
Mar 31, 11 PM - Apr 2, 11 PM
The biggest SQL, Fabric and Power BI learning event. March 31 – April 2. Use code FABINSIDER to save $400.
Register todayTraining
Certification
Microsoft Certified: Azure Database Administrator Associate - Certifications
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.
Documentation
Securing SQL Server - SQL Server
Use these articles to create and implement an effective security plan in SQL Server. Learn about the platform, authentication, objects, and applications.
SQL Server security best practices - SQL Server
This article provides general guidance for securing SQL Server running in an Azure virtual machine.