当前位置:文档之家› Sql server2000 修改sa密码错误:未能找到sp_password

Sql server2000 修改sa密码错误:未能找到sp_password

Sql server2000 修改sa密码错误:未能找到sp_password
Sql server2000 修改sa密码错误:未能找到sp_password

Sql server2000 修改sa密码错误:未能找到sp_password

修改sa密码方法:

1.打开企业管理器,依次展开服务器组,然后展开服务器。 2.打开“安全性”文件夹,单击“登录”,然后用右键单击“Sa”,执行“属性”命令。 3.弹出“SQL Server登录属性”对话框,在“SQL Server 身份验证”密码栏,输入最新密码。 4.单击“确定”按钮,弹出“确认密码”对话框,再输一遍登录密码。 5.单击“确定”按钮,完成对Sa登录密码的修改。

如图:

如果修改密码不成功,提示:错误2812:未能找到存储过程'sp_password'。

解决办法:

通过“查询分析器”在master库中执行下面语句,即可

--------------------------------------------------------------------------------- SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS OFF

GO

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

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 master.dbo.syslogins 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 master.dbo.syslogins 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 master.dbo.sysxlogins

where srvid IS NULL and

name = @loginame and

( (@old is null and password is null) or

(pwdcompare(@old, password, (CASE WHEN xstatus&2048 = 2048 THEN 1 ELSE 0 END)) = 1) ) )

begin

raiserror(15211,-1,-1)

return (1)

end

-- CHANGE THE PASSWORD --

update master.dbo.sysxlogins

set password = convert(varbinary(256), pwdencrypt(@new)), xdate2 = getdate(), 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

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

清除和修改msde数据库的超级用户(sa)密码的方法

如何清除和修改msde数据库的sa密码 用友软件提示出现以下问题时,可以用本办法: 当客户主机那台电脑上面安装的是MSDE时,万一客户忘掉了MSDE中sa的登录密码时怎么办呢?我们大多会想到重装MSDE,这是其中一种解决办法,但是重装比较麻烦,还要搜索与备份mdf和ldf文件等,有没有一种更简单的方法来找回或者清空MSDE 中sa的密码呢?答案是肯定的。 “SQL Server 桌面引擎”(也叫 MSDE 2000)没有自己的用户界面,因为它主要设计为在后台运行。用户通过 MSDE 2000 嵌入的程序与它交互。随 MSDE 2000 提供的唯一工具是 osql 。可执行文件 Sql.exe 在 MSDE 2000 的默认实例的 MSSQL\Binn 文件夹中。本文重点讨论如何通过使用 osql 工具管理 MSDE 2000。 何为 Osql? osql 工具是一个 Microsoft Windows 32 命令提示符工具,您可以使用它运 行 Transact-SQL 语句和脚本文件。osql 工具使用 ODBC 数据库应用程序编程接 口 (API) 与服务器通讯。 如何使用 Osql? 一般情况下,可以这样使用 osql 工具: ?用户通过与使用命令提示符时相似的方式交互输入 Transact-SQL 语句。 ?用户提交 osql 作业,方法是:?指定单个要运行的 Transact-SQL 语句。 - 或 - ?将该工具指向一个包含要运行的 Transact-SQL 语句的脚本文件。 了解了这些之后,我们就可以利用osql这个命令提示符工具来进行相关的操作。 方法很简单,Follow me: 连接到 SQL Server 桌面引擎 (MSDE 2000) 如要连接到 MSDE 2000,请按照下列步骤操作: 1. 确认 MSDE 2000 正在运行。 2. 在承载您要连接的 MSDE 2000 实例的计算机上打开一个命令窗口。 3. 键入下面的命令,然后按 ENTER 键: osql -E 这可以通过使用 Windows 身份验证将您连接到 MSDE 2000 的本地默认实例。 如要连接到 MSDE 2000 的一个命名实例,请键入: osql -E -S servername\instancename

sa密码忘了如何重置

