Как добавить имя пользователя и пароль в sqllocaldb

Я собираюсь начать работу над новым настольным приложением. Я хочу использовать легковесную и автономную базу данных, чтобы использовать SQL LocalDB, но хочу добавить аутентификацию. Там мне нужно имя пользователя и пароль перед доступом к базе данных, но аутентификация там не применяется, пожалуйста, помогите мне, как я могу это сделать.

Если мы не можем добавить имя пользователя, добавить пароль в SQL LocalDB, то, пожалуйста, предложите мне любую другую базу данных, которая будет лучше для меня, а также я могу использовать с этим Entity Framework.

заранее спасибо

2 ответа

Чтобы добавить нового пользователя БД в ваш MSSQLLocalDB вам нужно подключиться к нему и выполнить это:

CREATE LOGIN your_user WITH PASSWORD = 'your_password';
CREATE USER your_user FOR LOGIN your_user;
EXEC sp_addrolemember 'db_owner', 'your_user'

Тогда вы сможете подключиться к MSSQLLocalDB ядро базы данных с SQL Server Authentication используя эти полномочия.

Server name: (LocalDB)\MSSQLLocalDB
Authentication: SQL Server Authentication
User: your_user
Password: your_password

Или вы можете использовать имя трубы экземпляра вместо (LocalDB)\MSSQLLocalDB как Server name (см. ниже, где его взять).

Начальное подключение к вашей локальной БД из SQL Server Management Studio (SSMS)

Изначально для запуска вышеуказанной команды SQL необходимо подключиться к MSSQLLocalDB с Windows Authentication, Вы можете сделать это двумя способами (попробуйте второй, если первый не будет работать по умолчанию).

Используя имя экземпляра

Server name: (LocalDB)\MSSQLLocalDB
Authentication: Windows Authentication

Использование имени канала экземпляра

Из командной строки перейдите в C:\Program Files\Microsoft SQL Server\130\Tools\Binn\ (возможно, вам придется использовать другие версии и заменить \130\ с именем вашей папки) и запустите SqlLocalDB.exe чтобы найти локальные экземпляры БД, у вас есть:

SqlLocalDB.exe i 

Убедитесь, что у вас есть MSSQLLocalDB в списке. Затем запустите эту команду, чтобы увидеть MSSQLLocalDB статус (первая строка) и запуск, если он остановлен (вторая строка):

SqlLocalDB.exe i MSSQLLocalDB
SqlLocalDB.exe start MSSQLLocalDB

Тогда вы можете выполнить SqlLocalDB.exe i MSSQLLocalDB снова, чтобы увидеть имя трубы экземпляра. Что-то вроде этого np:\\.\pipe\LOCALDB#D7900618\tsql\query

Для подключения в SSMS вам нужно ввести:

Server name: np:\\.\pipe\LOCALDB#D7900618\tsql\query
Authentication: Windows Authentication

Просто хочу добавить, что вам нужна роль sysadmin, чтобы вы могли создавать базы данных

используя этот код

ALTER SERVER ROLE sysadmin ADD MEMBER your_user;  
GO 

Использовать этот:

     SqlConnection con = new SqlConnection("Server= localhost, Authentication=Windows Authentication, Database= employeedetails");
     con.Open();

если вы хотите аутентификацию на сервере sql, чем читать это: http://msdn.microsoft.com/en-us/library/ms162132.aspx

Другие вопросы по тегам