MSSQL DB 복구후 DB와 사용자 매핑

윈도우즈/MSSQL|2015. 1. 27. 09:19
반응형

1. 사용자 생성

 

Microsoft SQL Server Management Studio 실행

> 데이터베이스 > 보안 > 로그인 (우클릭) > 새로그인

 

- 로그인이름 (계정)

- 'SQL Server 인증' 의 암호

- '암호정책 강제 적용' 체크 안함

- '암호만료 강제 적용' 체크 안함

- 기본데이터베이스 : 사용할 DB선택

[확인] 선택

 

※ 참고 : DB에 권한을 가진 사용자가 있습니다.

               > 데이터베이스 > [DB명] > 보안 > 사용자에서 확인이 가능하며

               이 사용자명으로 생성하시면 됩니다.

 

               만약 이곳에 사용자가 없을 경우 임의로 사용자를 아무거나 만듭니다.

               사용자 이름 : sysdocu    // 접근 허용할 계정

               로그인 이름 : sysdocu    // 접근 허용할 계정

               기본 스키마 : dbo

               이사용자가 선택한 스키마 : db_owner

               데이터베이스 역할 멤버 자격 : db_owner

 

 

2. 쿼리 실행

USE DB명
EXEC sp_change_users_login 'Update_One', '계정명', '계정명'
go

 


반응형

댓글()

SQL Server 2005 최대 동시 접속자 수 제한

윈도우즈/MSSQL|2015. 1. 27. 09:19
반응형
SQL Server 2005에서 어떤 방법으로 최대 동시 접속 사용자 수를 제한할 수 있을까요?
실제 접속자 연결수는 SQL Server 버전, Application, H/W 제한에 따라 달라질 수 있으며, SQL Server는 최대 32,767개를 허용하도록 되어 있습니다. 
 
다음 쿼리는 최대 동시 접속자를 10명으로 제한하도록 설정합니다. 적용을 위해서는 서비스 재시작이 필요합니다. 
 
sp_configure 'show advanced options', 1
RECONFIGURE 
-- 최대 동시 접속자 수를 10명으로 제한합니다.
sp_configure 'user connections', 10
RECONFIGURE
 
최대 접속자를 초과하여 접속하였을 때는 아래와 같은 오류가 발생하게 됩니다.
HResult 0XE9, 수준 16, 상태 1
공유 메모리 공급자: 파이프의 다른 끝에 프로세스가 없습니다. 
 
Sqlcmd: 오류: Microsoft SQL Native Client: 통신 연결 오류입니다.
Sqlcmd: 오류: Microsoft SQL Native Client: 서버에 연결한는 동안 오류가 발생했습니다. SQL Server 2005에 연결하는 경우, 기본 설정에서는 SQL Server가 원격 연결을 허용하지 않기 때문에 이러한 오류가 발생할 수 있습니다..
 
 
위의 오류가 발생할 경우에는 user connections 를 확인해 보면 좋겠습니다.

[참고자료]
user connections 옵션

 
[출처] Lai Go's TINote Blog | Lai Go (http://laigo.kr/292)
 
* 참고
동시접속자 설정값을 확인하는 쿼리는 sp_configure 'user connections' 입니다. 


반응형

댓글()

MS SQL 2005 수동삭제 방법

윈도우즈/MSSQL|2015. 1. 27. 09:19
반응형

MS SQL 2005를 수동으로 삭제하는 방법.. 설치시 오류가 났거나, 언인스톨 과정에서 오류가 난 경우, Visual Studio 설치시 지 맘대로 설치를 해버리는 쓸데없는 MS SQL 2005의 인스턴스들을 제거하고 싶은 경우에 사용..

Microsoft의 페이지들은 사이트 개편이 URL이 언제 어떻게 바뀌어버릴지 모르니 몇가지 핵심 내용을 메모해둘 필요가 있음..  원문은http://support.microsoft.com/kb/909967/ko 참조..

아래 명령어를 실행하여 삭제하고 싶은 인스턴스를 선택하면 삭제됨..

"C:Program FilesMicrosoft SQL Server90Setup BootstrapARPWrapper.exe" /Remove

 

설치된 인스턴스가 여러개인 경우, 언인스톨을 하고 나면 설치지원 프로그램들이 같이 삭제가 되기 때문에 설치 CD를 사용해 설치지원 프로그램만 설치한 후 취소를 하여 종료하고 다시 위의 명령어를 실행하여 삭제하고 싶은 인스턴스 갯수만큼 반복해야 함.. 불편하지만, 다른 방법 없음..

 

 

