2024年4月17日发(作者:)
解决此问题有两种方法:
第一种方法
先停止服务器服务,双击主机屏幕右下角的的图标,弹1. 出
界面选停止,再弹出的选项选择是。
2.解压data压缩包(没有的可以咨询售后服务人员),复制文
件夹里所有文件,然后进入D盘,D:Program FilesMicrosoft
SQL
ServerMSSQLData 这个路径,粘贴刚才复制的所有文件,
提示替换时选全部。
重新点击这个图标,弹出界面选,开始/3.继续,等图标变成
绿色三角即可关掉。
重新打开管理系统即可正常使用。
1
第二种方法第一步:
首先打开企业管理器,位置:服务器这台机器(也就是主机)
开始-程序-Microsoft SQL Server-企业管理器
依次点开-控制台根目录- Microsoft SQL Server- Microsoft
SQL组-(local)(Windows NT)-安全性-登录
2
sa项目,双击,弹出界面然后选中右面出现的
,1步数据库选项选成myhis第 2步密码选项删除掉密码,
然后点保存第
弹出选项不填写,直接点确定。此时,如果点确定之后界
面直接消失,则程序可以正常使用了。 就不需要操作第二
步了。第二步
如果弹出
3
错误2812:未能找到存储过程'sp_password'字样
服务器这台机器(也就是主机)开始
,位置:查询分析器”
“则
打开
-程序-Microsoft SQL Server-查询分析器
弹出界面如下图,直接点确定进入,
如果提示错误,则选中SQL Server身份验证(Q)再点确定进入
4
弹出界面如下
在红线箭头位置的光标处粘贴如下代码
create procedure sp_password
@old sysname = NULL, -- the old (current) password
@new sysname, -- the new password
@loginame sysname = NULL -- user to change password on
as
-- SETUP RUNTIME OPTIONS / DECLARE VARIABLES --
set nocount on
5
declare @self int
select @self = CASE WHEN @loginame is null THEN 1 ELSE 2 END
-- RESOLVE LOGIN NAME
if @loginame is null
select @loginame = suser_sname()
-- CHECK PERMISSIONS (SecurityAdmin per Richard Waymire) --
IF (not is_srvrolemember('securityadmin') = 1)
AND not @self = 1
begin
dbcc auditevent (107, @self, 0, @loginame, NULL, NULL, NULL)
raiserror(15210,-1,-1)
return (1)
end
ELSE
begin
dbcc auditevent (107, @self, 1, @loginame, NULL, NULL, NULL)
end
-- DISALLOW USER TRANSACTION --
set implicit_transactions off
IF (@@trancount > 0)
begin
raiserror(15002,-1,-1,'sp_password')
return (1)
end
-- RESOLVE LOGIN NAME (disallows nt names)
if not exists (select * from where
loginname = @loginame and isntname = 0)
begin
raiserror(15007,-1,-1,@loginame)
return (1)
end
-- IF non-SYSADMIN ATTEMPTING CHANGE TO SYSADMIN, REQUIRE PASSWORD
(218078) --
if (@self <> 1 AND is_srvrolemember('sysadmin') = 0 AND exists
(SELECT * FROM WHERE loginname = @loginame and isntname = 0
AND sysadmin = 1) )
SELECT @self = 1
-- CHECK OLD PASSWORD IF NEEDED --
if (@self = 1 or @old is not null)
if not exists (select * from
where srvid IS NULL and
name = @loginame and
6
( (@old is null and password is null) or
END)) 0 1 ELSE WHEN (CASE xstatus&2048 = 2048 THEN (pwdcompare(@old,
password,
= 1) ) )
begin
raiserror(15211,-1,-1)
return (1)
end
-- CHANGE THE PASSWORD --
update
getdate(), = convert(varbinary(256), pwdencrypt(@new)), xdate2 set
password =
xstatus = xstatus & (~2048)
where name = @loginame and srvid IS NULL
-- UPDATE PROTECTION TIMESTAMP FOR MASTER DB, TO INDICATE SYSLOGINS CHANGE
--
exec('use master grant all to null')
-- FINALIZATION: RETURN SUCCESS/FAILURE --
if @@error <> 0
return (1)
raiserror(15478,-1,-1)
return (0) -- sp_password
粘贴完毕后,点击红圈里的绿色三角的运行符号,
提示命令已成功完成。关掉查询分析器,再重复第一步操作即可。
7
8
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713348494a2231173.html
评论列表(0条)