Protegendo a propriedade intelectual do seu SQL Server

Aplica-se a:SQL Server

Os desenvolvedores de software geralmente perguntam como distribuir seus aplicativos de dados do SQL Server para os clientes e ainda evitar que os clientes de analisem e desconstruam seus aplicativos. O ponto principal aqui, é que a proteção da sua propriedade intelectual é uma questão legal e essa proteção consta no contrato de licença. Quando o SQL Server é instalado em um computador que outras pessoas administram, inerentemente você perde alguns aspectos do controle.

Natureza do problema

O proprietário/administrador de um computador sempre pode acessar a instância do SQL Server instalada no computador. Se você implantar seu aplicativo em um computador do cliente, desde que eles sejam administradores, eles poderão se conectar ao SQL Server como membros da função de servidor fixa sysadmin. Isso inclui a capacidade de conceder permissões, gerenciar backups (incluindo restaurar backups para outros computadores), descriptografar e mover arquivos de dados, etc. Para obter mais informações, consulte Conectar-se ao SQL Server quando os administradores de sistema estão bloqueados.

Dados e procedimentos armazenados podem ser criptografados, mas não é possível ocultar a estrutura de dados e os usuários que podem anexar um depurador ao processo do servidor podem recuperar dados e procedimentos descriptografados da memória em runtime.

Se os clientes não forem administradores nos computadores, você poderá impedir que os clientes acessem. Você pode usar a Transparent Data Encryption para criptografar os arquivos de dados, pode criptografar backups e pode auditar as ações de todos os usuários. Mas os administradores do servidor do SQL e os administradores do computador SQL Server podem reverter essas ações.

Solução

Há várias maneiras de configurar o acesso a dados pelo cliente sem instalar o SQL Server no computador dos clientes. A maneira mais fácil, provavelmente, é usar o Banco de dados SQL do Azure para que os clientes não sejam administradores, talvez em combinação com Always Encrypted. Para obter mais informações sobre como começar a usar o banco de dados SQL, consulte O que é o Banco de Dados SQL? Introdução ao banco de dados SQL.

Você também pode hospedar um SQL Server na sua própria rede e permitir que os clientes acessem dados por meio da sua rede, diretamente ou por meio de um aplicativo Web.

Confira também

Central de segurança do Mecanismo de Banco de Dados do SQL Server e Banco de Dados SQL do Azure
Protegendo o SQL Server