Is there a way to make MS SQL Server visible and accessible by a single application?

243 Views Asked by At

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.

2

There are 2 best solutions below

0
abolfazl  sadeghi On
  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>
0
Aardvark On

You could also look at Application Roles