SQL-server и база данных на внешнем носителе

1. foxey 4 30.12.15 12:28 Сейчас в теме
При создании новой базы данных в Microsoft SQL Server Management Studio на закладке "Файлы" новой БД можно указать путь и имя файла, где будет храниться база и лог к ней. Но там разрешается выбор только фиксированных дисков, установленных на серве. А хотелось бы указать на другое сетевое хранилище. Что-то типа "\\File-storage03\base03.mdf".
Если прописать ручками подобный путь, валится при создании БД.
Пробовал подключить в Windows сетевой диск, нет эффекта - не видит в SQL и валится при создании БД.
SQL Server 2008 R2.
Есть какие-нибудь советы, как выйти из положения?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. CaptainMorgan 30.12.15 13:01 Сейчас в теме
(1) Подключи внешнее хранилище как сетевой диск.
Назначь ему локальное имя, к примеру диск D:
и скорми его SQL серверу.
Вот только в таком случае скорость работы СУБД будет очень низкая и возможно очень неустойчивая.

Когда-нибудь пробовал скинуть файл по сети?
Замечал, что тот же самый файл между папками одного диска пролетает гораздо быстрее.
Вот и тут тот же самый случай.
3. foxey 4 30.12.15 13:06 Сейчас в теме
(2) CaptainMorgan,
Пробовал подключить в Windows сетевой диск, нет эффекта - не видит в SQL и валится при создании БД.

Как правильно скормить сетевой диск SQL?
5. CaptainMorgan 30.12.15 13:25 Сейчас в теме
(3) А точно, точно.
SQL сервер не дает использовать сетевые диски. Скорее всего такое поведение программы объяснимо.

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

Если очень нужны подобные тестовые результаты. Попробуйте найти старинный IDE диск или подключите по USB флэшку.
Тормоза будут обеспечены и соответственно, примерные результаты.
12. alexx2510 38 11.01.16 13:03 Сейчас в теме
(1) foxey, в 2008 R2 вроде бы уже нет запрета на создание БД на сетевом диске.
вот здесь описан пример как создать базу на сетевом диске:
http://blogs.msdn.com/b/varund/archive/2010/09/02/create-a-sql-server-database-on-a-network-shared-drive.aspx
13. foxey 4 11.01.16 13:41 Сейчас в теме
(12) alexx2510, вот это уже интересно! Погружаюсь в прочтение статьи. Спасибо большое за ссыль!
4. foxey 4 30.12.15 13:07 Сейчас в теме
А по поводу скорости и неустойчивости - мне как раз и необходимо провести сравнительный анализ возможности такого подключения.
6. foxey 4 11.01.16 11:43 Сейчас в теме
А вот посмотрите, что я нашел на сервере MS:
В такой ситуации свойство DbStorageLocation базы данных позволяет администратору базы данных служб Службы Analysis Services указать расположение базы данных на локальном или сетевом диске.

Я там подчеркнул в конце ключевые слова. Правда, речь в статье идет о SQL Server 2014. А у меня - 2008.

Вопрос к уважаемым пользователям SQL Server 2014 - можно ли при создании БД указать путь на сетевой диск? Или его (если верить данной статье) можно только изменить на диск сетевой?

Попробуйте в Management Studio создать новую БД (только начальный этап пройти, саму базу можно и не создавать) и указать место хранения базы на сетевой диск. Получится или нет?
7. Xershi 1487 11.01.16 11:48 Сейчас в теме
Скорее всего тут такая же шляпа как и при работе по ком. Скуль запускается на ПК под системной учеткой, а эта учетка ничего не знает о хранилищах из вне ПК, вот и валится!
Поэтому вывод ставить скуль на ПК, где будет база лежать физически!
8. foxey 4 11.01.16 12:04 Сейчас в теме
Передо мной стоит задача - разгрузить сервер на котором крутится сервер терминалов, SQL-сервер и сервер 1С.
Было бы очень красиво разместить SQL-сервер на другом физическом сервере, а вот файлы базы данных хранить на первом. Сервера соединены оптикой, скорость гигабитная. Вот и хочу узнать опыт других в подобной настройке.
9. Frogger1971 11.01.16 12:15 Сейчас в теме
(8) foxey, а не проще ли перенести сервер 1С и Сиквелл вместе с файлами и разгрузить терминальный, т.е. как книжка пишет от МС
10. foxey 4 11.01.16 12:32 Сейчас в теме
(9) Frogger1971, Так-то оно проще, только вот есть одно но...
У меня есть два физических сервера, они разнесены территориально и соединены оптикой. Имеют свои имена и ip-адреса в одной подсети.
Задача:
1. Иметь рабочую 1С-станцию (назовем её Рабочий сервер), с которой работают все через терминальный доступ.
2. Должна быть резервная 1С-станция (назовем её Чистый сервер), с которой возможна работа через терминалку в экстренном случае.
3. При работе 1С на Рабочем сервере время от времени выполняет выгрузки "правильных" данных в 1С на Чистом сервере.
4. В случае наступления экстренного случая, Рабочий сервер обесточивается, терминальные соединения разрываются. Скрипт подключения терминалки, не видя Рабочего сервера, подключает всех на терминалку Чистого сервера, тот уже работает со своей 1С, своим SQL и своими "правильными" БД.

Состав программ на обоих серверах одинаков. SQL server, 1C-сервер с толсто/тонкими клиентами, терминальный сервер.

