masoud noursaid
masoud noursaid

Reputation: 65

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

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" />

Upvotes: 2

Views: 11792

Answers (4)

masoud noursaid
masoud noursaid

Reputation: 65

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.

Upvotes: 3

user6694875
user6694875

Reputation:

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

sp_dropsrvrolemember 'Youraccount','sysadmin'

or

sp_dropsrvrolemember 'youraccoount','dbcreator'

Upvotes: 0

vivek
vivek

Reputation: 1605

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.

Upvotes: 0

Parth Patel
Parth Patel

Reputation: 3997

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.

Upvotes: 2

Related Questions