Я использую эту строку соединения без проблем для ряда баз данных и операционных систем MS. Windows Server 2003, 2008 R2 и 2012 R2 Eval, все версии Express.SQL Server 2008 R2 на сервере Server 2012 R2 проблема с подключением к веб-сайту
Теперь я пытаюсь установить новую установку Windows Server 2012 R2, и я получаю некоторые ошибки. У меня установлена SQL Server 2008 R2 на машине Windows Server 2012 R2.
Моя жулик строка:
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\myDB.mdf;Integrated Security=True;User Instance=False" ProviderName="System.Data.SqlClient"
Я думаю, что это должно быть что-то делать с последовательностью установки компонентов на новом сервере.
В прошлом я мог просто скопировать myDB.mdf
на любой веб-сервер и открыть или получить доступ к таблицам БД. Эта БД включает членство ASP для веб-сайта, к которому он привязан.
Здесь ошибка:
CREATE DATABASE permission denied in database 'master'. An attempt to attach an auto-named database for file C:\inetpub\techTran\App_Data\myDB.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.Data.SqlClient.SqlException: CREATE DATABASE permission denied in database 'master'.
Я думал, что я понял, в чем эта ошибка. Я проверил разрешения, и они соответствуют другим серверам, на которых была развернута эта база данных. Мои установки SQL Server в основном все одинаковы. Единственное отличие здесь в том, что это Windows Server 2012 R2 на виртуальной машине. Или я не устанавливал SQL Server 2008 R2 так же, как я сделал в последних 5 серверах, которые я установил. (Вероятно, это, вероятно, так и есть.)
UPDATE: Удаленный и переустановленный SQL Server и SSMS.
Я знаю, что на сервере есть только одно имя базы данных, которое называется myDB.mdf
, поэтому я не верю части ошибки «того же имени». Я добавил безопасность в db, чтобы ее можно было открыть, и я даже установил Visual Studio 2012 на сервер, чтобы убедиться, что db можно открыть. Я могу запустить полное приложение на localhost (сервер 2012), но я не могу получить к нему доступ через веб-соединение.
Я считаю, что конкретное сообщение об ошибке, относящиеся к
CREATE DATABASE permission denied in database 'master'
является проблемой.
Я никогда не видел эту ошибку раньше.
Я обычно назначаю NETWORK SERVICE
учетную запись в базу данных, чтобы разрешить доступ, и именно так она настроена. Я также подумал, что это может быть проблема с строкой соединения. Но эта же строка уже работала на 4 разных серверах без изменений. Server 2003, 2008 R2 и 2012 (демонстрационная платформа) (все экспресс-версии), теперь в производстве это не работает.
Начальная страница загружается, а затем логин выдает указанную выше ошибку.
Подождите, откуда берется сервер 2003? Ранее вы сказали, что все они устанавливаются на [Windows Server 2008 R2] (http://stackoverflow.com/questions/29518829/security-principals-missing-in-sql-server-2008-r2)? Как я уже говорил, было значительное изменение между тем, как работают учетные записи службы (https://msdn.microsoft.com/en-us/library/ms143504 (v = sql.110) .aspx # New_Accounts) после Windows Server 2008 R2. Сервер 2003 также значительно отличается. –
Создает ли ваше приложение базу данных, если она не может получить к ней доступ? Вы фактически скопировали базу данных из старой системы в новую систему? Вы проверили, что [серверные логины и пользователи базы данных по-прежнему правильно отображаются) (https://msdn.microsoft.com/en-us/library/ms175475 (v = sql.105) .aspx)? –
Итак, у меня SQLSERVER 2008 R2, работающий на Server 2003, 2008 и 2012. Эта база данных находится в папке app_Data веб-сайта. У меня есть разные версии IIS, запущенные на каждом сервере. Я смог скопировать базу данных в любую папку app_data и получить доступ к БД через экран входа в веб-сайт. Сервер 2003 - это текущие системы prod и dev environment 2. Протестировалась миграция в 2008 году и решила окончательно перейти на 2012 год. На сервере Dev 2012 все работает и работает отлично. – htm11h