У меня есть эта установка SQL Server 2005 Express, в которой есть база данных, к которой я пытаюсь подключиться через программное обеспечение, которое выдает ошибку «не удается подключиться с использованием пользователя mydoimain \ myuser». Это означает, что он пытается подключиться с использованием моего домена пользователь по умолчанию. Это нормально. Это на самом деле то, что я хочу. Но я хочу иметь возможность добавлять пользователей в группу и предоставлять этим группам права доступа к базе данных вместо того, чтобы указывать каждого пользователя.
Итак, я пошел дальше и создал группу AD, в которую добавил себя. Затем я добавил эту группу AD в Microsoft SQL Server Management Studio в разделе Безопасность / Логины, используя всего один фрагмент кода SQL-запроса:
USE [myDatabase]
GO
CREATE LOGIN [myDomain\Groupname] FROM WINDOWS
WITH
DEFAULT_DATABASE=[MYSQLDatabase];
Это добавило группу на вкладке «Безопасность». Но я все еще получаю эту ошибку при попытке подключиться с помощью программного обеспечения моего клиента. Что еще мне нужно установить? Я даже попытался щелкнуть по вновь добавленной группе, появившейся после выполнения приведенного выше фрагмента запроса, а также добавил все роли сервера. Пользователю предоставлен доступ к ядру базы данных (выполняется по умолчанию) и включен в разделе «Вход» (выполняется по умолчанию).
Что мне здесь не хватает?
Вы создали логин, который сообщает серверу, кто вы. Теперь вам нужно сообщить отдельным базам данных, кто вы и какие права должны получить. Вы сделаете это, добавив пользователя в отдельные базы данных, а затем добавив права пользователю. Что-то вроде:
use [db]
go
create user [myDomain\Groupname] for login [myDomain\Groupname]
go
grant select on schema::dbo to [myDomain\Groupname]
go
Это добавит пользователя в базу данных «db» и предоставит ему разрешение на чтение для всех объектов в схеме dbo.