在SQL Server Management Studio 用WINDOWS连接的情况下改实列的“属性”中“安全性” 选中WINDOWS及SQL验证,再重起SQL服务器后,新建查询,执行下面代码 一、 ALTER LOGIN sa ENABLE GO ALTER LOGIN sa WITH PASSWORD = 'password' GO 二、 ALTER LOGIN [sa] WITH PASSWORD = N'NewPassword' --不用提供旧密码 安装过程中,SQL Server 数据库引擎设置为Windows 身份验证模式或SQL Server 和Windows 身份验证模式 如果在安装过程中选择“Windows 身份验证模式”,则sa 登录将被禁用。如果稍后将身份验证模式更改为“SQL Server 和Windows 身份验证模式”,则sa 登录仍处于禁用状态。若要启用sa 登录帐户,请使用ALTER LOGIN 语句。 安全说明: sa 帐户是一个广为人知的SQL Server 帐户,并且经常成为恶意用户的攻击目标。除非您的应用程序需要使用sa 帐户,否则请不要启用它。为sa 登录名使用一个强密码非常重要。 sa 登录名只能使用SQL Server 身份验证连接到服务器。 更改安全身份验证模式 在SQL Server Management Studio 的对象资源管理器中,右键单击服务器,再单击“属性”。 在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”。 在SQL Server Management Studio 对话框中,单击“确定”以确认需要重新启动SQL Server。

SQL sa密码找回办法地址

今天看到这篇文章没有了SA密码,无法Windows集成身份登录,DBA怎么办?,有思路了 假设我们遇到很糟糕的情况 sa被禁用,服务器身份验证为Windows身份验证模式,Windows登录用户被删,没有其他sysadmin角色的登录用户

步骤一: 停掉SQLSERVER:在命令行 net stop mssqlserver 步骤二: 转到SQLSERVER的安装目录

然后加上/m /f 参数 步骤三:以为单用户模式启动SQLSERVER

步骤四:打开SSMS 这时候一定不要马上进行连接,需要点击取消,然后在左上角的点击新建查询,这个步骤跟DAC(专用管理员连接)的步骤是一样的

你会发现用Windows登录用户这时候可以登录 步骤五:执行下面的SQL脚本 1 --打开xp_cmdshell功 能 2 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', --varchar(35) 3 @configvalue = 1 -- int 4 RECONFIGURE WITH override 5 6 7 --修改注册表,修改身份验证为混合验证方式8 USE [master] 9 GO10 EXEC xp_instance_regwrite N'HKEY_LOC AL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'Login Mode', REG_DWORD, 211 GO12 13 --创建登录名14 CREATE LOGIN [计算机名\Administrator] FROM WINDOWS;15 GO16 17 --赋予登录名的权限为 sysadmin18 USE master19 GO20 EXEC [sys].[sp_addsrvrolemember] @ loginame = '计算机名 \Administrator', -- sysname21 @rolename = sysadmin -- sysname22 23 --关闭xp_cmdshell功能 24 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- v archar(35)25 @configvalue = 0 -- int26 RECONFIGURE WIT H override 这时候身份验证方式已经改为混合验证方式 步骤六:关掉SQLSERVER,再重新启动

清除数据库sa密码

SQLServer2000 的sa密码忘记之后的解决方法 今天,发现我维护的服务器的SQL2000 出错了。前一段时间把服务器的密码告诉了另一个同事,他在上面装了个他做的系统,也不知道被他怎么搞的一下。现在竟然启动企业管理器也连接不上。原来的sa密码也不是我设置的。他说也没有动过SQL2000,真的是麻烦。 以下是我找到的解决方法,但是对于我的机器好象还不太行。 "无法连接到服务器,用户xxx登陆失败" 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式, 因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如下所示: 1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server 2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡 3.在"身份验证"下,选择"SQL Server和 Windows ". 4.重新启动SQL Server服务. 在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败, 那就通过修改注册表来解决此问题: 1.点击"开始""运行",输入regedit,回车进入注册表编辑器 2.依次展开注册表项,浏览到以下注册表键: [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer] 3.在屏幕右方找到名称"LoginMode",双击编辑双字节值 4.将原值从1改为2,点击"确定" 5.关闭注册表编辑器 6.重新启动SQL Server服务. 此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册, 但是仍然无法使用Windows身份验证模式来连接SQL Server. 这是因为在 SQL Server 中有两个缺省的登录帐户: BUILTIN/Administrators

