EF Code First CREATE DATABASE permission denied in database 'master'

天大地大妈咪最大 提交于 2019-12-11 03:23:55

问题


I used code first for create and update database. My update-database commands in package manager worked until yesterday. But today it is not working and has this error: CREATE DATABASE permission denied in database 'master'. I do not any changes on connection string and other config. So I try to Update-database to another project on my system and my windows and I can recreate and update this database without any problem. Can you help me for fix this error?

This is my connection string for project that has problem:

<add name="Default" connectionString="Server=.\sqlexpress; Database=test1; User Id=sa; Password=123456" providerName="System.Data.SqlClient" />

this is my connection string for project that have not problem:

<add name="Default" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=test2;user id=sa;password=123456" providerName="System.Data.SqlClient" />

回答1:


To create the database:

Open the Security folder, then open the Logins folder and select the user account under which you want to create the database. Open the account's Properties, select the Server Roles tab and then select the dbcreator checkbox (sysadmin works even better). You can also try to create the database while logged in under the standard administrator account, sa.




回答2:


I found my solution.

I have 4 project in the solution. but when I try to update-database, the web project does not set as start up project. so I set this project to start up project and I can update-database.




回答3:


To create databases on a database server, you must authority. Hence, the username you are using must have permission to create database on the server. You Database administrator (DBA) will grant you the permissions to do so.

In development environment, you can use sa account, which has all the permission to do anything on the server. Even better, if you use localdb for development as it is much light-weight and developer friendly.

So, Basically you need permission in your case to create database in your server. Hope, this helps you someway.




回答4:


You can Use SA Or you can add it (youraccount) to dbcreator or sysadmin roles.

sp_dropsrvrolemember 'Youraccount','sysadmin'

or

sp_dropsrvrolemember 'youraccoount','dbcreator'


来源:https://stackoverflow.com/questions/38891256/ef-code-first-create-database-permission-denied-in-database-master

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!