BASIC QUESTION: We have a small application that uses a MSSQL database to save data. We want to use Windows-Authentification to allow each client (15 in total) to connect to the database to write/read in a table.

For now, we ask the database administrator to create in the database the 15 users (adding their Windows name). We ask to do it directly in Microsoft SQL Server Management Studio or to use our utility. If the administrator is connected to the database with our utility and s/he has enough rights, s/he can create the users directly from our Utility.

Is this normal practice? Or there should be a single user saved in the server/database, and all clients should use this user to access the server/database?

Note: The clients connect directly to the server database. We have not developed a server application between clients and database. (slightly edited question)

  • Sharing your research helps everyone. Tell us what you've tried and why it didn't meet your needs. This demonstrates that you've taken the time to try to help yourself, it saves us from reiterating obvious answers, and most of all it helps you get a more specific and relevant answer. Also see How to Ask – gnat Nov 29 '19 at 16:20
  • Thx. But mine is a conceptual question, asking for advice if a specific approach is right or wrong. I am gonna edit a bit the question. – Kelly o'Brian Nov 29 '19 at 16:30
  • hm, consider giving a read to this meta guidance: Why questions about “the correct way” are too broad – gnat Nov 29 '19 at 17:28
  • 1
    Please define wrong. Without a concern the standard practice is to do whatever works. – candied_orange Nov 29 '19 at 18:15
  • I understand that this question is too broad, but I got unsure as a potential client replied that their database admin finds strange, especially with MSSQL, that each end user (client) will have a user in the database... On the web I could not find any info about this beeing bad practice or 'strange' as they said. I am just confused. – Kelly o'Brian Nov 29 '19 at 18:23

If you are using Windows environment solely this is a good approach as this permission model is built into Windows technologies.

With Windows Authentication the MS SQL Server knows who the connected user is and what permissions s/he has. Only SQL Server administrators can change users and privileges on the server and your app can take advantage of that without implementing permissions check on client side.

To make administration much easier, you should use Groups to set permissions on database/tables so you don’t have to manage tens of individual user privileges.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.