[출처] 미친병아리의 프로그래밍 이야기 | 미친병아리 (http://madchick.tistory.com/15)

반응형

댓글()

LDF 파일 없이 MDF 파일만으로 DB복구하기

윈도우즈/MSSQL|2015. 1. 27. 09:18
반응형

쿼리창에서 아래와 같이 실행합니다.

 

CREATE DATABASE JayASP
ON (FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataFineName.MDF')
FOR ATTACH_FORCE_REBUILD_LOG


반응형

댓글()

MSSQL 2005에 원격접속 허용하기

윈도우즈/MSSQL|2015. 1. 27. 09:18
반응형

다음과 같은 항목을 체크해 보세요^^

 

1. 서버가 실행 중인지 확인한다.

 

2. 쿼리분석기에서 다음 명령을 실행하여 현재 서버명을 확인한다.

SELECT @@servername

 

3. 서버 네트워크 유틸리티에서 명명된 파이프와 TCP/IP를 모두 사용하고 있는지 확인한다

 

 

감사합니다

 

 

[출처] 지식인 | dreamania_73 (http://blog.naver.com/upsoida?Redirect=Log&logNo=150039432221)

 

[주의]

Windwos 계정인증 방식이 아닌 혼합 인증 설정이 되어있어야 SQL 계정으로 로그인 가능합니다.

설정 해도 안되었을경우 인증 상태 확인해보세요.

반응형

댓글()

Microsoft OLE DB Provider for SQL Server 오류 '80004005'

윈도우즈/MSSQL|2015. 1. 27. 09:17
반응형

DB접속이 되지 않아 발생하는 문제입니다.

이에대한 해결책으로 아래 두가지를 살펴보시기 바랍니다.

 

해결책 1.

DB계정이 생성, 해당 DB에 접근 권한이 있는지 확인.

인증 방법도 혼합인증으로 되어있어야 함.

 

해결책 2.

접속파일의 속성을 변경.

예) dbconn.asp 내용중 DB서버에 포트를 추가합니다.

server=192.168.10.2,1433

 

반응형

댓글()

MSSQL 2005 혼합인증 설정 및 sa 암호 설정

윈도우즈/MSSQL|2015. 1. 27. 09:17
반응형

인증방법 변경
    > MSSQL Server Management Studio 실행
    > 데이타베이스(트리구조 최상위 메뉴) 에서 마우스 오른쪽버튼 '속성' 클릭
    > '보안'탭 서버인증 에서 접속방법 변경이 가능합니다.

    sa 계정 비밀번호 입력
    > MSSQL Server Management Studio 실행
    > 데이타베이스 > 보안 > 로그인 > sa 마우스 오른쪽 버튼 '속성' 클릭
    > sa 암호 설정이 가능합니다.

반응형

댓글()

Microsoft SQL Server 2008 Express에 원격 접속 허용하기

윈도우즈/MSSQL|2015. 1. 27. 09:17
반응형

Microsoft SQL Server 2008 Express은 기본적으로 원격 연결이 제한되어 있습니다만

TCP/IP연결을 허용해 주면 아무런 문제없이 사용할 수 있습니다.


설치시 sa 의 암호를 설정하여 일반적인 설치를 진행합니다.

시작 > Microsoft SQL Server 2008 > 구성 도구 > SQL Server  구성 관리자를 실행합니다.

구성관리자 밑에 있는 'SQL Server 네트워크 구성'을 클릭합니다.

'SQLEXPRESS에 대한 프로토콜' 을 선택합니다.

사용 안 함으로 되어 있는 TCP/IP와 명명된 파이프를 모두 '사용' 으로 변경합니다.

특히 TCP/IP는 포트를 지정해야 합니다. TCP/IP를 두번 클릭하여 등록정보를 엽니다.

IP 주소 탭의 아래쪽에 있는 IPALL에서 TCP 포트를 1433으로 지정해 줍니다.

SQL Server 서비스를 재시작합니다.

아마도 Microsoft SQL Server 2008의 인스턴스와 포트 충돌을 막기위해 이렇게 설정해 둔 것 같습니다.


[출처] Enowy | http://enowy.com/blog/104

 

* 주의

Windwos 계정인증 방식이 아닌 혼합 인증 설정이 되어있어야 SQL 계정으로 로그인 가능합니다.

설정 해도 안되었을경우 인증 상태 확인해보세요.

반응형

댓글()

rollback, commit 명령어

윈도우즈/MSSQL|2015. 1. 27. 09:16
반응형

SQL> rollback;

해당 명령어는 작업 취소 명령으로, commit 기능이 없는 명령어에 대해서만 적용이 됩니다.
(insert, delete, update 등)


SQL> commit;

commit 은 변경된 데이타가 실제 파일에 적용 시킵니다. (작업 전 상태로 돌아가지 못함 - rollback 불가)
commit 기능을 포함한 명령이 있으니 작업시 참고하시기 바랍니다.
(create, drop, alter, view, grant 등)

반응형

댓글()

트랜잭션 로그가 커져서 디스크 공간이 없을 때 해결방안

윈도우즈/MSSQL|2015. 1. 27. 09:16
반응형

[문제]
특정 트랜잭션 로그 파일이 커져서 디스크에 용량이 부족한 상황.

[원인]
트랜잭션 로그는 말 그대로 트랜잭션 처리시 발생한 모든 기록을 저장합니다.
예를 들어 백만건의 데이터를 수정했다면 백만건에 관한 기록을 저장하게 되죠.
따라서 데이터베이스가 처리하는 데이터의 양에 따라 트랜잭션 로그의 크기도 조정해야 합니다.

만약에 트랜잭션 로그파일의 크기가 처리할 트랜잭션보다 작다면
'트랜잭션 로그의 크기가 설정치를 초과했습니다'라면서 작업이 실패하게 됩니다.
그렇기 때문에 트랜잭션 로그는 롤백을 가능하게 할 정도의 크기로 설정해야 합니다.

ORACLE의 경우 이런 작업이 테이블스페이스 관리 화면을 통해 조정이 가능합니다.
새로운 테이블 스페이스를 만들거나 크기를 줄이는 등의 작업이 가능합니다.

MSSQL의 경우는 엔터프라이즈 매니저를 이용해서 할 수 있습니다.
해당 데이터베이스의 속성을 보면 '트랜잭션 로그'라는 탭이 있는데 여기서 조정합니다.

트랜잭션 로그는 강제로 비워도 상관 없습니다. 롤백할게 없는 상황이라면 말이죠.
데이터베이스의 데이터파일을 줄이는 방법은 우선 실제 사용되는 페이지의 양을 줄이고
설정 크기를 줄이는 순서로 조치를 취하면 됩니다.

[해결]
* MSSQL을 기준으로 설명합니다.

1. 데이터베이스 - 속성 - 트랜잭션 로그 화면을 펼칩니다.
*아래 그림의 경우 처음에는 메인 트랜잭션 로그파일인 'CLICKMIND_Log'밖에 없었습니다.
그리고 크기제한을 걸지 않아 4GB까지 확장된 상태였습니다. 하필 C드라이브라 더 문제였죠.

2. 트랜잭션 로그를 비웁니다.
BACKUP LOG <데이터베이스명> WITH NO_LOG
예) BACKUP LOG CLICKMIND WITH NO_LOG

3. 적정한 트랜잭션 크기로 다른 트랜잭션 파일을 생성합니다. (생략가능)
* 그림의 경우 C드라이브가 아닌 넉넉한 D드라이브를 사용하고자 1GB짜리 2개를 생성하였습니다.
생성한 트랜잭션 파일들의 최대 크기를 설정합니다. 각 1024MB로.. 하나로 큰거 해서 좋을건 없습니다.
성능을 고려한다면 적절한 크기로 서로다른 디스크에 분산 시키는 것이 좋습니다.

4. 문제가 되는 트랜잭션 로그파일을 축소합니다.
* 쿼리 애널라이져에서 다음 명령어를 수행합니다.
한번에 안되는 경우가 있으므로 반복해서 수행후 크기를 확인합니다.
DBCC SHRINKFILE (<데이터파일명>, <원하는 크기 (MB)>)
예) DBCC SHRINKFILE (CLICKMIND_Log, 100)


