MS-SQL 2016. 8. 5. 10:49

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
posted by ManggoLee
:
MS-SQL 2016. 7. 20. 23:51

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
posted by ManggoLee
:
MS-SQL 2016. 7. 17. 16:14

마이크로소프트의 SQL Server의 버전일람입니다.

SP레벨이라면 쿼리로 확인이 가능합니다만, CU의 경우는 빌드번호로 판단을 해야되기 때문에 또 다시 인터넷을 검색해야된다는 귀찮음이... 흐흐

SQL Server 2008 R2
SQL Server 2008 R2 CTP2                              10.50.1092
SQL Server 2008 R2 CTP3                              10.50.1352
SQL Server 2008 R2 RTM                              10.50.1600
SQL Server 2008 R2 RTM CU1                      10.50.1702
SQL Server 2008 R2 RTM CU2                      10.50.1720
SQL Server 2008 R2 RTM CU3                      10.50.1734
SQL Server 2008 R2 RTM CU4                      10.50.1746

SQL Server 2008
SQL Server 2008 RTM 10.0.1600
SQL Server 2008 Service Pack 1 (SP1)       10.0.2531
SQL Server 2008 Service Pack 1 (SP1) CU1       10.0.2710
SQL Server 2008 Service Pack 1 (SP1) CU2       10.0.2714
SQL Server 2008 Service Pack 1 (SP1) CU3       10.0.2723
SQL Server 2008 Service Pack 1 (SP1) CU4       10.0.2734
SQL Server 2008 Service Pack 1 (SP1) CU5       10.0.2746
SQL Server 2008 Service Pack 1 (SP1) CU6       10.0.2757
SQL Server 2008 Service Pack 1 (SP1) CU7       10.0.2766
SQL Server 2008 Service Pack 1 (SP1) CU8       10.0.2775
SQL Server 2008 Service Pack 1 (SP1) CU9       10.0.2789
SQL Server 2008 Service Pack 2 (SP2)       10.0.4000

SQL Server 2005
SQL Server 2005 RTM                9.00.1399 
SQL Server 2005 Service Pack 1 (SP1)        9.00.2047
SQL Server 2005 Service Pack 2 (SP2)        9.00.3042 
SQL Server 2005 Service Pack 3 (SP3)        9.00.4035

SQL Server 2000
SQL Server 2000 RTM                 8.00.194  
SQL Server 2000 Service Pack 1 (SP1)         8.00.384   
SQL Server 2000 Service Pack 2 (SP2)         8.00.534
SQL Server 2000 Service Pack 3 (SP3)         8.00.760
SQL Server 2000 Service Pack 3a (SP3a)         8.00.760
SQL Server 2000 Service Pack 4 (SP4)         8.00.2039

SQL Server 7.0
SQL Server 7.0 RTM                 7.00.623
SQL Server 7.0 Service Pack 1 (SP1)         7.00.699
SQL Server 7.0 Service Pack 2 (SP2)         7.00.842
SQL Server 7.0 Service Pack 3 (SP3)         7.00.961
SQL Server 7.0 Service Pack 4 (SP4)         7.00.1063

SQL Server 6.5
        SQL Server 6.5 RTM                 6.50.201
SQL Server 6.5 Service Pack 1 (SP1)         6.50.213
SQL Server 6.5 Service Pack 2 (SP2)         6.50.240
SQL Server 6.5 Service Pack 3 (SP3)         6.50.258
SQL Server 6.5 Service Pack 4 (SP4)         6.50.281
SQL Server 6.5 Service Pack 5 (SP5)         6.50.415
SQL Server 6.5 Service Pack 5a (SP5a)         6.50.416
SQL Server 6.5 Service Pack 5a (SP5a) Update 6.50.479

마이크로소프트의 KB는 여기를 참고하세요~


출처:http://virtualhive.tistory.com/324


'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
posted by ManggoLee
:
MS-SQL 2016. 6. 29. 20:41

SQL  에러 로그 확인 방법입니다..


참고 Url : http://support.microsoft.com/kb/2497528/koViewer


1
exec sp_readerrorlog



 SQL Server의 현재 상태를 가장 정확하고 빠르게 파악할 수 있는 SQL Server 에러 로그를 가독하기 좋은 형태로 관리하는 방법을 소개합니다.


아울러 이를 별도의 테이블로 관리할 수 있는 방법을 설명합니다.


방법
다음 방법을 순서대로 따라 해 보세요.
  1. SQL Server 에러 로그 읽기
    1. SQL Server Management Studio(SSMS) 실행하기

      [시작], [모든 프로그램], [Micro SQL Server 2005](또는 Micro SQL Server 2008이나 2008 R2), [SQL Server Management Studio]를 차례대로 클릭하여 SQL Server Management Studio를 실행하세요.


    2. 데이터베이스 연결하기

      연결 정보(서버 이름 또는 IP Address 및 로그인 정보)를 입력하여 조회하고자 하는 서버와 연결하세요.


    3. sp_readerrolog 구문 실행


      이 때, 실행 버튼(F5 혹은 CTRL+E)을 누르기 전에 [텍스트로 결과 표시]를(  )선택하거나CTRL+T를 누르세요.

      이후 실행하게 되면 아래와 같이 가독하기 좋은 형태로 에러 로그를 확인할 수 있습니다.



      서버의 정보(OS 및 SQL Sever의 버전, 서버 이름), master 데이터베이스 및 에러 로그 파일의 위치 및 활성화된 Trace Flag의 정보도 확인할 수 있습니다.

      스크롤바를 이동하여 현재 시점에서 주목할 만한 메시지는 없는지 확인하도록 합니다.

  2. SQL Server 에러 로그 관리하기

    SQL Server 에러 로그는 기본적으로 총 7개의 파일로 관리 됩니다. 서비스가 재시작 될 때 마다 Rollover 되며, 기본 파일의 수를 넘어서는 로그는 사라집니다. 
    따라서 예기치 않은 이유로 SQL Server가 여러 번 반복적으로 재시작 되면 문제 시점의 로그를 확보할 수 없게 될 수도 있습니다. 이를 예방하기 위해 기본적으로 관리되는 7개의 파일 보다 더 많은 수의 파일로 관리되도록 조정할 수 있습니다.
    여기서는 파일의 수를 늘리는 것이 아닌 에러 로그를 테이블로 관리하는 방법을 소개합니다. 이 내용은 How to Archive your SQL Errorlogs into a Table에서도 확인할 수 있습니다. 

    수 많은 로그인 실패 메시지 등이 로깅 되면서 하나의 에러 로그 파일의 크기가 매우 커지게 되는 경우가 발생할 수 있습니다.



    이러한 경우, 에러 로그를 로그 뷰어나 sp_readerrorlog 구문으로 읽기를 시도하면 오랜 시간이 걸릴 수 있으므로 내가 원하는 시간에 대한 로그 파악이 어려울 수도 있습니다. 

    이 때 활용할 수 있는 방법은 다음과 같습니다.
    1. 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
    2. 현재 시점까지의 Errorlog 저장하기
      INSERT INTO MS_SQLERRORLOG
      EXEC ('sp_readerrorlog')
      GO
      
      EXEC msdb.dbo.sp_cycle_errorlog
      GO
    3. 현재 시점까지의 Agent Log 저장하기(에이전트 서비스가 반드시 동작 중이어야 함)
      INSERT INTO MS_SQLAGENTLOG
      EXEC ('sp_readerrorlog -1, 2')
      GO
      
      EXEC msdb.dbo.sp_cycle_agent_errorlog
      GO
    4. 테이블 생성 후 2), 3)의 방법을 주기적으로 수행하여 SQL Server 로그를 테이블로 이관하여 관리하면, Log Date 및 ProcessInfo 등에 따라서 원하는 내용의 로그를 보다 빠르게 확인할 수 있으며 아울러 에러 로그의 크기가 커져서 디스크의 공간을 과도하게 차지하는 것을 예방할 수 있습니다.


'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
posted by ManggoLee
:
MS-SQL 2016. 6. 29. 20:40
--디비 연결 끊고 다시 연결하기
 
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
posted by ManggoLee
:
MS-SQL 2016. 6. 29. 20:39

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


posted by ManggoLee
:
MS-SQL 2016. 6. 29. 20:29

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
posted by ManggoLee
:
MS-SQL 2016. 6. 29. 20:26



SQL Server 2005,2008 에서 현재 서버에 접속한 사용자의 계정과 접속시간, 마지막 배치시간, IP Address 를 확인하는 방법에 대해서 아래와 같이 정리하였습니다. 

[T-SQL]

SELECT S.SPID, S.LOGINAME, S.LOGIN_TIME, S.LAST_BATCH, C.CLIENT_NET_ADDRESS 
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
posted by ManggoLee
:
MS-SQL 2014. 12. 22. 20:36

MSSQL에는 두가지 백업 방식이 있다.

전체 백업방식과 DB원본 파일인 MDF,LDF을 이용한 백업 방식이있다

우선은 BAK 방식을 설명 할 거다. 왜냐하면 최근 작업은 BAK 파일을 이용하여 하였다.

이번 작업을 통해 알게 된 내용인데 DB암호화 프로그램으로 시스템을 운용시에는 DB 원본 파일로 복구가 불가능 함..


1.DB 백업 선택.


2. 백업 위치 삭제

3. 백업 대상 위치설정

4.백업 대상 위치 및 파일 이름 설정. 유의할점은 파일유형 모든파일로 선택.

5. 설정 확인.

6. 데이터베이스 복원.

7. 장치 - ... 선택 - 추가 후 모든파일로하여 백업DB선택.

8. 복원에 사용할 백업 세트 선택에서 DB체크후 데이터베이스 - DB이름 선택.



posted by ManggoLee
: