sql本地数据库登录不了的话。先看看自己计算机 服务 SQL server (MSSQLSERVER) 没有打开的话,请打开。
今天说的情景模式是 你误删了windows登录;禁用了sa登录;sa密码忘记了;或是你计算机名字被公司修改了,老的名字忘记了;又或是你用的别人的之前安装好的SQL数据库,终归,你本地数据库登录不了,用不了,拉了胯。
1. 先停了SQL ,打开命令提示符,执行net stop mssqlserver 就好了。你去计算机服务里面停也行。都可以. sql server broswer不能关,一直开着
2.找到你的SQL安装位置。sqlservr.exe (找不到可以全局搜索) 输入路径 加上 /m /f 表示以最少的配置启动SQL Server实例,会自动将服务器置于单用户模式
3.打开sql数据库的新建查询,执行以下代码
sp_configure 'show advanced options',1 reconfigure --打开xp_cmdshell功能 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35) @configvalue = 1 -- int RECONFIGURE WITH override --修改注册表,修改身份验证为混合验证方式 USE [master] GO EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SoftwareMicrosoftMSSQLServerMSSQLServer', N'LoginMode', REG_DWORD, 2 GO --创建登录名 DESKTOP-9JU2DAT 为我本地计算机名 CREATE LOGIN [DESKTOP-9JU2DATAdministrator] FROM WINDOWS; GO --赋予登录名的权限为sysadmin DESKTOP-9JU2DAT 为我本地计算器名 USE master GO EXEC [sys].[sp_addsrvrolemember] @loginame = 'DESKTOP-9JU2DATAdministrator', -- sysname @rolename = sysadmin -- sysname --关闭xp_cmdshell功能 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35) @configvalue = 0 -- int RECONFIGURE WITH override
意思是 修改注册表。然后在创建新的windows身份验证
OK,完事儿
关闭一下SQL Server。并重启sql Server (MSSQLSERVER)
直接windows 身份验证登录
两三行代码,慢慢发现编程的乐趣。。