5. 줄어든 트랜잭션 로그파일의 최대치를 줄여 놓아 다시는 커지지 못하게 합니다.


[출처] 박상민 (http://tomowind.egloos.com/1544330)

반응형

댓글()

ms-sql 2005 포트 확인 방법

윈도우즈/MSSQL|2015. 1. 27. 09:15
반응형

기본 포트는 1433이지만, 포트를 변경하였거나, 하나의 서버에 여러개의 SQL 인스턴스가 있는 경우에는 포트번호가 변경될 수 있습니다.



포트 번호 확인방법


1. 시작 | 모든 프로그램 | Microsoft SQL Server 2005 | 구성도구 | SQL Server 구성관리자를 실행하고, SQL Server 2005 네트워크 구성 노드를 선택합니다.


2. TCP/IP 프로토콜을 선택하고 더블클릭하면 다음과 같은 속성 대화상자가 나타납니다.


이 부분에 포트를 확인하시고, 필요하다면 포트를 지정해서 연결하셔야 합니다.

SSMS에서는 다음과 같이 포트를 지정합니다.
(1999 포트를 사용하는 경우, 포트번호를 서버명 다음에 콤마(,) 다음에 기록해 주면 됩니다.)
localhost, 1999

포트 문제가 아니라면 인스턴스가 실행 중인지 등과 같이 연결 문제해결을 위한 절차를 진행해 보시면 됩니다.

감사합니다.


[출처] 네이버 지식인 : dreamania_73 작성 (http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10110&eid=bhI36Ye4ZU72sIieTiz4FmIWhk7+J7Fe&qb=bXNzcWwgMjAwNSDG98auIMiuwM4=&pid=fbzfNdoQsC8ssZ9SO5osss--472597&sid=SGzSce6bbEgAAE9VdCw)

반응형

댓글()