Логины (имена пользователей) и пароли
Чтобы получить доступ к информации, нужен пропуск с фамилией и собственная физиономия (подтверждающая, что пришёл именно владелец пропуска). В компьютере для того же самого используется собственное имя (логин) и пароль, который, по идее известен только человеку с этим именем – логином.
Все компьютерные ресурсы (информация) защищены этими комбинациями логинов и паролей. Это не всегда удобно. Довольно часто входы «прячутся», т.е машине автоматически подсовывается какая-то конкретная информация и человеку ничего не надо вводить с клавиатуры.
Паролями защищена отдельно стоящая машина и всё, что есть ан ней. Но кроме машины может быть локальная сеть или какая-то программа с своими отдельными пользователями и паролями (на этой же машине). Всё это разные системы и допуск к одной информации вовсе не означает, что есть допуск к другой информации. Этими логинами, как и пропусками, занимаются разные ведомства.
SQL Server это программа на компьютере, работающая с некой своей информацией. В ней, естественно, есть свои пользователи и пароли. Как правило, этого достаточно потому что пользователи обычно имеют дело только с внутренней информацией SQL Server-а. Подключение внешних источников данных (в данном случае таблицы Excel-я) это выход на «чужую территорию» и запрос чужих (для SQL Server-а) ресурсов (данных). Excel-евская таблица – «собственность» компьютера. И SQL сервер должен предъявить компьютеру его «пропуск», точнее логин и пароль, позволяющий обращаться к файлам на компьютере. И всё бы было хорошо если бы только пользователь этого компьютера хотел читать информацию Excel-евского файла. Для этого случая в SQL Server-е установлено сразу две системы паролей (своя и дублирование компьютерной). Проблема в том что информацию хотят читать пользователи из сети, которые эту машине не включали и пароль не вводили. Вроде как люди, у которых вдруг есть «пропуск» в конкретную «комнату» но нет «пропуска» на вход в «здание». Потому в эту «комнату» их через окно ))) впускают, а в остальные нет.
Проблему можно решить. SQL Server от себя может написать в некий «журнал», что такой-то, такой-то и такой-то мой пользователь имеет доступ ещё и к той информации (раз уж я- сервер, всё равно, её использую). Дело за малым. Нужен ещё тот человек, который умеет открывать «ящик», в котором хранится этот «журнал», читать сопоставление и выдавать «Иванову с пропуском в комнату» временный «пропуск» хоть на Петрова (но «пропуск к ресурсам здания»). Если такого человека нет, то ничего работать не будет, а будет выдаваться сообщение, что не установлена система делегирования полномочий. А не установлена она по умолчанию потому что нужна довольно редко. Есть должность «читателя журнала» в «штатном расписании», но человека на ней нет. Короче, надо установить эту систему делегирования.
Есть другой вариант, более стандартный в случае сетевой работы (т.е когда много машин в сети) и когда активно используются «чужие» ресурсы. Это установка так называемого домена. В такой сети все здания = компьютеры вместе и «пропуска» действуют на весь «квартал». Не очень, на самом деле, знаю что это такое и не возьмусь придумать бытовую аналогию. Может люди с ноутбуками, которые ходят везде не читать могут только своё. Так или иначе, это система, которая много чего умеет. Этим делегированием полномочий она тоже занимается, если она установлена.
Ещё одно вылезло. Оказывается, по умолчанию SQL Server вообще не подключен к локальной сети:
https://blogs.technet.microsoft.com/isv_team/2011/04/16/sql-server-108-2/
Не помню такой проблемы. Либо потому что эти галки расставляются и забываются. Либо потому что в последнее время к SQL Server-у обращались не пользователи сети (напрямую), а прочие сервера (Web, 1C) потому искать и менять эту установку не требовалось. Обычно тут почти всё надо некоторое время покрутить в руках чтобы оно заработало. Вариантов использования много, с настройками на все случаи жизни никто за свою практику обычно не сталкивался. Потому и требуется в простой ситуации расставить нужные галки а в сложной ещё что-то установить, которое раньше не для чего не потребовалось.
|