2

Visual Studio 2012 Express,EF5,Code First Migrations,Web Publish。CREATE DATABASE權限在數據庫'master'中被拒絕 - 使用Web Deploy,EF Code First,Visual Studio

我做的一個網絡從Windows 8筆記本電腦使用Web部署從Visual Studio 2012

的文件上傳罰款發佈到Windows Server 2008 R2的Web服務器。但是我得到這個錯誤: CREATE DATABASE權限在數據庫'master'中被拒絕

代碼第一次嘗試創建數據庫時。

Web發佈嚮導使用Windows用戶登錄 - 該用戶在主數據庫上具有db_owner權限。

準確地說,我需要做些什麼才能授予CREATE DATABASE權限? (或者看看哪個用戶試圖做到這一點 - 由於某種原因錯誤不報告?!)。

謝謝。

+0

你可以嘗試看看這個http://blogs.msdn.com/b/dparys/archive/2009/09/17/create-database-permission-denied-in-database-master-my- fix.aspx –

回答

9

我剛剛遇到了這個問題,我按照說明here解決了它。實際上,必須先添加「IIS APPPool \ DefaultAppPool」用戶。在添加它時,確保 作爲其「服務器角色」,它是「系統管理員」。

+1

這對測試服務器來說很好,但我不會建議在生產環境中 - 如果進程在您的數據庫上是sysadmin,那麼您的一個Web應用程序或IIS本身中的漏洞可能會變得更糟糕。 – Nathan

+0

創建數據庫後,您可以刪除權限。僅使用dbcreator角色就足夠了。 –

1

如果您從IIS運行應用程序,則IIS APPPOOL \ {您的應用程序名稱}是嘗試創建數據庫的sql用戶。如果在您的sql server中沒有這樣的用戶,那麼創建一個名稱爲IIS APPPOOL \ {您的應用程序名稱}的服務器角色dbcreator,public和sysadmin。現在我希望你不會看到錯誤,代碼應該先創建數據庫。

相關問題