Om onze kennis zo goed mogelijk te kunnen beschermen willen we voor onze commerciële applicatie het bekijken en wijzigen van tabellen, stored procedures, views en functions uitschakelen. Dit om te voorkomen dat men via bvb. SQL Server Managment Studio snel de database kan bekijken en aanpassen nadat deze is geinstalleerd op de pc van de klant. Het aanmaken van een database en bijwerken van structuur en dergelijke gebeurd door een zelf geschreven applicatie die gewoon SQL scripts uitvoert. Enkel deze applicatie zou de structuur mogen bijwerken. Hierbij dacht ik aan het volgende mogelijkheden:
Optie 1
. Echter ljikt me dit een aangewezen oplossing om via een application role de update applicatie meer rechten te geven dan een user heeft.
Optie 2
Gebruik maken van een Schema, echter is me dit nog niet geheel duidelijk hoe dit juist werkt en of dit wel een correcte oplossing is voor ons probleem?
Optie 3
Gebruik maken van encrypted stored procedures en view met de optie WITH ENCRYPTION. Dit is echter de laatste optie aangezien we dan 2 versies (release en development) moeten onderhouden. Dit omdat de stored procedures of views die aangemaakt zijn met encryption op geen enkele manier meer te bekijken zijn zelfs niet voor development doeleinden. Tevens is de structuur van de tabellen hiermee nog steeds zichtbaar
Na veel googlen en lezen in de msdn help heb ik nog geen goede oplossing gevonden. Ik vroeg me dan ook af hoe jullie dit probleem (zouden) aanpakken? Indien er nog andere mogelijkheden zijn dan bovenstaande opties, let me know
.
Optie 1
- Application Role toevoegen aan de database en permissies toekennen zodat enkel indien deze role geactiveerd is de structuur kan bijgewerkt worden
- Standaard alle functionaliteit voor het wijzigen en bekijken van de structuur uitschakelen voor elke user
Optie 2
Gebruik maken van een Schema, echter is me dit nog niet geheel duidelijk hoe dit juist werkt en of dit wel een correcte oplossing is voor ons probleem?
Optie 3
Gebruik maken van encrypted stored procedures en view met de optie WITH ENCRYPTION. Dit is echter de laatste optie aangezien we dan 2 versies (release en development) moeten onderhouden. Dit omdat de stored procedures of views die aangemaakt zijn met encryption op geen enkele manier meer te bekijken zijn zelfs niet voor development doeleinden. Tevens is de structuur van de tabellen hiermee nog steeds zichtbaar
Na veel googlen en lezen in de msdn help heb ik nog geen goede oplossing gevonden. Ik vroeg me dan ook af hoe jullie dit probleem (zouden) aanpakken? Indien er nog andere mogelijkheden zijn dan bovenstaande opties, let me know