国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

修改SQL2000數(shù)據(jù)庫(kù)密碼報(bào)錯(cuò)sp_password

在管理SQL Server 2000數(shù)據(jù)庫(kù)時(shí),我們經(jīng)常需要修改sa賬戶的密碼。但是有時(shí)候,在執(zhí)行修改密碼操作時(shí)會(huì)出現(xiàn)報(bào)錯(cuò)“sp_password”。下面我將介紹如何解決這個(gè)問題。解決辦法要解決“sp_

在管理SQL Server 2000數(shù)據(jù)庫(kù)時(shí),我們經(jīng)常需要修改sa賬戶的密碼。但是有時(shí)候,在執(zhí)行修改密碼操作時(shí)會(huì)出現(xiàn)報(bào)錯(cuò)“sp_password”。下面我將介紹如何解決這個(gè)問題。

解決辦法

要解決“sp_password”報(bào)錯(cuò)問題,我們需要執(zhí)行以下步驟:

1. 打開企業(yè)管理器。

2. 點(diǎn)擊工具欄上的"SQL查詢分析器"。

3. 在查詢分析器中復(fù)制以下腳本,并點(diǎn)擊運(yùn)行按鈕(綠色三角形)。

```sql

create procedure sp_password

@old sysname NULL, -- 舊密碼

@new sysname, -- 新密碼

@loginame sysname NULL -- 需要修改密碼的用戶

AS

BEGIN

-- 設(shè)置運(yùn)行選項(xiàng)

-- set nocount on

declare @self int

select @self CASE WHEN @loginame is null THEN 1 ELSE 2 END

-- 解析登錄名

if @loginame is null

select @loginame suser_sname()

-- 檢查權(quán)限(SecurityAdmin)

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

-- 禁止用戶事務(wù)

-- set implicit_transactions off

IF (@@trancount > 0)

begin

raiserror(15002,-1,-1,'sp_password')

return (1)

end

-- 解析登錄名(禁止NT名稱)

if not exists (select * from where loginname @loginame and isntname 0)

begin

raiserror(15007,-1,-1,@loginame)

return (1)

end

-- 如果非SYSADMIN嘗試修改SYSADMIN密碼,則需要輸入密碼(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

-- 檢查舊密碼是否正確

if not exists (select * from 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

-- 修改密碼

update

set password convert(varbinary(256), pwdencrypt(@new)), xdate2 getdate(), xstatus xstatus (~2048)

where name @loginame and srvid IS NULL

-- 更新MASTER數(shù)據(jù)庫(kù)的保護(hù)時(shí)間戳,以指示SYSLOGINS已更改

-- exec('use master grant all to null')

-- 返回成功/失敗

-- if @@error <> 0 return (1)

raiserror(15478,-1,-1)

return (0)

END

```

4. 執(zhí)行以上腳本后,即可重新修改sa密碼。

總結(jié)

通過執(zhí)行上述步驟,您可以解決在SQL Server 2000中修改sa密碼時(shí)報(bào)錯(cuò)"sp_password"的問題。確保按照操作順序逐步執(zhí)行腳本,并檢查是否成功修改了密碼。這將確保數(shù)據(jù)庫(kù)的安全性和可靠性。

標(biāo)簽: