在代码中创建数据库登录

Create Database login in code

我有一个创建和使用自己的 SQL Server Express 数据库的应用程序。它在 Windows 7 上使用 SQL Server 2008 Express 工作得很好,但我需要让它在 Windows 10 上与 SQL Server 2014 Express 一起工作,我是出现错误。

我从管理连接字符串开始:

connectionString="Data Source=.\SQLEXPRESS2014;Initial Catalog=master;Integrated Security=SSPI"

然后通过该连接我通过执行创建数据库:

CREATE DATABASE mobile
ON 
( NAME = mobile_dat,
    FILENAME = '...\path\mydb.mdf',
    FILEGROWTH = 5MB )
LOG ON
( NAME = 'mobile_log',
    FILENAME = '...\path\mydb.ldf',
    FILEGROWTH = 5MB );

然后我创建一个用户:

CREATE LOGIN xxx WITH PASSWORD = 'xxx', CHECK_POLICY = OFF;

USE mobile

EXEC sp_adduser 'xxx', 'xxx';

EXEC sp_addrolemember 'db_owner', 'xxx';
EXEC sp_addrolemember 'db_accessadmin', 'xxx';
EXEC sp_addrolemember 'db_securityadmin', 'xxx';
EXEC sp_addrolemember 'db_ddladmin', 'xxx';
EXEC sp_addrolemember 'db_backupoperator', 'xxx';
EXEC sp_addrolemember 'db_datareader', 'xxx';
EXEC sp_addrolemember 'db_datawriter', 'xxx';

此时我断开连接并以新用户身份连接:

connectionString="Data Source=.\SQLEXPRESS2014;Initial Catalog=mobile;User Id=xxx;Password=xxx;"

在 Windows 7 上使用 SQL Server 2008 Express 时效果很好,但在 Windows 10 上使用 SQL Server 2014 Express 时我收到一个错误:

Login failed for user 'xxx'.

关于我遗漏了什么有什么想法吗?

您是否在 SQL Server Express 2014 安装中启用了混合模式身份验证?默认情况下禁用 IIRC。

如果已启用,请使用 Microsoft Management Studio 尝试登录并查看它给您带来的错误。