sa密码修改失败解决办法

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 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 master.dbo.syslogins 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 master.dbo.syslogins 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 master.dbo.sysxlogins where srvid IS NULL and

SQL2000修改sa密码时提示【错误2812:未能找到储存过程’sp_passwoed’】的解决方法

SQL2000修改sa密码时提示【错误2812:未能找到储存过程’sp_passwoed’】的解决方法 1.我们在用SQL2000数据库经常会遇见忘记sa密码,需要修改sa密码,但是有时候修改sa密码时会提示错误2812:未能找到储存过程’sp_passwoed’ 2.遇到这种情况的解决方法是:打开开始菜单,找到SQL Server的程序组,选择运行程序组中的“查询分析器”,打开. 3.打开“查询分析器”后会有一个登录窗口,因为sa密码不能修改,所以在连接使用的地方选择第一项“windows身份验证”。如果操作系统中有多个SQL

Server实例,请在上面SQL Server(S)项中,选择指定示例名。最后点确定,进入查询分析器. 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 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

MSDE2000的系统管理员(sa)密码修改方法

MSDE2000的系统管理员(sa)密码修改方法 Microsoft SQL Desktop engine 2000 是一个常用的SQL支持数据库,但安装后其sa 的默认密码为空,这样对数据安全有一定影响。因为MSDE2000是简化版本,无管理控制台,修改密码只能进入命令行方式。步骤: 要注意的是要在切换了SQL的身份验证方式后才可以命令行修改密码。默认的SQL身份验证方式是Windows账户模式,要改为采用SQL身份验证。 要Windows账户身份验证模式切换到SQL的身份验证模式,请按以下步骤操作: 1. 先停止MSSQLSERVER 以及所有其他相关服务(如SQLSERVERAgent)。 2. 打开注册表编辑器。 3. 找到以下两个子项之一(取决于MSDE 是作为默认MSDE 实例安装的还是作为命名实例安装的): HKEY_LOCAL_MACHINE\\Software\\Microsoft\\MSSqlserver\\MSSqlServer - 或者- HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Microsoft SQL Server\\\\MSSQLServer\\ 4. 在右窗格中,双击LoginMode 子项。 5. 在DWORD 编辑器对话框中,将此子项的值设置为2。确保选择了Hex 选项,然后单击确定。(默认情况下,Windows LoginMode 注册表子项的值设置为1。如果启用SQL的身份验证模式,则此值为2。) 6. 重新启动MSSQLSERVER 和SQLSERVERAgent 服务以使更改生效。至此,SQL验证模式切换完毕。 7、在运行菜单执行CMD 命令先进入命令行模式 8、进入MSDE安装目录C:\\Program Files\\Microsoft SQL Server\\80\\Tools\\Binn目录 9、执行命令 osql -U sa -Q "sp_password NULL, \'password\', \'sa\'" (其中password 改为你要设置的密码,输入时注意单引号和双引号的格式) 10、之后会提示输入默认口令,直接按回车即可。密码修改成功。 修改了口令后不影响使用。如果要改密码步骤同上。此方法也可使用与命令行修改SQL2000企业版和专业版的sa口令。(前提是必须知道sa密码哦) 如何验证SA 密码是否为空 1. 在正在连接到的MSDE 实例的宿主计算机中,打开命令提示符窗口。 2. 在命令提示符处键入以下命令,然后按Enter 键: osql -U sa 这样可以通过sa 帐户连接到MSDE 的本地默认实例。要连接到您的计算机上安装的命名实例,请键入: osql -U sa -S servername\\instancename 随即将出现以下提示: Password: 3. 再次按Enter 键。此操作将为sa 传递一个NULL(空)密码。 如果按Enter 键后出现以下提示,则您对sa 帐户没有密码:

SQL Server 2000的SA密码被破解实例

提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是"system"和"sys",Sybase也是"sa",MySQL里有"root"(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码强度太低过于简单,那么入侵者就能直接登陆并攻击数据库服务器,他们甚至可以获得你操作系统的最高级别的权限。说到这里,有的人也许不相信,曾经有人和我说:"数据库被攻破最多你的那些表啊什么的被人家拿走,对方怎么可能获得操作系统最高权限呢?"其实,我并不是在危言耸听,下面我就假设某台SQL Server 2000的数据库的SA密码被破解为例,来看看黑客在取得了数据库权限后如何进1步把自己变成系统的管理员。 目前,网络上有不少此类工具,可以方便那些不熟悉SQL的人用,其实完全不用去下载那种工具,只要用微软自己的SQL Server里自带客户端程序连上去就马上可以轻松的把自己变成整个操作系统的超级管理员了。具体的过程,我就为大家讲解1遍,这里先假设黑客已经通过其他工具暴力破解了你设置的强度教低的sa帐号的弱口令,或者你根本就没有为sa账号设置口令。首先黑客打开SQL Server查询分析器,以sa身份和他刚暴力破解的密码登陆进你的SQL Server数据库,然后他执行以下语句: xp_cmdshell "net user zxcnopassword /add" go xp_cmdshell "net localgroup /add administrators zxc" go 这时候,你如果打开你的计算机管理-----本地用户和组-----用户,这时候你会发现里面已经多出了1个叫zxc的新账号,查看一下此帐号的属性,你更会发现他竟然隶属于administrators组。 说到这里大家肯定都明白了,对,黑客通过调用SQL Server的系统数据库master里的xp_cmdshell这个扩展存储过程轻松的将他自己变成了你服务器上的超级管理员,那么以后他还有什么事情会干不了呢。 因此,如果大家在平时不需要调用此存储过程的话,可以考虑将它删除,当然不管你平时是不是要调用此存储过程,你都应该为你的sa账号设置1个十分健壮的密码,这是最根本、最重要的,你可以打开SQL Server的企业管理器,然后选择安全性-----登陆,右击sa账号,选择属性,然后在属性对话框里修改您的sa帐号所对应的密码,这里我建议你要尽可能的设置的复杂些,可以用英文字母结合数字结合特殊符号等,这样就可以防止黑客对此帐号的暴力破解,当然最好

SQL2000的sa密码找回方法

SQL2000的sa密码找回方法 1.试试注销你的操作系统,用administrator登陆查询分析器--连接使用"windows身份验证"--如果这里能成功,你就执行下面的语句来修改sa的密码sp_password null,'新密码','sa' 2.不行就rebuilt你的master??????
以window用户的方式进去,在企业管理器中把sa的密码改回来,这个方法好象可以。试试看
我不想改密码,有没办法把原来的密码找回来?
不会
原来的密码是找不回来的. 因为SQL对于密码的加密算法是不可逆的. 所以你还是用windows身份验证进去改sa密码吧.
以下来自微软网站问:我把我自己关在SQL Server 外面了,不能作为“sysadmin”登录。有什么办法解决吗?我需要重新安装SQL Server吗?答:您不必重新安装SQL Server。要想重新访问SQL Server,您需要修改SQL Server 2000 和SQL Server 7.0决定SQL Server身份验证模式的注册表键值。在SQL Server 7.0中,该键为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \MSSQLServer\MSSQLServer\LoginMode 在SQL Server 2000中,该键为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ MicrosoftSQLServer\\MSSQLServer\LoginMode “LoginMode”的值为0表示只进行Windows 的身份验证,为1表示验证模式为混合模式。在您把自己关在外面之后,您可以把“LoginMode”改为1,重新启动SQL Server,然后以sa(system administrator)身份登录,输入您知道的sa密码即可。以下关于SQL Server的角色成员的信息可能会帮助您理解为什么您会把自己关在SQLServer外面。在您安装SQL Server 2000 或7.0的时候,安装进程自动地为“BUILTIN\Administrators”创建一个登录帐号,该帐号为“sysadmin”角色成员。“BUILTIN\Administrators”登录帐号代表了Microsoft Windows? 2000 或Microsoft Windows NT? server 上的系统管理员本地组。Windows 2000 或Windows NT的“Administrator”帐户是系统管理员本地组的成员。此外,如果您的服务器是一个域的成员(包括Windows 2000 的域和Windows NT 4.0的域),“Domain Admins”全局组也会成为本地系统管理员组的成员。这意味着系统管理员本地组的所有成员都会自动地获得SQL Server上的“sysadmin”权限。为了加强您的SQL Server的安全性,您可能更愿意创建您自己的组并授予它“sysadmin”权限,然后删除“BUILTIN\Administrators”登录帐号,或者至少从“sysadmin”服务器角色中删除它。使用这种方法,您可以较好地对谁可以访问您的SQL Server进行控制。这种方法也断开了SQL Server 系统管理员和Windows 2000 或Windows NT 管理员之间的联系,因为他们通常有不同的任务,并且需要不同的权限。为了加强安全性,您可能想把SQL Server 配置成只支持Windows身份验证。但是,必须要记住:这种配置会禁用您的“sa”帐户。(这个方法可能是禁用“sa”帐户的唯一方法,因为您不能删除“sa”帐户。)如果您以错误的顺序实施了这个安全措施,您将不能再以>“sysadmin”的身份登录到SQL Server上,除非按照我上面所说的方法修改注册表键值。正确的顺序是:创建Windows 2000 或者Windows NT 用户组并为组分配成员。例如:创建一个叫做“SQLAdmins”的组。把“SQLAdmins”映射为SQL Server里的一个用Windows身份验证方式验证登录的帐户,并把该帐户分派到“sysadmin”服务器角色。删除“BUILTIN\Administrators”登录帐户或者把它从“sysadmin”服务器角色中删除。把SQL Server的身份验证模式改为“仅进行Windows身份验证”。重新启动SQL Server 以反映身份验证模式的变化。注意: 如果您以下面的这种错误顺序实施这些步骤:删除“BUILTIN\Administrators”登录帐户,改变SQL Server 的身份验证模式为“仅进行Windows身份验证”,然后重新启动SQL Server,那么“sa” 帐户将被禁用,并且因为没有定义其它Windows身份验证登录帐户而无法进入SQL Server。为了避免这种情况发生,请以正确的顺序实施这些安全措施
停止sql server将自己应用数据库拷出,删除sql server,重新安装sql server,再将数据库用sp_attachdb 过程导入

Sql server2000 修改sa密码错误:未能找到sp_password

Sql server2000 修改sa密码错误:未能找到sp_password 修改sa密码方法: 1.打开企业管理器,依次展开服务器组,然后展开服务器。 2.打开“安全性”文件夹,单击“登录”,然后用右键单击“Sa”,执行“属性”命令。 3.弹出“SQL Server登录属性”对话框,在“SQL Server 身份验证”密码栏,输入最新密码。 4.单击“确定”按钮,弹出“确认密码”对话框,再输一遍登录密码。 5.单击“确定”按钮,完成对Sa登录密码的修改。 如图: 如果修改密码不成功,提示:错误2812:未能找到存储过程'sp_password'。

解决办法: 通过“查询分析器”在master库中执行下面语句,即可 --------------------------------------------------------------------------------- SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS OFF GO 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 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)

