MS SQL在用户事务中创建用户并更改pwd

时间:2012-11-20 09:44:07

标签: tsql sql-server-2000

我需要将现有登录访问权限授予我的数据库,并从事务中从C ++更新程序运行的T-SQL脚本更改其他登录的密码。它应该针对SQL Server 2000以及任何较新的SQL Server版本运行。

MSDE和SQL Server 2000不支持

CREATE USER FOR LOGINALTER LOGIN WITH PASSWORD但我无法使用sp_grantdbaccesssp_password,因为它们失败并出现错误-2147217900

我认为这是因为这些存储过程无法从用户事务运行,并且在将来的SQL Server版本中也可以不推荐使用。

你能建议任何其他解决方案吗?

以下是在用户交易中运行的脚本示例

CREATE PROCEDURE [dbo].[_PasswordChangeSaveCleanup]  
@Meno varchar(50),  
@HesloEncrypted varchar(50)  
AS  
BEGIN  
...     
return 1  
END  
GO  
--CREATE USER [some] FOR LOGIN [some]  
EXECUTE sp_grantdbaccess @loginame='some'  
GO  
GRANT SELECT ON [dbo].[UZivatelia] TO [ese]  
GO  
--ALTER LOGIN SOME2 WITH PASSWORD='vreK.BH45'  
EXECUTE sp_password @new='vreK.BH45',@loginame='SOME2'  
GO  
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SOMESP]') AND type in (N'P', N'PC'))  
DROP PROCEDURE [dbo].[SOMESP]  
GO

0 个答案:

没有答案