'MS-SQL'에 해당되는 글 9건
- 2016.08.05 :: MASTER DB 복구
- 2016.07.20 :: DB 복원후 계정 매핑
- 2016.07.17 :: MS-SQL 빌드버전 분류
- 2016.06.29 :: SQL Server 에러 로그 확인 및 관리 방법
- 2016.06.29 :: LDF 최대용량 및 로그 삭제가 안될 때
- 2016.06.29 :: 디비 로그 축소
- 2016.06.29 :: [MSSQL] CPU 부하가 큰 쿼리 점검
- 2016.06.29 :: SQL Server 현재 접속 로그인, IP 확인
- 2014.12.22 :: MS-SQL DB복구
MASTER DB를 백업을 받아놓은뒤 복원을 할떄 일반적은 복원 방법으로 하면안된다.
단일 사용자모드로 복원을 해야하는데 작업 방법은 다음과같다.
1. CMD창에서 net stop 서버이름\인스턴스이름 ---- 인스턴스이름을 변경하여 설치시
2. net start 서버이름\인스턴스이름 /f --- /m을 하니 정상 작동안함 /f 를 줘야 잘된다고함.
3. CMD에서 sqlcmd 로 실행시에 아래와 같은 에러가 발생하면 다음과 같이 쓴다
HResult 0x2, 수준 16, 상태 1
명명된 파이프 공급자: SQL Server에 대한 연결을 열 수 없습니다. [2].
Sqlcmd: 오류: Microsoft SQL Server Native Client 10.0: SQL Server에 연결을 설정
하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수
없거나 액세스할 수 없습니다. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을
허용하도록 구성되어 있는지 확인하십시오. 자세한 내용은 SQL Server 온라인 설명서
를 참조하십시오..
Sqlcmd: 오류: Microsoft SQL Server Native Client 10.0: 로그인 제한 시간이 만료되
었습니다..
sqlcmd -S 서버이름\인스턴스이름 하면 다음과 같이 된다.
(추가사항 - sql serveer reporting services 실행시에 위와 동일 에러 발생)
1> RESTORE DATABASE master FROM DISK = '백업파일 경로' WITH REPLACE;
2> GO
4. net stop 서버이름\인스턴스이름
net start 서버이름\인스턴스이름
하면 정상적으로 MASTER DB복구완료.
--------------------------------------------------------------------
작업시 에러사항.
1. 복구시에 시스템데이터베이스 경로가 백업된것과 복구될 위치가 동일한지 확인이 필요. 해당경로 없을시에 SQL 서비스 시작되지 않음.
2. net start ~ /m 으로 서비스 실행후에 SQL 매니지먼트엣 쿼리 입력 불가능.
'MS-SQL' 카테고리의 다른 글
DB 복원후 계정 매핑 (0) | 2016.07.20 |
---|---|
MS-SQL 빌드버전 분류 (0) | 2016.07.17 |
SQL Server 에러 로그 확인 및 관리 방법 (0) | 2016.06.29 |
LDF 최대용량 및 로그 삭제가 안될 때 (0) | 2016.06.29 |
디비 로그 축소 (0) | 2016.06.29 |
MS-SQL 에서 DB복원후 계정매핑을 해야한다.
하지만 매핑시에 매핑이 되지 않을 수 가 있다.
그럴경우 다음과 같이 한다.
캡쳐정리는 나중에 하도록 하겠습니다.
해당데이터베이스에 보안에 사용자를 삭제 할시에 삭제가 되지않는다.
그아래 스키마에가면 계정과 동일한 스키마가 있다.
해당 스키마에 속성에 스키마 소유자를 DB_OWNER로 변경 후에 사용자를 사용자를
삭제하면 됩니다.
그리고 다시 사용자를 추가하여 사용자이름, 로그인이름, 기본스키마에 사용자를 추가해준다.
그러고 난 뒤 데이터베이스 역활 멤버 자격을 db_owner를 체크 한 뒤에 만들면 계정이 생선 된다.
그리고 다시 해당 계정 스키마에 가서 스키마 소유자를 db_owner에서 해당계정명으로 변경 하면된다.
그러면 계정 매핑이 정상 적으로 된다.
위에내용은 쿼리문으로 다음과 같을 것이다.
아래 명령어가 여러 이유로 안먹힐 경우 위와 같이하면된다.
USE test --복원 할 데이터베이스명
GO
EXEC SP_CHANGE_USERS_LOGIN 'UPDATE_ONE','계정명', '계정명'
'MS-SQL' 카테고리의 다른 글
MASTER DB 복구 (0) | 2016.08.05 |
---|---|
MS-SQL 빌드버전 분류 (0) | 2016.07.17 |
SQL Server 에러 로그 확인 및 관리 방법 (0) | 2016.06.29 |
LDF 최대용량 및 로그 삭제가 안될 때 (0) | 2016.06.29 |
디비 로그 축소 (0) | 2016.06.29 |
마이크로소프트의 SQL Server의 버전일람입니다.
'MS-SQL' 카테고리의 다른 글
MASTER DB 복구 (0) | 2016.08.05 |
---|---|
DB 복원후 계정 매핑 (0) | 2016.07.20 |
SQL Server 에러 로그 확인 및 관리 방법 (0) | 2016.06.29 |
LDF 최대용량 및 로그 삭제가 안될 때 (0) | 2016.06.29 |
디비 로그 축소 (0) | 2016.06.29 |
SQL 에러 로그 확인 방법입니다..
참고 Url : http://support.microsoft.com/kb/2497528/ko
1 | exec sp_readerrorlog |
SQL Server의 현재 상태를 가장 정확하고 빠르게 파악할 수 있는 SQL Server 에러 로그를 가독하기 좋은 형태로 관리하는 방법을 소개합니다.
아울러 이를 별도의 테이블로 관리할 수 있는 방법을 설명합니다.
방법
- SQL Server 에러 로그 읽기
- SQL Server Management Studio(SSMS) 실행하기
[시작], [모든 프로그램], [Micro SQL Server 2005](또는 Micro SQL Server 2008이나 2008 R2), [SQL Server Management Studio]를 차례대로 클릭하여 SQL Server Management Studio를 실행하세요. - 데이터베이스 연결하기
연결 정보(서버 이름 또는 IP Address 및 로그인 정보)를 입력하여 조회하고자 하는 서버와 연결하세요. - sp_readerrolog 구문 실행
이 때, 실행 버튼(F5 혹은 CTRL+E)을 누르기 전에 [텍스트로 결과 표시]를()선택하거나CTRL+T를 누르세요.
이후 실행하게 되면 아래와 같이 가독하기 좋은 형태로 에러 로그를 확인할 수 있습니다.
서버의 정보(OS 및 SQL Sever의 버전, 서버 이름), master 데이터베이스 및 에러 로그 파일의 위치 및 활성화된 Trace Flag의 정보도 확인할 수 있습니다.
스크롤바를 이동하여 현재 시점에서 주목할 만한 메시지는 없는지 확인하도록 합니다.
- SQL Server Management Studio(SSMS) 실행하기
- SQL Server 에러 로그 관리하기
SQL Server 에러 로그는 기본적으로 총 7개의 파일로 관리 됩니다. 서비스가 재시작 될 때 마다 Rollover 되며, 기본 파일의 수를 넘어서는 로그는 사라집니다.
따라서 예기치 않은 이유로 SQL Server가 여러 번 반복적으로 재시작 되면 문제 시점의 로그를 확보할 수 없게 될 수도 있습니다. 이를 예방하기 위해 기본적으로 관리되는 7개의 파일 보다 더 많은 수의 파일로 관리되도록 조정할 수 있습니다.
여기서는 파일의 수를 늘리는 것이 아닌 에러 로그를 테이블로 관리하는 방법을 소개합니다. 이 내용은 How to Archive your SQL Errorlogs into a Table에서도 확인할 수 있습니다.
수 많은 로그인 실패 메시지 등이 로깅 되면서 하나의 에러 로그 파일의 크기가 매우 커지게 되는 경우가 발생할 수 있습니다.
이러한 경우, 에러 로그를 로그 뷰어나 sp_readerrorlog 구문으로 읽기를 시도하면 오랜 시간이 걸릴 수 있으므로 내가 원하는 시간에 대한 로그 파악이 어려울 수도 있습니다.
이 때 활용할 수 있는 방법은 다음과 같습니다.- SQL Server Errorlog 및 Agent Log 관리용 테이블 생성
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MS_SQLERRORLOG]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[MS_SQLERRORLOG]( [LogDate] [datetime] NULL, [ProcessInfo] [varchar](10) NULL, [Text] [varchar](max) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MS_SQLAGENTLOG]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[MS_SQLAGENTLOG]( [LogDate] [datetime] NULL, [ProcessInfo] [varchar](10) NULL, [Text] [varchar](max) NULL ) ON [PRIMARY] END GO
- 현재 시점까지의 Errorlog 저장하기
INSERT INTO MS_SQLERRORLOG EXEC ('sp_readerrorlog') GO EXEC msdb.dbo.sp_cycle_errorlog GO
- 현재 시점까지의 Agent Log 저장하기(에이전트 서비스가 반드시 동작 중이어야 함)
INSERT INTO MS_SQLAGENTLOG EXEC ('sp_readerrorlog -1, 2') GO EXEC msdb.dbo.sp_cycle_agent_errorlog GO
- 테이블 생성 후 2), 3)의 방법을 주기적으로 수행하여 SQL Server 로그를 테이블로 이관하여 관리하면, Log Date 및 ProcessInfo 등에 따라서 원하는 내용의 로그를 보다 빠르게 확인할 수 있으며 아울러 에러 로그의 크기가 커져서 디스크의 공간을 과도하게 차지하는 것을 예방할 수 있습니다.
- SQL Server Errorlog 및 Agent Log 관리용 테이블 생성
'MS-SQL' 카테고리의 다른 글
DB 복원후 계정 매핑 (0) | 2016.07.20 |
---|---|
MS-SQL 빌드버전 분류 (0) | 2016.07.17 |
LDF 최대용량 및 로그 삭제가 안될 때 (0) | 2016.06.29 |
디비 로그 축소 (0) | 2016.06.29 |
[MSSQL] CPU 부하가 큰 쿼리 점검 (0) | 2016.06.29 |
--디비 연결 끊고 다시 연결하기
exec
sp_helpdb 디비명
SP_ATTACH_SINGLE_FILE_DB 디비명,
'E:폴더*.MDF'
출처 http://www.uhoon.co.kr/mssql/2268
'MS-SQL' 카테고리의 다른 글
MS-SQL 빌드버전 분류 (0) | 2016.07.17 |
---|---|
SQL Server 에러 로그 확인 및 관리 방법 (0) | 2016.06.29 |
디비 로그 축소 (0) | 2016.06.29 |
[MSSQL] CPU 부하가 큰 쿼리 점검 (0) | 2016.06.29 |
SQL Server 현재 접속 로그인, IP 확인 (0) | 2016.06.29 |
2008 이전 버전에서
1 2 | BACKUP LOG 디비 WITH TRUNCATE_ONLY DBCC SHRINKFILE(로그,용량) |
2008 이후 버전에서 이전버전과 같이 실행하면 오류가..T^T
1 2 | 메시지 155, 수준 15, 상태 1, 줄 1 'TRUNCATE_ONLY' 은(는) 인식할 수 없는 BACKUP 옵션입니다. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | --EXEC sp_helpdb 디비명 --go ALTER DATABASE 디비명 SET RECOVERY SIMPLE go DBCC SHRINKFILE(논리적로그이름) go --EXEC sp_helpdb 디비명 --go ALTER DATABASE 디비명 SET RECOVERY FULL go |
'MS-SQL' 카테고리의 다른 글
SQL Server 에러 로그 확인 및 관리 방법 (0) | 2016.06.29 |
---|---|
LDF 최대용량 및 로그 삭제가 안될 때 (0) | 2016.06.29 |
[MSSQL] CPU 부하가 큰 쿼리 점검 (0) | 2016.06.29 |
SQL Server 현재 접속 로그인, IP 확인 (0) | 2016.06.29 |
MS-SQL DB복구 (0) | 2014.12.22 |
SELECT TOP 20
[Average CPU used] = total_worker_time / qs.execution_count
,[Total CPU used] = total_worker_time
,[Execution count] = qs.execution_count
,[Individual Query] = SUBSTRING (qt.text,qs.statement_start_offset/2,
(CASE WHEN qs.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
ELSE qs.statement_end_offset END -
qs.statement_start_offset)/2)
,[Parent Query] = qt.text
,DatabaseName = DB_NAME(qt.dbid)
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
ORDER BY [Total CPU used] DESC, [Average CPU used] DESC;
'MS-SQL' 카테고리의 다른 글
SQL Server 에러 로그 확인 및 관리 방법 (0) | 2016.06.29 |
---|---|
LDF 최대용량 및 로그 삭제가 안될 때 (0) | 2016.06.29 |
디비 로그 축소 (0) | 2016.06.29 |
SQL Server 현재 접속 로그인, IP 확인 (0) | 2016.06.29 |
MS-SQL DB복구 (0) | 2014.12.22 |
SQL Server 2005,2008 에서 현재 서버에 접속한 사용자의 계정과 접속시간, 마지막 배치시간, IP Address 를 확인하는 방법에 대해서 아래와 같이 정리하였습니다.
[T-SQL]
FROM sys.sysprocesses S, sys.dm_exec_connections C
WHERE S.spid = C.SESSION_ID
[수행결과]
로컬이 아닌 다른 클라이언트에서 접속하였다면 CLIENT_NET_ADDRESS 에 IP Addess 가 나타나게 됩니다.
'MS-SQL' 카테고리의 다른 글
SQL Server 에러 로그 확인 및 관리 방법 (0) | 2016.06.29 |
---|---|
LDF 최대용량 및 로그 삭제가 안될 때 (0) | 2016.06.29 |
디비 로그 축소 (0) | 2016.06.29 |
[MSSQL] CPU 부하가 큰 쿼리 점검 (0) | 2016.06.29 |
MS-SQL DB복구 (0) | 2014.12.22 |
MSSQL에는 두가지 백업 방식이 있다.
전체 백업방식과 DB원본 파일인 MDF,LDF을 이용한 백업 방식이있다
우선은 BAK 방식을 설명 할 거다. 왜냐하면 최근 작업은 BAK 파일을 이용하여 하였다.
이번 작업을 통해 알게 된 내용인데 DB암호화 프로그램으로 시스템을 운용시에는 DB 원본 파일로 복구가 불가능 함..
1.DB 백업 선택.
2. 백업 위치 삭제
3. 백업 대상 위치설정
4.백업 대상 위치 및 파일 이름 설정. 유의할점은 파일유형 모든파일로 선택.
5. 설정 확인.
6. 데이터베이스 복원.
7. 장치 - ... 선택 - 추가 후 모든파일로하여 백업DB선택.
8. 복원에 사용할 백업 세트 선택에서 DB체크후 데이터베이스 - DB이름 선택.
'MS-SQL' 카테고리의 다른 글
SQL Server 에러 로그 확인 및 관리 방법 (0) | 2016.06.29 |
---|---|
LDF 최대용량 및 로그 삭제가 안될 때 (0) | 2016.06.29 |
디비 로그 축소 (0) | 2016.06.29 |
[MSSQL] CPU 부하가 큰 쿼리 점검 (0) | 2016.06.29 |
SQL Server 현재 접속 로그인, IP 확인 (0) | 2016.06.29 |