TSQL и UNC пути

Я не специалист по TSQL, поэтому наберитесь терпения, пожалуйста. Так недавно я делал проект на TSQL на своем локальном сервере с использованием SQL Server 2008 R2 Management Studio. Я читал мои файлы из временного файла на моем C: диск и основная вставка их в таблицы в самый раз.

Затем я пошел и перешел на обычный сервер вместо моего локального сервера на моей машине.

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

Я читал, что одним из решений является создание подключенного диска на сервере, но это не вариант для меня.

Итак, мой вопрос, какие есть другие варианты для меня? Могу ли я использовать UNC-пути для доступа к своим файлам или что-то еще?

Файлы, к которым я хочу получить доступ, представляют собой обычные текстовые файлы с разделителями-запятыми и символом новой строки.

(Я видел несколько схожих вопросов с моими, но, похоже, что сервер специфичен или специфичен для их конкретных проблем. Также ни на один из их вопросов не было ответа.)

1 ответ

На самом деле подключенный диск также не будет работать, потому что учетная запись SQL запускается по умолчанию (локальная система, если я помню) не будет иметь доступа к сети.

Таким образом, более надежный способ сделать это, безусловно, с UNC-путем, но есть и другие! (Я делал это несколько раз, когда мне нужно было перемещать резервные копии базы данных и регистрировать резервные копии на серверах для зеркалирования).

Как?

  1. На компьютере с SQL-сервером И на другом сервере, на котором будет размещен общий ресурс, создайте нового пользователя (одно и то же имя пользователя и пароль на обеих машинах) - при условии, что вы не используете AD. Пользователь не должен входить ни в какие группы, кроме группы пользователей, но он должен называться одинаково на обоих серверах, и пароль должен совпадать.

  2. На компьютере с сервером SQL измените учетную запись, под которой работает SQL SERVER. Это делается в инструменте конфигурации сервера SQL. Не пытайтесь сделать это самостоятельно через службы Windows. Выберите пользователя, которого вы создали в № 1 выше. Обратите внимание, что вы должны ввести PW. Перезапустите SQL после его изменения и убедитесь, что SQL по-прежнему работает нормально. Он должен работать так же, как и раньше, но теперь он работает как отдельный пользователь со всеми разрешениями этого пользователя (которые на самом деле очень ограничены, но, по крайней мере, пользователь может получить доступ к сетевым ресурсам).

  3. На удаленном сервере убедитесь, что у нового пользователя есть разрешения NTFS на папки, в которых будет размещен ваш общий ресурс. Возможно чтение / запись или просто чтение, если SQL только читает данные.

  4. На удаленном сервере создайте общий ресурс, указывающий на соответствующую папку, для которой вы установили разрешения выше. Если вы используете разрешения общего ресурса, убедитесь, что новый пользователь также имеет разрешения для общего ресурса (а не только для NTFS на диске).

После того, как все это настроено, ваши сценарии SQL просто используют UNC-путь, который указывает на удаленный общий ресурс, и, поскольку SQL работает "как" пользователь с доступом к этому общему ресурсу, SQL увидит файлы просто отлично!

Другие вопросы по тегам