Вероятность наступления экстренного случая минимальна, но она не равна нулю. Посему хотелось бы несколько разгрузить Рабочий сервер вынесением SQL на другой сервак.
11. Frogger1971 11.01.16 12:40 Сейчас в теме
(10) foxey,как вариант построение кластера из серверов на уровне ОС, а то у вас получается, что резервный сервер стоит без дела, тогда одним тонким моментом будет поднятие последнего бекапа при падении основного сервера
14. AlexInqMetal 77 11.01.16 13:45 Сейчас в теме
(10) foxey, а где в этой схеме у вас требуется работа sql с сетевым диском? похоже что вам нужно смотреть в сторону кластеризации сервера 1С или репликации средствами sql.
15. foxey 4 11.01.16 14:14 Сейчас в теме
(14) AlexInqMetal, если удалить SQL из состава Рабочего сервера, а файлы базы данных SQL хранить на Рабочем.
Т.е. схема должна выглядеть так:
1. Рабочий сервер: Терминалка, 1С-сервер.
2. Чистый сервер: Терминалка, 1С- сервер, SQL-сервер (файлы данных лежат на Рабочем сервере и на Чистом).
Вот во 2 пункте и появляются сетевые пути.
16. AlexInqMetal 77 11.01.16 14:22 Сейчас в теме
(15) foxey,
файлы данных лежат на Рабочем сервере и на Чистом
а зачем?

ситуация 1. упал рабочий сервер, работает чистый сервер с базами что лежат на чистом сервере, базы на сетевом диске не доступны.
ситуация 2. упал чистый сервер, рабочий сервер не может работать так как нет sql. то есть какой смысл в сетевом пути, можно просто отправлять резервные копии по сети. все равно для того чтоб все заработало нужно будет ручками поработать.
17. foxey 4 11.01.16 14:41 Сейчас в теме
(16) AlexInqMetal, Александр, Вы немного не поняли назначение серверов... В данном случае не строится отказоустойчивая система серверов. Тут несколько иное... Гхм...
В общем, недавний случай из жизни дружественной компании, работающей неподалеку от нас - пришли ребята в черных масках, нашли кабинет бухгалтерии, помахали автоматами, узнали где стоит сервер, изъяли до выяснения обстоятельств... В результате, сервер так и не вернули, сисадмин заказал новый сервер, еще неделю восстанавливали файлы и БД из бэкапов... Что пытались найти "нехорошие" люди в масках тоже непонятно, но происки конкурентов порой заходят далеко..

Так вот, подобную ситуацию и необходимо исключить.
Рабочий сервер расположен в недосягаемом месте и он работает, пока не поступит сигнал тревожный. Как только, так сразу Рабочий отключается (на нем хранятся файлы БД, которые не надо светить, помните?) и управление передается Чистому, у которого в SQL лежат свои "красивые" БД и ссылки на несуществующий к тому времени путь к файлам с Рабочего сервера. Эти ссылки - есть скользкое место в данной схеме, но пусть для всех это будут ссылки на старую БД, которой нет уже давно...
Работа продолжается на Чистом сервере и в крайнем случае изъятию подвергнется именно он.

Вот как-то так...
18. AlexInqMetal 77 11.01.16 15:17 Сейчас в теме
(17) foxey, ну а чего два sql сервера не поставить?
19. foxey 4 11.01.16 15:55 Сейчас в теме
(18) AlexInqMetal, два сервера SQL и стоит. Но так как SQL на Чистом сервере практически всегда простаивает, то я хотел его и нагрузить обработкой данных из Рабочего сервера.
21. AlexInqMetal 77 11.01.16 16:23 Сейчас в теме
(19) foxey, скорее всего такая разгрузка приведет только к падению производительности, а не наоборот. При небольшом количестве активных пользователей (встречал цифру до 100) shared memory шустрее.

как вариант можно попробовать оставить единственный терминал на чистом сервере, а на рабочем 1c+sql. Написать скрипт который сразу всем юзерам подсовывает конфиг ibases.v8i либо со ссылкой на базу рабочую либо на чистую, вот и все.
22. foxey 4 11.01.16 16:56 Сейчас в теме
(21) AlexInqMetal, тоже вариант. Правда, есть заковыка - у одних пользователей один список баз, у других - другой. Варианта 3-4 списков баз примерно.
Но очень хотелось попробовать вариант с хранением данных на расшаренном диске.
23. foxey 4 11.01.16 17:01 Сейчас в теме
(20) Reaper_1C, спасибо! Но как этот пакет оттуда скачать? Чувствую, что это то, что надо, а взять не могу...
24. Reaper_1C 122 11.01.16 17:10 Сейчас в теме
27. foxey 4 12.01.16 17:07 Сейчас в теме
(24) Reaper_1C, новая загвоздка... Оказывается на Чистом сервере стоит Windows 2003 R2. Смотрю вот, что-то долго ставится iSCSI... А там и винда еще старая...
Вчера подвезли память к серверу, поднял на Рабочем серваке ОЗУ на 16 Гигов, сразу получше всем стало.
Но вариант с iSCSI попробую добить.
25. avadon 11.01.16 17:42 Сейчас в теме
(23) foxey, а у нас почти так и работает. Верится sql 2008 r2, а файлы на внешнем хранилице, который подключен через сеть и выделен как внешний жеский. И все замечательно работает, главное чтобы сеть не подходила. А в чем загвоздка то у тебя?
26. foxey 4 12.01.16 17:03 Сейчас в теме
(25) avadon, я не могу выбрать внешний диск. Только стационарные винчестеры разрешает.
28. JetBrain 78 10.01.19 21:14 Сейчас в теме
(20)спасибо за инфу. толкнул запросом команду DBCC TRACEON (1807, -1) и внешний диск подцепился, только указать путь нужно абсолютный к файлам БД (\\qnap\....).
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот