Как добавить имя пользователя и пароль в 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