작동버젼 : MSSQL 2000 및 2005 이상
사용방법 : "[]"안의 내용 변경 후 사용
주의사항 : 이름 확인
설 명 : 다른서버에서 데이터 베이스 복원 시 디비의 유저와 서버의 로그인 사이에 SPID가 맞지 않아서
로그인이 되지 않을 수 있는데 에초에 로그인 생성 시 SPID를 지정하여 생성하거나
다음과 같은 방법으로 해결 할 수 있음
MSSQL 2000의 경우
1 2 3 4 5 | use [데이터 베이스명]; GO EXECUTE sp_change_users_login 'Auto_Fix' , '[로그인명]' ; GO |
MSSQL 2005 이상의 경우
1 2 3 4 5 | USE [데이터 베이스명]; GO ALTER USER [유저명] WITH LOGIN = [로그인명]; GO |
MSSQL 2005 이상 모든 디비, 모든 유저에 적용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | DECLARE @Query nvarchar(4000); DECLARE QueryCursor CURSOR FOR SELECT 'ALTER USER ' + a. name + ' WITH LOGIN = ' + b. name AS Query FROM sys.database_principals AS a WITH (NOLOCK) INNER JOIN sys.sql_logins AS b WITH (NOLOCK) ON a. name = b. name WHERE a.type IN ( 'S' , 'U' ) AND b.type IN ( 'S' , 'U' ); OPEN QueryCursor; FETCH QueryCursor INTO @Query; WHILE @@FETCH_STATUS = 0 BEGIN PRINT @Query; EXECUTE sp_executesql @Query; FETCH QueryCursor INTO @Query; END ; CLOSE QueryCursor; DEALLOCATE QueryCursor; GO |
'프로그래밍 > MSSQL\스크립트' 카테고리의 다른 글
[MSSQL] PK가 없는 테이블 정리 (1차 정규화 위반) (0) | 2012.05.01 |
---|---|
[MSSQL] 특정 계정으로 로그인된 모든 세션 Kill (0) | 2012.04.29 |
[MSSQL] IP String <-> IP Binary (0) | 2012.04.24 |
[MSSQL] DB의 모든 테이블의 Collation 변경 (0) | 2012.04.24 |
[MSSQL] CSV 파일을 임시 테이블에 저장 (0) | 2012.04.24 |