Я думаю, это то, что мы хотели бы сделать очень много.
--Step 1: (create a new user)
create LOGIN hello WITH PASSWORD='foo', CHECK_POLICY = OFF;
-- Step 2:(deny view to any database)
USE master;
GO
DENY VIEW ANY DATABASE TO hello;
-- step 3 (then authorized the user for that specific database , you have to use the master by doing use master as below)
USE master;
GO
ALTER AUTHORIZATION ON DATABASE::yourDB TO hello;
GO
, если вы уже создали пользователя и назначен на эту базу данных перед тем, делая
USE [yourDB] CREATE USER привет для входа Привет С DEFAULT_SCHEMA = [DBO] GO
затем любезно удалить его делать ниже и следуйте инструкциям
USE yourDB;
GO
DROP USER newlogin;
GO
Для получения дополнительной информации, пожалуйста, следуйте по ссылкам:
Hiding databases for a login on Microsoft Sql Server 2008R2 and above
Thanls для вашего ответа. Я создал нового пользователя таким образом, попытался войти в систему с ними в SSMS2008, и у меня есть полный доступ ко всем базам данных ... – Curt
Привет, Curt. Это будет связано с настройками доступа по умолчанию через публичный или гостевой как на уровне сервера, так и на уровне базы данных. Пожалуйста, попробуйте выше, и если это не сработает, есть пара других вещей, которые я могу предложить (но в последний раз у меня была эта проблема, которая исправила его) – Irfy
Спасибо @lrfy: D – Curt