0

I have 4 MS SQL Server databases that are accessed by 2 different applications on 2 different computers. The applications work with MS SQL Server as the host of the databases. How do l ensure that when the system is installed, the clients cannot see or manipulate my databases through another application such as SQL Server Management Studio?

I have tried the following

ALTER AUTHORIZATION ON DATABASE::<database> to <anylogin>

USE MASTER

DENY VIEW ANY DATABASE TO <anylogin>

to make the database accessible to only a single user. It does something but what l want is to make the databases visible and accessible by only a certain single login regardless of whichever privileges they may have. The databases should not be accessible by or visible to any other logins except for only the one that l would have dedicated to be able to do so.

Charlieface
  • 52,284
  • 6
  • 19
  • 43

2 Answers2

0
  1. create a sql login with password difficult(encrypt password in connection string)

  2. limited permision sql login( only user has grant Select,insert,update,delete )

  3. if user is user appliction that never has other permisions (alter,admin,monitroring ,....)

4.limit network access to this server(port sql )

  1. disable extra user in this instance

you can be used to change ownership in SQL Server and other users can't see this database but It causes the change database's owner

i don't advice this code

ALTER AUTHORIZATION ON DATABASE::<database> to <anylogin>

USE MASTER

DENY VIEW ANY DATABASE TO <anylogin>
abolfazl sadeghi
  • 2,277
  • 2
  • 12
  • 20
0

You could also look at Application Roles

Aardvark
  • 174
  • 1
  • 7