设置sql2000SA口令

SA口令 登录系统管理提示输入SQL Server口令 分析SA口令问题 SA口令为空或口令比较简单很可能会被病毒或木马功击,建议用户设置SA密码,操作步骤:系统管理àAdmin身份登录à系统菜单à设置SQL Server口令,此提示情况可能由于有时SA口令遗忘或失效,也可能是环境问题所致。 所以首先要分析是否是SA口令产生此提示,可通过命令提示符下验证SA口令,操作如下: 1. 在正在连接到的计算机中打开命令提示符窗口。开始—运行—输入cmd确定 2. 在命令提示符处键入以下命令,然后按Enter 键,注意…U?字符一定为大写 osql -U sa 这样可以通过sa 帐户连接到本地默认实例 若要连接到计算机上安装的命名实例,请键入(servername指实例名) osql -U sa -S servername 随即将出现以下提示: Password: 3. 再次按Enter 键。此操作将为sa 传递一个NULL(空)密码。 如果按Enter 键后出现以下提示,则您对sa 帐户没有密码: 1> 此命令常见错误提示: 提示1:如果收到以下错误信息,则表示您输入的密码不正确。此错误信息表示已为sa 帐户创建了密码:"Login Failed for user \'sa\'." 或“用户?sa?登录失败”

