시스템관리자의 쉼터 커피닉스 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

가입없이 누구나 글을 쓸 수 있습니다. 공지사항에 대한 댓글까지도..




BBS >> 설치, 운영 Q&A | 네트웍, 보안 Q&A | 일반 Q&A || 정보마당 | AWS || 자유게시판 | 구인구직 || 공지사항 | 의견제시
sql 바보입니다....

 
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> 시스템 설치 및 운영
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
기강
손님





올리기올려짐: 2011.8.23 화, 4:54 pm    주제: sql 바보입니다.... 인용과 함께 답변 글 편집/삭제

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 > >

다른곳에서 sp_passwod관련 찾다가 찾은 프로시저생성문인데

쿼리실행기로 입력하니까 문구에 오류있다고 나오네요 ㅠ.ㅠ

틀린부분 수정좀 부탁드려도 될까요~

생성문 출처
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=38&MAEULNO=16&no=61855&ref=61855
위로
이전 글 표시:   
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> 시스템 설치 및 운영 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 있습니다
답글을 올릴 수 있습니다
주제를 수정할 수 있습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB © 2001, 2005 phpBB Group