새소식

반응형
Database/MSSQL Server

MSSQL_DB내의 개체 생성 스크립트 생성

  • -
반응형

가끔 DB내의 모든 테이블을 생성,삭제 스크립트를 추출해야 하는 경우가 있습니다.

테이블 및 SP에 대한 스크립트 추출은 아래의 그림처럼 하면 간단히 나오지만 인덱스의 경우는 옵션을 체크해야 합니다.


인덱스 이외에도 뷰,사용자 등 여러가지 개체를 스크립트 형식으로 추출 가능 합니다.

이번 포스트에서는 테이블에 있는 인덱스 및 테이블을 추출 하는 것을 테스트 해봤습니다.





옵션은 다음과 같이 설정이 가능 합니다.


스크립트를 추출 할 DB선택 -> 태스크(T) -> 스크립트 생성(E)





다음의 페이지가 나오면 다음을 클릭 합니다.





다음 화면에서 "특정 데이터베이스 개체 선택(O)"을 클릭 합니다.

테스트이므로, 테이블에 있는 인덱스 생성이 목적이므로, 테이블쪽만 선택하겠습니다.




테이블을 체크하고 (만약 특정 테이블만 원하면 +버튼을 클릭하면 리스트가 나옵니다. 그곳에서 필요한 것만 체크하면 됩니다.)

다음을 클릭 합니다.


다음을 클릭하면 다음과 같이 저장 형태를 물어보는데, 여기서 보통 저는 클립보드에 저장 한뒤 붙여넣는 방식을 즐겨 쓰고 있습니다.

저장 방법을 선택하고, 고급을 누릅니다.





고급을 누르면 다음과 같이 옵션을 선택 할 수 있습니다.

여기서 인덱스 스크립팅 부분을 True로 변경해 주면 인덱스 생성 스크립트도 한번에 추출하게 됩니다.




이후 확인을 누르고 다음을 누르면 스크립트가 클립보드에 복사 됩니다.

이 스크립트를 메모장 또는 SQL 쿼리 실행기 쪽에 붙여넣으면 다음과 같이 나타 납니다.


아래의 내용은 스크립트의 내용중 일부 입니다.

/****** Object:  Index [CustomersOrders]    Script Date: 2015-03-26 오후 5:11:06 ******/

CREATE NONCLUSTERED INDEX [CustomersOrders] ON [dbo].[Orders]

(

             [CustomerID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO

/****** Object:  Index [EmployeeID]    Script Date: 2015-03-26 오후 5:11:06 ******/

CREATE NONCLUSTERED INDEX [EmployeeID] ON [dbo].[Orders]

(

             [EmployeeID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO

/****** Object:  Index [EmployeesOrders]    Script Date: 2015-03-26 오후 5:11:06 ******/

CREATE NONCLUSTERED INDEX [EmployeesOrders] ON [dbo].[Orders]

(

             [EmployeeID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO

/****** Object:  Index [OrderDate]    Script Date: 2015-03-26 오후 5:11:06 ******/

CREATE NONCLUSTERED INDEX [OrderDate] ON [dbo].[Orders]

(

             [OrderDate] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO

/****** Object:  Index [ShippedDate]    Script Date: 2015-03-26 오후 5:11:06 ******/

CREATE NONCLUSTERED INDEX [ShippedDate] ON [dbo].[Orders]

(

             [ShippedDate] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO

 


반응형

'Database > MSSQL Server' 카테고리의 다른 글

MSSQL_DMV 모음(1)  (0) 2015.04.09
MSSQL_쿼리 결과값 테이블에 넣기  (0) 2015.04.09
Buffer Manager/Buffer Cache Hit Ratio  (0) 2015.04.06
MSSQL_인스턴스  (0) 2015.04.06
MSSQL_System Database  (0) 2015.04.06
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.