提示2:以下错误信息表示运行SQL Server 的计算机设置为只限Windows 身份验证: Login failed for user \'sa\'.Reason:Not associated with a trusted SQL Server connection. 或 用户?sa?登录失败。原因:未与信任SQL Server连接相关联 提示3:如果您收到以下错误信息,则表示SQL Server 可能未运行,或者您可能为安装的SQL Server 的命名实例提供了错误名称: [Shared Memory]SQL Server does not exist or access denied. [Shared Memory]ConnectionOpen (Connect()). 或 [Shared Memory]SQL Server 不存在或防问被拒 [Shared Memory] ConnectionOpen (Connect()). 解决SA口令问题各种情况有: 情况1:数据库安装或由于某些原因SQL的身份验证模式为windows身份验证模式,而用友通系统必须要求是混合模式,若SQLServer用户解决方法见[安装数据库]页,但MSDE用户因没有企业管理器等工具,可通过修改注册表键值方式解决,步骤如下: 1.先停止MSSQLSERVER 以及其他相关服务(如SQLSERVERAgent)。 2.打开注册表编辑器,开始à运行à输入cmd点确定 3.找到以下两个子项之一(取决于MSDE 是作为默认MSDE 实例安装的还是作为命名实例安装 的): HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer 1.或者- HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQLServer\\ 1.在右窗格中,双击LoginMode 子项。 2.在DWORD 编辑器对话框中,将此子项的值设置为2,选择了十六进制(Hex) 选项(默认情况下, Windows LoginMode 注册表子项的值设置为1。如果启用SQL的身份验证模式,则此值为2。)

修改SA密码

用SQL语句实现 一、 ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = 'password' ; GO 二、 ALTER LOGIN sa WITH PASSWORD = N'新密码' OLD_PASSWORD = N'旧密码' 三、 alter login [sa] with password=N'NewPassword'--旧密码可以不用提供四、 sp_password 'OldPassword','NewPassword' 五、 USE test go

EXEC sp_change_users_login 'Auto_Fix', '用户名', NULL, '密码' --------在企业管理里—安全性—账号—右健属性(最好取消密码策略这项) --使用CREATE LOGIN创建登录名 CREATE LOGIN testuser1 WITH PASSWORD='password1', CHECK_POLICY =OFF --不启用Windows密码策略 CREATE LOGIN [MS-ZY\SQLAdmin] FROM WINDOWS --基于Windows认证 EXEC sp_addlogin testuser1,'password1'

-- --5.3.3节示例 -- ALTER LOGIN testuser1 WITH PASSWORD='abcdefg' --ALTER LOGIN修改密码 ALTER LOGIN testuser1 WITH PASSWORD='abcdefg' OLD_PASSWORD ='password1' --必须指定原密码 --修改、禁用登录名 ALTER LOGIN testuser1 --修改登录名 WITH NAME = testuser11 GO

相关主题
文本预览
相关文档 最新文档