Сбой не удалось создать экземпляр опубликованного приложения на сервере
Я пытаюсь подключиться к МДФ. Я даже дошел до полной переустановки sql server express (теперь это единственный вариант SQL, установленный на моем компьютере, где раньше у меня было 05 dev и express). Я убедился, что все пути верны, и пока мой гугл-фу не помог.
Не удалось создать пользовательский экземпляр SQL Server из-за сбоя при запуске процесса для пользовательского экземпляра. Соединение будет закрыто.
Дополнительная информация:
Некоторые ссылки на эту ошибку, которые я нашел в Интернете, не относятся ко мне. Например, я видел, когда эта ошибка возникает при попытке запустить экземпляр пользователя через удаленный рабочий стол (я делаю это локально). В то время как другой предполагает, что это связано с файлами, оставшимися от старой экспресс-установки . Я просмотрел предписанные места и не нашел этих артефактов. Я также пробовал запустить sp_configure 'user instances enabled', '1' , но он сказал, что он уже установлен на 1.
Ок, теперь работает! думаю, это была сложная проблема . шаги, которые я предпринял для ее решения, таковы:
- Изменено следующее свойство в строке подключения (обратите внимание на небольшую разницу): AttachDbFilename=|DataDirectory|CustomerDb.mdf;
- Удалено содержимое следующего каталога: c:\Users\<user name>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS . Я думал, что искал это раньше, но на самом деле я заглянул в папку Microsoft Sql Server . Опять же, тонкая разница.
Как только я сделал эти две вещи, соединение начало работать :-D
Супер классно. Это тоже помогло мне! Я искал несколько статей, и все они почему-то ошиблись. Важная часть - это AppData в вашей пользовательской папке. Спасибо, что спасли меня от сумасшествия! Ничего не стоит этот пост в результатах появляется как «структура сущности». Я использую LINQ to SQL (не Entity Framework) и обновился до SQL Server Express R2, и на шаге 2 моя проблема была устранена. Ни один из моих проектов Visual Studio не мог подключиться к SQL Express после обновления до выполнения этого исправления. Конкретная структура не имеет значения - это, похоже, общая проблема SQL Server Express. Спасибо! На самом деле я почти собирался выполнить чистую установку Windows, когда обнаружил, что №2 все исправил, спасибо Джоэл. Аналогично на №2 - проверял какой-то старый MS voo-doo. Я сделал №2, теперь я получаю следующую ошибку: «Ошибка, связанная с сетью или конкретным экземпляром, произошла при установлении соединения с SQL Server. Сервер не был найден или был недоступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (Поставщик: Сетевые интерфейсы SQL, ошибка: 26 - Ошибка при обнаружении сервера / указанного экземпляра) ». Я даже больше не могу получить доступ к SQL-серверу из SSMS . очень жалею, что попробовал это прямо сейчас.У меня возникла та же ошибка, когда я перенес код с одной машины на другую. Я использую VS2010, и вместе с ним поставляется SQLEXPRESS 2008.
Уловка, удаление всего содержимого из следующей папки "C: \ Users \ UserName \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS", сработало для меня.
Почти уверен, что в этой папке были файлы из более старой версии sql express.В дополнение к другим решениям здесь это также может быть полезно. Убедитесь, что пул приложений работает как сетевая служба, а не ApplicationPoolIdentity.
Как отмечали другие, удаление содержимого каталога: c: \ Users \\ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS решило эту проблему для меня. Примечание, которое может помочь другим, в Windows 7 при просмотре каталога c: \ users \ username из браузера документов не отображается папка AppData, которая на какое-то время сбивала меня с толку (поскольку я думал, что у меня не было каталога AppData) до тех пор, пока Я обнаружил, что он действительно существует (но не отображается в браузере документов в Windows 7), вам просто нужно ввести полное имя пути, чтобы добраться до него.
Это просто скрытый приятель, перейдите в инструменты -> показать скрытые файлы и папки, будет работатьЯ исправляю эту проблему с помощью своего mdf-файла в приложении Windows Forms, и я просто перезагружаю свой компьютер, и моя проблема решена.
Просто зайдите в файл web.config. Измените в 'Connection String' на ". . / . / . . ; Пользовательский экземпляр = Ложь '"
Да, это может вызвать некоторые проблемы с безопасностью, но для некоторых практических проектов школы / колледжа (что было в моем случае) это может запустить ваш проект.
изменить с User Instance = True на User Instance = False в web.config
Я столкнулся с проблемой, когда использовал SqlLocalDB и SqlExpress. Причина проблемы: Когда я подключаюсь к localdb из Visual Studio, для него запускается экземпляр LocalDB, который работает как наша учетная запись Windows. Но когда веб-приложение, работающее в IIS как «Сетевая служба» или «AppPoolIdentity», подключается к LocalDB, для него запускается другой экземпляр LocalDB, который работает как «Сетевая служба» или «AppPoolIdentity». В результате, хотя и Visual Studio, и веб-приложение используют одну и ту же строку подключения LocalDB, они подключаются к разным экземплярам LocalDB. Очевидно, что база данных, созданная из Visual Studio в нашем экземпляре LocalDB, не будет доступна в экземпляре LocalDB веб-приложения. Решение: Итак, здесь я перечислил решения для обоих случаев (например, SqlExpress и LocalDB). Если мы используем LocalDB в качестве источника данных:
- Установите удостоверение пула приложений как «Сетевая служба»
- Обновите файл applicationHost.config , включив в него выделенные ниже настройки:
- Измените SqlLocalDB как общий экземпляр, выполнив приведенную ниже команду в CMD.exe в режиме администратора. Общий ресурс SqlLocalDB.exe "MyLocalDB" "MySharedLocalDB"
- Поскольку я размещаю приложение в IIS, я удостоверяюсь, что учетная запись "NT AUTHORITY \ NETWORK SERVICE" имеет доступ на чтение и запись к корневой папке приложения, чтобы избежать исключения "Доступ запрещен" и включить учетную запись как Системный администратор для доступа к SqlInstance, выполнив приведенный ниже SQL-запрос exec sp_addsrvrolemember 'NT AUTHORITY \ NETWORK SERVICE', системный администратор
Если мы используем SqlExpress в качестве источника данных:
1.Убедитесь, что строка подключения имеет правильное значение, как показано ниже: \ AppData \ Local \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS.
Я начал получать эту ошибку сегодня утром в тестовой среде развертывания. Я использовал SQL Server Express 2008, и ошибка, которую я получал, была
«Не удалось создать пользовательский экземпляр SQL Server из-за сбоя при запуске процесса для пользовательского экземпляра. Соединение будет закрыто».
Для меня уловка заключалась в том, чтобы изменить строку подключения с
Итого как я начал свое изучение работы системы Server 2012 R2 Std меня пока многое не радует, а именно то что вроде как сложнее стало использование RemoteAPP и разворачивание терминального сервера на этой оси, но отступать ни в коем случае нельзя. Хоть и не удобно работать пока во всяком случае, а изучать нужно — это и повышение квалификации и новые требования к соискателям, да и переходить на новый функционал также необходимо или по крайней мере иметь ввиду. Вот сейчас я для себя разберу как создать свое приложение на терминальном сервере и опубликовать его во всех шагах с которыми мне пришлось столкнуться.
По правильному все нужно настраивать самим чтобы быть уверенным в используемом конечно если Вы такой же как и я ответственный системный администратор.
Как Вы уже помните в прошлой заметке когда я знакомился с RemoteAPP по умолчанию для всех пользователей домена создана коллекция с дефолтным именование: QuickSessionCollections, так вот ее нужно будет удалить.
Вот теперь уже лучше ничего дефолтного нет, начну пожалуй с создания своей собственной коллекции. Все также находясь в апплете Remote Desktop Services — Collections — TASKS — Create Session Collection и передвигаюсь за мастером настройки по шагам:
Before You Begin, Next
Collection Name:
- Name: → polygon
- Description: → кто как хочет я же люблю чтобы все было подписано.
И нажимаю Next
RD Session Host:
выделяю текущий сервер и нажатием по стрелочке предопределяю что система выбрана в пуле;
И нажимаю Next
User Groups: нужно указать на кого будет распространена новая коллекция, либо на пользователя и/или же на группу, либо на всех пользователей домена. Лучше будет если только тем кому надо предоставлен доступ, так правильнее.
И нажимаю Next
User Profile Disks: можно указать местонахождение профиля пользователя и его размер, в моей задачи это пока не требуется, а потому я снимаю галочку Enable user profile disks
И нажимаю Next
Confirmation: проверяю по результирующему выводу настройки сделанные выше и если все OK, то нажимаю Create
Ожидаю когда моя коллекция — polygon создастся
И нажимаю Close
Теперь когда коллекция создана пора переходить к созданию приложения.
RemoteApp Programs: в правой части будут указаны все приложения которые установлены на данном терминальном сервере если же в списке не оказало того которое необходимо его можно добавить — Add…
(Установил клиент 1С на терминальный сервер версию клиента 8.2.19.121)
у меня при указании местонахождения исполняемого файла 1С => 1cv8.exe сработал аларм о не возможности :
Дело в том, что я указал путь просто: C:\Program Files (x86)\1cv82\8.2.19.121\bin\1cv8.exe (как я думал наивно что это: 1C Enterprise 8 (thin client), а это не правильный формат об этом как раз ошибка и говорит, нужно указать путь вот в таком вот формате:
\\srv-serv.polygon.local\c$\Program Files (x86)\1cv82\common\1cestart.exe
добавленное приложение будет отмечено в списке как показано на представленном ниже скриншоте
И нажимаю Next
Confirmation: проверяю и после нажимаю Publish
Completion: если Вы как и Я видите надпись: The selected RemoteApp programs were published successfully for the polygon collection , то значит Вы только что опубликовали свое первое приложение.
И нажимаю Close
Теперь проверяю с клиентской станции собственно как выглядит подключение к рабочей области (об это я уже говорил в прошлой заметке) и запуск опубликованного приложения в виде 1С клиента):
Когда мы запускаем приложение, то в правом нижнем углу экрана возле часов появляется пиктограмма указывающая, что сейчас мы работаем на удаленном терминальном сервере:
И вот оно долгожданное окно первого запуска клиента 1с, раз первый раз пользователь alektest запускает клиент то он не настроен ни на какой кластер 1с, настроив раз больше уже не понадобиться.
Настроив клиент и авторизовавшись при подключении у кластера 1С получаем запущенное приложение как будто бы оно было запущено локально за одним лишь исключение, что ресурсов на терминальном сервере много больше чем на рабочей станции.
На заметку: первый раз потребуется ввести доменные административные идентификационные данные дабы на сервер прописались ключи и файлы защиты для этого будет выведено специальное окно ввода логина и пароля.
Пример запущенного клиента 1С — он ничем не отличается от локального запуска:
Это конечно все хорошо, а как быть на других рабочих местах, что каждый раз заходить по URL ссылке и оттуда запускать, вот бы как ранее экспортировать приложение в виде rdp или msi файла. Загвоздка вот в чем, в оснастке Server Manager на терминальном сервере данная функциональная возможность не предусмотрена, а потому дальнейшие шаги проделываем на самом сервере:
Win + X — Control Panel — RemoteApp and Desktop Connections — Access RemoteApp and desktops — указываю URL подключения вида:
и нажимаем Next, Next вот только не все так просто как кажется на первый взляд, удаленный компьютер отверг мое подключение:
- Certificate name: srv-serv.polygon.local
- Password: 712mbddr@
Allow the certificate to be added to the Trusted Root Certification Authorities certificate store on the destination computers отмечаю галочкой
Store this certificate: Отмечаю галочкой и указываю путь где куда его нужно сохранить на сервере дабы потом распространить на рабочие станции
Certificate path: c:\srv-serv.pfx
По такому же принципу можно создать сертификаты и для остальных ролей сервисов RD
И нажимаю OK — Apply
И нажимаю OK
Далее повторяем шаги по подключению через Панель управления на самом сервере к RemoteAPP (Control Panel — RemoteApp and Desktop Connections) и вот уже другое разнообразие запрашивается
И вуаля все проходит успешно
Нажимаю Finish
И вот к чему я так стремился:
После того, как было настроено удаленное подключение к RemoteAPP в системе становится доступным следующий каталог:
Вот собственно и всё по шагам которые нужно сделать, что опубликовать свое собственное приложение целью которого будет организовать в последствии терминальный сервер с собственным набором приложений которые используют ресурсы самого сервера, а не ресурсы рабочих станций. Да и управлять единым способом намного удобнее чем каждый раз бегать и вручную что-то проделывать. Да интересно, но когда одну и туже операцию проделываешь не один десяток раз хочется добавить в свою жизнь автоматизации. Пока я подведу черту в этой заметке она работоспособна и практична. На этом я прощаюсь и до новых встреч, с уважением автор блога — ekzorchik.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще :)
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
В Windows Server 2012 консоль Server Manager работает таким образом, что при попытке публикации приложения RemoteApp, для которого выбран исполняемый файл расположенный на общем сетевом ресурсе, возникает грозное уведомление о том, что мы можем выбирать исполняемые файлы расположенные только на каком-то конкретном сервере RD Session Host (RDSH)…
На самом деле это не так, и мы вполне можем выполнить публикацию исполняемого файла расположенного в сети с помощью командлетов PowerShell из модуля RemoteDesktop…
Рассмотрим публикацию приложения RemoteApp с помощью PowerShell на примере КонсультантПлюс. Но сначала сделаем небольшое отступление в сторону описания особенностей использования КонсультантПлюс в распределённой многопользовательской среде. В нашем примере исполняемый файл этого приложения ( cons.exe ) расположен вместе с файлами правовых баз данных в общем сетевом каталоге. Нам нужно опубликовать это приложение для пользователей фермы RDS состоящей из нескольких серверов. В ферме RDS используется механизм перемещаемых профилей Roaming User Profiles. Наше приложение для сохранения пользовательских настроек использует специальные служебные каталоги \ConsUserData . Поэтому, учитывая нашу специфику перемещаемых профилей, создадим специальный ярлык (*.lnk) для запуска КонсультантПлюс в ферме RDS в режиме RemoteApp.
Дадим ярлыку имя, например CONS_RemoteApp.lnk и разместим его в той-же сетевой папке, где расположен сам исполняемый файл приложения. В качестве рабочей папки обязательно укажем значение ссылающееся на переменную %AppData% которая указывает на часть пользовательского профиля, которая обрабатывается механизмом Roaming User Profiles (это позволит нам добиться того, что при входе на любой сервер фермы RDS, пользователь будет иметь одни и те же настройки в КонсультантПлюс)
Так как с свойствах ярлыка мы указали каталог ( %AppData%\ConsUserData ), которого не существует для вновь создаваемых профилей пользователей, нам придётся позаботиться о его создании, например с помощью Group Policy Preferences (GPP). Создадим в групповой политике применяемой к пользователям на серверах RDS соответствующую настройку GPP в разделе
User Configuration\Preferences\Windows Settings\Folders
Теперь всё что нам остаётся сделать, это опубликовать созданный ярлык с помощью PowerShell:
Если мы включаем признак публикации приложения на веб-странице RD Web Access и при этом там используются папки, то указать папку в которую нужно разместить ярлык можно добавив к команде ключ:
Если необходимо ограничить доступ к публикуемому приложению, то к команде можно добавить ключ определяющий перечень доменных групп безопасности:
Практика показывает, что на текущий момент, опубликованное таким образом приложения отображаются в консоли Server Manager , но при попытке сохранить изменение их свойств возникает ошибка…
Поэтому, если потребуется изменить свойства такого RemoteApp приложения, путь один – PowerShell.
опубликованные приложения remoteapp не отображаются на странице веб-доступа. иконок приложений нет.
через rdp приложения запускаются норм.
в свойствах wmi root/cimv2/terminalservices указаны Серверы удаленного доступа, серверы конечных точек и серверы управления RDS. разрешения установлены правильные.
Во всех этих группах учетка моего терминального сервера присутствует.
в чем может быть дело, подскажите, пожалуйста?
Добавлено через 7 минут
в свойствах коллекции почему-то чекбокс Показывать коллекцию сеансов в веб-доступе к удаленным рабочим столам неактивен (после публикации какого-нибудь приложения). изменить нельзя
удаляю. создаю коллекцию заново вылезает ошибка:
Не удалось настроить сервер узла сеансов удаленных рабочих столов. Недопустимая операция
p.s. у приложения rdweb должен стоять пул rdwebaccess? и у этого пула удостоверение network service?
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
На главной странице сайта не отображаются картинки записей, а в самой записи все картинки отображаются
Доброго времени суток всем. Помогите пожалуйста разобраться. На главной странице сайта не.
Открытие нескольких веб-страниц, на одной главное веб-странице
Всем доброго времени суток. Перед новым годом, нам всем задали индивидуальные задания, но я.
Элементы не отображаются на странице
Подскажите почему в браузере ничего не отображается? <html> <body> <img width="500" height="200".
Не отображаются записи из БД на странице
Здраствуйте!Помогите разобраться я новичок в этом деле поэтому потихоньку разбираюсь, а проблема.
Не отображаются картинке на странице
Всем добрый вечер! Прошу прощения что обращаюсь к Вам, но видимо этот форум "последняя.
Возможен ли запуск MVC веб приложения без установки веб-серверов?
Есть программа, крутящаяся в виде службы Windows. Для неё есть клиент WinForm обмен с которым идёт.
Читайте также: