일단모아/마구마구

mssql에서 " 웜 대기 상태입니다 " 처리방법 및 기본정보

반생자 2009. 3. 25. 13:10

 

 

mssql2005에서 복원을 했는데 복원된 DB가 읽기전용으로 되면서 " 웜 대기 상태입니다"어쩌구 나옴

db백업파일을 가지고 복원후 바로 *.bak파일을 지웠더니 발생 아마도 모두 복구가 되기전에

백업파일을 지워서 생긴것 같음

 

처리방법: sql메니지 먼트 툴에서  읽기전용은로 된 디비는 복원이 로그밖에 않된다 하지만

              상위의 데이타베이스 항목에서 오른쪽 마우스 클릭하면 "데이타베이스복원"이 뜬다

              다시 데이타베이스를 복원하면 정상적으로 작동한다.

 

----====================================================================================
1. 데이터베이스 생성

----------------------------------------------------------------------------------
CREATE DATABASE [Testchae] on PRIMARY
(NAME=N'Testchae_Data', FILENAME = N'D:\SQLData\MSSQL\Data\Testchae_Date.MDF', SIZE = 5, MAXSIZE = 100, FILEGROWTH=10%)
LOG on (NAME=N'Testchae_LDF', FILENAME = N'D:\SQLData\MSSQL\Data\Testchae_Log.LDF', SIZE = 2, FILEGROWTH=1MB)

 

2. 데이터베이스 늘리기
-----------------------------------------------------------------------------------

- 파일의 크기 변경
ALTER DATABASE [Testchae] MODIFY (NAME='Testchae', SIZE=10)
GO

- 파일 그룹 생성
ALTER DATABASE [Testchae] ADD FILEGROUP [Second]
Go

- 추가된 파일그룹에 새로운 파일 추가
ALTER DATABASE [Testchae] ADD FILE
(NAME=N'Testchae_Data2', FILENAME = N'D:\SQLData\MSSQL\Data\Testchae_Date2.MDF', SIZE = 5,FILEGROWTH=10%)
To FILEGROUP [Second]
Go

 

3. 데이터베이스 줄이기
------------------------------------------------------------------------------------- 데이터베이스 옵션중 Auto Shink를 활성화 : 주기적으로 검사하여 25% 이상의 빈 공간이 있을 경우 자동을 줄임

- DBCC SHINKFILE : 해당파일의 5M 크기로 줄임
USE TestChae
DBCC SHRINKFILE(Testchae_Data, 5)
GO

- DBCC SHINKDATABASE : 명시된 율(%)만큼의 데이터 파일에 대한 최종 빈공간을 남기고 줄임
USE TestChae
DBCC SHRINKDATABASE(Testchae, 25)
GO

- EMPTFILE 옵션으로 기존의 내용을 다른 파일로 옮기고 제거하기
DBCC SHRINKFILE (Testchae_Data2, EMPTYFILE)
ALTER DATABASE Testchae REMOVE FILE Testchae_Data2
GO

4. 파일 그룹의 사용
------------------------------------------------------------------------------------- 사용 목적
. 테이블과 인덱스에 대해 어떠한 파일그릅에 기록할지 명시할 수 있다.
. HDD I에 대해 정확한 분산처리를 사용자가 명시할 수 있도록 하는 것이다.
. 기본적으로 PRIMARY 파일그룹을 제공하고 있으며 LOG 파일은 파일그룹을 지정할 수 없다.

- Second 파일그룹 생성
ALTER DATABASE [Testchae] ADD FILEGROUP [Second]
Go

- Second 파일그룹에 TestChae_Data3 데이터 파일 추가
ALTER DATABASE [Testchae] ADD FILE
(NAME=N'Testchae_Data3', FILENAME = N'D:\SQLData\MSSQL\Data\Testchae_Date3.MDF', SIZE = 1, FILEGROWTH=10%)
To FILEGROUP [Second]
Go

- UK_Sale라는 인덱스를 Second 파일 그룹에 만들기
CREATE UNIQUE INDEX UK_Sales on Sales(Data, SlipNo) on [Second]

5. 데이터베이스 이름 바꾸기
------------------------------------------------------------------------------------- 제한조건
. 해당 데이터베이스에 대해서 아무도 사용하고 있지 않아야함

- 데이터베이스 이름 변경
sp_dboption Testchae, 'Single user', TRUE
sp_renamedb 'Testchae', 'Chaetest'
sp_dboption Chaetest, 'Single user', FALSE
Go

6. 데이터베이스 삭제
------------------------------------------------------------------------------------- 제한조건
. 해당 데이터베이스에 대해서 아무도 사용하고 있지 않아야함

- 데이터베이스 삭제
DROP DATABASE Chaetest, testChae
GO

7. 데이터베이스 옵션 설정
------------------------------------------------------------------------------------- 사용방법
. sp_dboption or Enterprise 관리자
. 데이터베이스 옵션을 표시하거나 변경
. master 또는 tempdb 데이터베이스에서는 sp_dboption을 사용 금지
. sp_dboption은 이전 버전과의 호환성 용도로 지원됩니다
. 데이터베이스 옵션을 설정하려면 ALTER DATABASE를 사용합니다
- 구문
sp_dboption [ [ @dbname = ] 'database' ]
[ , [ @optname = ] 'option_name' ]
[ , [ @optvalue = ] 'value' ]

인수
[@dbname =] 'database' : 지정된 옵션을 설정할 데이터베이스의 이름입니다. database는 sysname이며, 기본값은 NULL입니다.


[@optname =] 'option_name' : 설정할 옵션의 이름입니다. 옵션 이름을 전부 입력할 필요는 없습니다. Microsoft® SQL Server™는 고유한 이름의 모든 부분을 인식합니다. 옵션 이름에 포함 공백이 있거나 옵션 이름이 키워드인 경우, 옵션 이름 앞뒤에 따옴표 표시를 합니다. 이 매개 변수가 생략된 경우에는 sp_dboption이 사용 중인 옵션을 나열합니다. option_name은 varchar(35)이며, 기본값은 NULL입니다.

 

[@optvalue =] 'value' : option_name의 새 설정입니다. 이 매개 변수가 생략된 경우에는 sp_dboption이 현재 설정을 반환합니다. value는 true, false, on 또는 off가 될 수 있습니다. value는 varchar(10)이며, 기본값은 NULL입니다.

 

반환 코드 값
0(성공) 또는 1(실패)

 

- 사용 권한
사용 권한을 실행하여 현재 데이터베이스에 설정된 사용 가능한 데이터베이스 옵션 목록과 0, 1 또는 2 매개 변수로 sp_dboption을 사용하여 모든 사용자에 대해 기본값이 되는 데이터베이스 옵션의 현재 값을 표시할 수 있습니다.
사용 권한을 실행하여 모든 매개 변수로 sp_dboption 을 사용하여 sysadmin 및 dbcreator 고정 서버 역할 구성원 및 db_owner 고정 데이터베이스 역할 구성원에 대해 기본값이 되는 옵션을 변경할 수 있습니다. 이 권한은 전송할 수 없습니다.

 

- 기본 값이 on인 옵션
auto create statistics,
auto update statistics,
torn page detechtion

- 예제
A. 데이터베이스를 읽기 전용으로 설정
USE master
EXEC sp_dboption 'pubs', 'read only', 'TRUE'

 

B. 옵션 해제로서 다음은 pubs 데이터베이스를 다시 기록할 수 있도록 만드는 예제
USE master
EXEC sp_dboption 'pubs', 'read only', 'FALSE'


C. 데이터베이스를 오프라인으로 설정(다음은 해당 데이터베이스를 액세스하는 사용자가 없을 때 sales 데이터베이스를 오프라인으로 설정하는 예제)
USE master
EXEC sp_dboption 'sales', 'offline', 'TRUE'