Заменить SQL Compact на SQL LocalDB на клиентских компьютерах с интегрированной безопасностью = False


Microsoft устарел SQL Compact, поэтому я хотел бы заменить его SQL LocalDB на клиентских компьютерах.

При использовании "Integrated Security = True" замена прекрасно работает на клиентских машинах, но как только я устанавливаю "Integrated Security = False", то я получаю

Ошибка входа для пользователя 'TestUser'

Я не могу использовать интегрированную безопасность на клиентах.
Они не должны иметь возможности получить доступ к базе данных, не зная имя пользователя / пароль, который имеет уже зашифровано в их машине.конфиг.

Я создал логин в VS следующим образом:

CREATE LOGIN TestUser WITH PASSWORD = 'asdfsdfasdf';
GO
CREATE USER TestUser FOR LOGIN TestUser WITH DEFAULT_SCHEMA = [dbo];
GO 
exec sp_addrolemember 'db_owner', 'TestUser'
GO

Строка соединения выглядит примерно так:

<add name=" ConnectionStringName" 
    connectionString="Data Source=(LocalDB)v11.0;
        AttachDbFilename=|DataDirectory|TEST.mdf; 
        Integrated Security=False; User Id=TestUser;
        Password=asdfsdfasdf"
    providerName="System.Data.SqlClient" />

Я опубликовал этот аналогичный вопрос на форумах MSDN, но я не получаю хороших ответов.
Кроме того, похоже, что есть аналогичные вопросы по stackoverflow, но нет хороших ответов.
LocalDB и Entity Framework 6-безопасность
соединение LocalDB с интегрированной безопасностью=False

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

На мой взгляд, это кажется нелепым, что Microsoft откажется от проблем безопасности в LocalDB, оставив включенной интегрированную безопасность.
Любой мог бы найдите базу данных, скопируйте ее на свой компьютер, а затем используйте инструменты SQL для чтения базы данных, даже не зная имени пользователя / пароля.
1 2

1 ответ:

Согласно документации MSDN:

Вы должны использовать интегрированную безопасность при использовании LocalDB или Вариант ключевое слово attachdbfilename.