sql-server – sql登录失败的用户X … Windows身份验证

嘿大家,有麻烦与一些sql和c#交互.我在安装程序中创建DB并从脚本登录,然后实际的客户端程序应该登录,但是每次运行客户端程序时,它会炸弹,并在日志文件中收到此错误. (btw:客户端程序在另一台机器上的预先存在的DB上工作.)

用户’user’的sql登录失败.原因:尝试使用sql身份验证登录失败.服务器仅配置为Windows身份验证. [客户:]
错误18456,严重性:14状态:58

这些是用于创建登录/用户的命令…

CREATE LOGIN [user] WITH PASSWORD='pass',DEFAULT_DATABASE=[data],DEFAULT_LANGUAGE=[us_english],CHECK_EXPIRATION=OFF,CHECK_POLICY=OFF
EXEC sys.sp_addsrvrolemember @loginame = N'user',@rolename = N'sysadmin'
EXEC sys.sp_addsrvrolemember @loginame = N'user',@rolename = N'serveradmin'
USE [data] CREATE USER [user] FOR LOGIN [user] WITH DEFAULT_SCHEMA=[dbo]

我失踪了什么
谢谢您的帮助!

解决方法

您的sql Server实例被设置为仅支持Windows身份验证.您的创建用户脚本正在尝试创建一个sql用户帐户,因为数据库实例仅支持Windows身份验证,因此失败.

要允许您的数据库支持您的创建用户语句,请打开SSMS.右键单击您的服务器,然后单击属性.转到安全选项卡,并将您的服务器身份验证从Windows身份验证模式更改为sql Server和Windows身份验证模式.

一旦完成,您的脚本应该可以正常工作.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...