пользователь с ограниченным доступом sql как исправить

Установка однопользовательского режима базы данных

В этом разделе описывается, как установить однопользовательский режим в SQL Server при помощи среды SQL Server Management Studio или Transact-SQL. Однопользовательский режим указывает, что одновременный доступ к базе данных получает только один пользователь. Это в основном используется для операций обслуживания.

В этом разделе

Перед началом работы

Установка однопользовательского режима базы данных с помощью

Перед началом

Ограничения

Если в процессе установки однопользовательского режима к базе данных подключены другие пользователи, то их подключения к базе данных будут закрыты без предупреждения.

База данных остается в однопользовательском режиме даже и в том случае, если пользователь, установивший этот параметр, отключился. В этот момент к базе данных могут подключаться и другие пользователи, но одновременно может быть подключен только один.

Предварительные требования

безопасность

Permissions

Необходимо разрешение ALTER на базу данных.

Использование среды SQL Server Management Studio

Установка однопользовательского режима базы данных

В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engineи разверните его.

Щелкните правой кнопкой мыши базу данных, которую нужно изменить, и выберите пункт Свойства.

Для параметра Ограничение доступа выберите Один.

С помощью этой процедуры можно также установить режим одновременного или ограниченного доступа к базе данных. Дополнительные сведения о параметрах ограниченного доступа см. в разделе Свойства базы данных (страница «Параметры»).

Использование Transact-SQL

Установка однопользовательского режима базы данных

Установите соединение с компонентом Компонент Database Engine.

На панели «Стандартная» нажмите Создать запрос.

Источник

Подключение к SQL Server в случае, если доступ системных администраторов заблокирован

В этой статье описывается, как восстановить доступ к Компонент SQL Server Database Engine в качестве системного администратора, если доступ был заблокирован. Системный администратор может утратить доступ к экземпляру SQL Server по одной из следующих причин:

по ошибке удалены все члены предопределенной роли сервера sysadmin;

по ошибке удалены все группы Windows, которые являлись членами предопределенной роли сервера sysadmin;

имена входа, являющиеся членами предопределенной роли сервера sysadmin, принадлежат лицам, которые покинули компанию или недоступны;

учетная запись sa отключена, или никто не знает ее пароля.

Решение

Чтобы устранить проблему доступа, рекомендуется запустить экземпляр SQL Server в однопользовательском режиме. Этот режим не позволит устанавливать другие подключений при попытке восстановить доступ. Вы можете подключиться к экземпляру SQL Server и добавить имя входа в роль сервера sysadmin. Подробные инструкции по решению этой проблемы приведены в этом разделе.

При запуске экземпляра в однопользовательском режиме сначала нужно остановить службу «Агент SQL Server». В противном случае агент SQL Server может установить соединение первым, заняв единственное доступное подключение к серверу и заблокировав возможность входа.

В следующей таблице приведены различные способы запуска экземпляра в однопользовательском режиме в командной строке.

Пошаговые инструкции по запуску SQL Server в однопользовательском режиме см. в статье Запуск SQL Server в однопользовательском режиме.

Пошаговые инструкции

Далее приводятся пошаговые инструкции по предоставлению системному администратору, доступ которого было по ошибке заблокирован, разрешений для входа в SQL Server.

SQL Server запущен в Windows 8 или более поздней версии. Небольшие изменения для предыдущих версий SQL Server или Windows приведены там, где применимо.

На компьютере установлена среда SQL Server Management Studio.

Следуйте этим инструкциям, выполнив вход в систему Windows в качестве члена локальной группы администраторов.

В меню «Пуск» Windows правой кнопкой мыши щелкните значок диспетчера конфигурации SQL Server и выберите пункт Запуск от имени администратора, чтобы передать учетные данные администратора в диспетчер конфигурации.

На левой панели диспетчера конфигурации SQL Server выберите Службы SQL Server. На панели справа найдите свой экземпляр SQL Server. (Экземпляр по умолчанию SQL Server включает (MSSQLSERVER) после имени компьютера. Именованные экземпляры появляются в верхнем регистре с тем же названием, что и в списке «зарегистрированные серверы»). Щелкните правой кнопкой мыши экземпляр SQL Server, а затем выберите пункт Свойства.

Нажмите кнопку ОК, а после сообщения о перезагрузке щелкните правой кнопкой мыши имя сервера и выберите пункт Перезапустить.

После перезагрузки SQL Server ваш сервер находится в однопользовательском режиме. Убедитесь, что агент SQL Server не выполняется. Если он был запущен, то он займет ваше единственное соединение.

В меню «Пуск» Windows щелкните правой кнопкой мыши значок Среда Management Studio и выберите пункт Запуск от имени администратора. Учетные данные администратора будут переданы в SSMS.

В более ранних версиях Windows параметр Запуск от имени администратора появляется в виде подменю.

В некоторых конфигурациях SSMS попытается установить несколько подключений. Многочисленные соединения приведут к ошибке, поскольку SQL Server находится в однопользовательском режиме. Выполните одно из следующих действий, соответствующее вашему сценарию.

Подключитесь с помощью обозревателя объектов, используя проверку подлинности Windows (которая включает учетные данные администратора). Разверните Безопасность, затем Имена входа и дважды щелкните имя входа. На странице Роли сервера выберите sysadmin и нажмите ОК.

Если экземпляр SQL Server работает в режиме смешанной проверки подлинности, подключитесь к окну запросов при помощи проверки подлинности Windows (которая включает учетные данные администратора). Выполните следующий код, чтобы создать новое имя входа для проверки подлинности в SQL Server, которое является членом предопределенной роли сервера sysadmin.

Замените ************ надежным паролем.

Замените ************ надежным паролем.

Закройте среду Среда Management Studio.

Следующие действия позволят переключить SQL Server в многопользовательский режим. На левой панели диспетчера конфигурации SQL Server выберите Службы SQL Server.

На правой панели щелкните экземпляр SQL Serverправой кнопкой мыши и выберите пункт Свойства.

Щелкните правой кнопкой мыши имя сервера и выберите пункт Перезапустить. Не забудьте запустить агент SQL Server еще раз, если он был остановлен перед запуском SQL Server в однопользовательском режиме.

Источник

Пользователь с ограниченным доступом для SQL DB

Я скрывался в Интернете, пытаясь найти решение моей проблемы:

У меня есть SQL-база данных на Azure SQL Server. В дополнение к этому есть приложение, говорящее с этим сервером и БД, в частности.

На данный момент я использую учетные данные моего главного пользователя. Теперь я хотел бы создать пользователя «с закрытыми» (моя цель) или просто пользователя с ограниченными правами (Update, Select, Delete, Insert) только для моей текущей базы данных SQL.

Я выполнил следующие строки кода, чтобы создать пользователя только с правами чтения/записи.

После того, как эти строки кода были выполнены, я пошел в свое приложение, чтобы изменить строку подключения, но я не смог получить доступ к моей БД с этим вновь созданным пользователем.

Я уверен, что у меня что-то не хватает, но я не знаю, что это.

Последние несколько дней я провел на веб-сайте Microsoft Docs по этой теме, но, похоже, не нашел решения.

РЕДАКТИРОВАТЬ:

В приведенной выше статье было высказано предположение, что я должен «установить параметр уровня экземпляра», выполнив:

Я не знаком с этими командами, и они не выполняются на SQL SM Studio. Я определенно делаю что-то не так.

Вот сообщение об ошибке:

Такое же предложение было найдено по адресу:

Но снова я не смог выполнить предоставленный код.

Я знаю, что моя БД не содержится:

имя сдерживания 0 my_DB

Опять же, на этом веб-сайте было обнаружено такое же предложение:

И снова я не смог выполнить код по какой-то причине.

При попытке входа в SQL Studio с созданным пользователем я получаю это сообщение об ошибке:

Не удается подключиться к my_DB.

Ошибка входа для пользователя «AppUser». (Поставщик данных.Net SqlClient)

Имя сервера: my_DB Номер ошибки: 18456 Степень серьезности: 14 Состояние: 1 Номер строки: 65536

вот строка Connection в моем приложении С#:

Что также не удается.

EDIT II:

Думаю, мне нужно выяснить, как сделать my_DB первым. Затем попробуйте использовать Содержимого пользователя для входа в него.

Создано содержалось Используется в моей базе данных. Я вижу это под вкладками Безопасность/Пользователи.

Но он не находится на вкладке Server/Security/Logins.

Нужно ли предоставлять информацию о моем пользователе для сервера? Документы выше говорят: Нет, мне не нужно. Документы говорят, что аутентификация происходит на уровне БД, а не на сервере (если я прав)

EDIT III:

Итак, после некоторого поиска я думаю, что понял. Я не уверен, если позже я смогу отредактировать этот ответ, но здесь мы идем.

(И я предполагаю, что в этот момент я не уверен, что это относится к Contained Users или нет, но это должно быть сделано, если вы хотите создать пользователя с несколькими привилегиями, а не целым доступом к БД или Серверу.)

Подключитесь к своей БД, в этом случае это my_DB и выполните строку ниже.

Над строкой кода выбирает вашу целевую базу данных для создания пользователя (если я прав)

Над строкой кода может быть создан пользователь, который не проходит проверку подлинности на уровне базы данных.

на этом этапе я смог войти в свой SQL Server и DB через SQL SMStudio, но не через мою строку подключения С#:

После использования моего приложения С# я узнал, что определенные поля зашифрованы. Я мог бы сделать это назад, но я сравнивал пароль с паролем в одной таблице. И я узнал, что полученный результат был замаскирован так: ‘xxxx’

эта строка кода разрешает разоблачение:

Это означает, что пользователь и пользователь создали.

Другая ошибка, которую я нашел, находится в этой строке кода:

Теперь у меня есть доступ к моей БД с недавно созданным пользователем, который имеет ограниченные привилегии. База данных не Содержится, ни Пользователь (пожалуйста, поправьте меня, если я ошибаюсь «. Но теперь это будет сделано.

Если я получу my_DB в сдерживание, я вернусь к вам.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *