가끔.. 데이터 베이스 파일을 백업 받고..

옮겨서 복원하는 경우가 있습니다.

헌데 로그 파일의 사이즈가 너무 큰 경우..

 

복원하고 나니.. 하드가 모자라서.. 사이즈 조정이 필요한 경우..

아래와 같이 하시면 됩니다.

 

SP_HELPDB PORTALSTATISTICS

USE DataBaseName;
ALTER DATABASE DataBaseName
SET RECOVERY SIMPLE;
GO

DBCC SHRINKFILE (DataBaseName_log, 1);
GO

ALTER DATABASE DataBaseName
SET RECOVERY FULL;
GO

 

SP_HELPDB를 이용해서 축소하고자 하는 Database의 Log 파일 명을 알아냅니다.

 

그리고 위에 보이는 Database_log 의 이름을 해당 디비 이름으로 변경하시고.. 위의 쿼리를 실행하면 아래와 같이 쭈욱 쭐어드는 것을 볼 수 있습니다.

 

쿼리 실행결과는 아래와 같습니다.

 

이상입니다.


MSDN에 잘 나와 있는 내용입니다.

MSDN의 경로는 아래와 같습니다.

PIVOT 및 UNPIVOT 사용

피벗 변환

 

제가 만들고자 하는 내용은 아래와 같습니다.

데이터는 일자, 회사코드, 사용자 아이디 와 같은 경태로 입력됩니다.

이걸 일자에 회사코드 별 사용자 수를 출력하려고 합니다.

 

이럴 때 피벗을 이용하면 쉽게 해결 할 수 있는데요.

아래와 같은 모양을 두 번째 그림처럼 만들려고 합니다.

 

 

첫 번째 이미지의 코드는 아래와 같습니다.

SELECT CREATE_DAY, COMP_CODE, COUNT(USER_ID) AS USER_CNT
  FROM TB_VISITED_LOG
 WHERE COMP_CODE IS NOT NULL
 GROUP BY COMP_CODE, CREATE_DAY
 ORDER BY CREATE_DAY DESC

 

두 번째 이미지의 코드는 아래와 같습니다.

DECLARE @Prod varchar(2000)
SELECT	@Prod = ''
	
SELECT	@Prod = @Prod + '[' + COMP_CODE + '],'
  FROM	(SELECT Distinct COMP_CODE FROM TB_VISITED_LOG WHERE COMP_CODE IS NOT NULL) A
SELECT	@Prod = LEFT(@Prod, LEN(@Prod) - 1)

DECLARE	@NSQL	NVARCHAR(MAX)
SELECT	@NSQL	=  N'
SELECT CREATE_DAY, ' + @Prod + '
  FROM (
	SELECT CREATE_DAY, COMP_CODE, ISNULL(COUNT(USER_ID), 0) AS CNT
	  FROM TB_VISITED_LOG
	 WHERE COMP_CODE IS NOT NULL
	 GROUP BY CREATE_DAY, COMP_CODE
) T
 PIVOT (MAX(CNT) FOR COMP_CODE IN (' + @Prod + ')
) AS PVT
 ORDER BY CREATE_DAY DESC
'

PRINT @NSQL
EXECUTE dbo.SP_EXECUTESQL  @NSQL

 

위의 코드에 피벗 코드가 포함되어 있습니다.

현재 저는 Count 회사 사용자가 필요하여 PIVOT의 다음의 (MAX가 들어간 것이나 여기에 SUM, COUNT 등의 코드가 들어갈 수 있습니다.

좀 해 보시면 금방 이해 될 것입니다.

 

감사합니다.


 

오늘은 Reporting service 구성 방법에 대해서 알아보도록 하겠습니다.

저는 지금 MSSQL Server 2008 R2가 설치 되어 있는 상태이며, Reporting Service, Analysis Serivce는 설치되어 있지 않습니다.

 

먼저 Reporting Service 란?

Microsoft SQL Server 2008 Reporting Services는 엔터프라이즈 보고 수명주기를 지원하도록 설계된 전체 서버 기반 플랫폼을 제공하므로 조직은 엔터프라이즈 전체에서 필요로 하는 적절한 정보를 전달할 수 있습니다.

  • 작성

    • 광범위한 보고를 작성합니다. 고급 시각화 및 독특하고 유연한 설계 기능을 활용하여 모든 보고 요구사항을 준수합니다.

  • 관리

    • 보고 작업량의 크기를 조정하고 관리합니다. 엔터프라이즈급으로 설계된 신뢰할 수 있는 중앙배포형 보고환경을 효율적으로 관리합니다.

  • 전달

    • 개인설정된 대화형 보고를 전달합니다. 적절한 보고를 사용하여 모든 사용자에게 동적으로 권한을 부여합니다.

 

이라고 설명 되어 있습니다.

좀 더 자세한 내용은 여기를 선택하여 이동 하십시오.

그리고 영문은 여기를 선택하여 이동 하십시오.

 

그리고 아래 동영상 더 보기를 선택하여 동영상 자료도 확인 할 수 있습니다.


 

Reporting Services 설치 시 고려사항은 여기를 선택하여 이동 후 확인 하십시오.

SQL Server 2008 R2 설치를 위한 하드웨어 및 소프트웨어 요구 사항은 여기를 선택하여 이동 후 확인 하십시오.

 

지금 제 컴퓨터의 구성 내역입니다.

  • Windows Server 2008 R2
  • SQL Server 2008 R2 Enterprise
  • IIS 7.5
  • Sharepoint 2010 Server
  • Team Foundation Server 2010

 

Reporting Service를 설치하는 이유가. Team Foundation 2010을 사용하기 위함입니다.

그래서 구성이 좀 틀릴 수 있으니 참고 하시기 바랍니다.

 

아래는 설정 방법입니다.

먼저 Reporting Service 추가하는 방법부터 살펴보도록 하겠습니다.

 

기존에 설치되어 MSSQL Server가 동작하고 있었습니다. 그래서 저는 새로 설치 하지 않고.

기존 인스턴스에 추가하였으며, 새로운 인스턴스나 새로 설치 하시는 분은 새로 설치 또는 공유 기능 추가를 선택하시면 됩니다.

 

 

기능 선택에서 Reporting Services를 선택합니다.

Team Foundation에서 사용하기 위해서는 Analysis Service도 함께 올라가야 됩니다.

 

 

서비스 계정은 저는 Local System으로 하였습니다.

사용자 계정을 통한 방법은 실 업무에서나 사용하는 터라 편하게 저는 로컬 서비스로 올렸습니다.

 

 

분석 서비스에 대한 구성도 있습니다.

저는 현재 사용자만 추가하였으며, 설치하지 않는 분은 그냥 넘어가시면 됩니다.

 

 

설치가 끝난 후 Reporting Service 구성을 하면 됩니다.

 

 

 

 

이렇게 하면 설치가 완료 되었으며, 구성은 따로 하여야 합니다.

구성은 시작 –> 모든 프로그램 –> Microsoft SQL Server 2008 R2 –> 구성 도구 –> Reporting Service 구성 관리자

 

 

실행하게 되면 아래와 같은 그림이 나옵니다.

자기 컴퓨터 이름을 입력하시면 됩니다.

 

 

구성 순서는 다음과 같습니다.

  1. 데이터베이스 구성
  2. 보고서 URL 구성
  3. 웹 서비스 URL 구성

 

먼저 DataBase 구성입니다.

왼쪽 데이터베이스 선택 –> 보고서 서버 데이터베이스 –> 데이터베이스 변경 선택

 

 

새 보고서 서버 데이터베이스 만들기 선택

 

 

데이터베이스 연결 인증 구성

 

 

데이터베이스 이름 및 보고서 서버 모드 설정

보고서 서버 모드는 Team Foundation을 위해 기본 모드로 설정합니다.

Sharepoint 통합 모드에 대해서 좀 더 자세한 내용은 MSDN을 참고 하시기 바랍니다.

여기를 선택하여 이동

 

 

Reporting Service에서 Database에 연결하는 인증 구성입니다.

저는 역시 Local System 계정을 이용하였습니다.

 

 

 

 

 

이렇게 되면 Database 구성이 완료 됩니다.

다음은 Web Service URL 구성을 진행하도록 하겠습니다.

 

좌측 : 웹 서비스 URL 선택

 

가상 디렉터리 명, IP 주소, TCP 포트, SSL 인증서 등을 구성할 수 있습니다.

저는 기본으로 합니다.

그리고 적용버튼을 누르게 되면, 자동으로 보고서 URL이 완성됩니다.

 

 

 

원래는 아무것도 없습니다.

헌데 지금은 TFS를 연결해 놓은 상태라서 TFS….이런 것이 보이는 상태입니다.

 

위와 같은 방법으로.

보고서 관리자 URL도 생성하시면 됩니다.

 

 

그리고 실행 계정을 등록합니다.

 

 

계정은 domain/loginId와 같은 순으로 합니다.

 

 

적용 버튼을 선택하게 되면 완료 됩니다.

 

 

이렇게 MSSQL Server의 Reporting Services를 구성하였습니다.

 

참고 URL

새 설치(Reporting Services) MSDN

Reporting Services 구성 방법 도움말 항목 중 기본 구성

 

감사합니다.




먼저 단순하게 SSMS에서 변경하는 방법입니다.

 


 

사용자를 더블 클릭하고..



암호를 변경하면 됩니다.

 

이전 암호를 지정하시고. 변경하셔도 됩니다. *_*;;;

 

명령 프롬프트를 이용한 변경 방법


 

-- change password
sp_password @old = null, @new = 'complexpwd', @loginame ='sa'
go

 

여기서 osql은 뭐 대충 open sql 인 것 같습니다.

그리고 –U(반듯이 대문자)는 user를 뜻합니다.

 

사용자 비밀번호를 분실한 경우에는 osql –E 로 로그인 하셔도 됩니다. (-E는 현재 윈도우 계정으로 로그인합니다.)

 

그리고 여기서 인스턴스를 사용하고 있거나 한 경우에는

osql –U sa –S servername\instancename을 입력하시어 접근하시면 됩니다.

-S가 빠진 경우는 기본 인스턴스에 접근하게 됩니다.

 

그리고 동일하게 sp_password procedure를 이용하여 ssms에서 직접 하셔도 됩니다.

 

이상입니다.

 

감사합니다.





프로시저 등등에서 임시테이블을 만들고..

작업 후 삭제 할 경우..
임시 테이블이 있는 경우에만 삭제 하고 싶을때.
임시 테이블을 찾는 방법은 아래와 같습니다.

너무 쉬우니... 그냥 참고만 하세요..

IF(OBJECT_ID ('tempdb..#temps') IS NOT NULL)
DROP TABLE #Temps

SELECT *
  INTO #Temps
  FROM (
	SELECT value from [CmnMgt].[dbo].[UF_COMMON_USER_SELETE_SPLIT](@NAME,',')
) AS T


감사합니다.




LastIndexOf는 CHARINDEX에 REVERSE와 LEN 조합으로 가능..

IndexOf는 CHARINDEX 함수를 이용하면 된다.

아래는 예제...


-- IndexOf
SELECT CHARINDEX('c', 'acaaac')

/*
결과
-----------
2

(1개 행이 영향을 받음)
*/



-- LastIndexOf
SELECT LEN('aaaaac') - CHARINDEX('c', REVERSE('acaaac')) + 1

/*
결과
-----------
6

(1개 행이 영향을 받음)
*/



감사합니다~



-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		고지현
-- Create date: 2010-11-02
-- Description: 해당 DATABASE 를 백업(현재 폴더)하고 백업한 파일을 다시 복구 한다.
/*
	UP_DATABASE_BACKUPnRESTORE 'DataBaseName', 'DataBaseName_101102'
*/
-- =============================================
CREATE PROCEDURE UP_DATABASE_BACKUPnRESTORE
	-- Add the parameters for the stored procedure here
	@DATABASE		VARCHAR(100)
	,@NEW_DATEBASE	VARCHAR(100)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	DECLARE	@QUERY	VARCHAR(4000)

	SET	@QUERY = '
		CREATE TABLE #DBFILE_INFO(
			name		VARCHAR(20)
			,fileid		INT
			,[filename]	NVARCHAR(500)
			,filegroup	VARCHAR(30)
			,[size]		VARCHAR(30)
			,maxsize	VARCHAR(30)
			,growh		VARCHAR(30)
			,usage		VARCHAR(30)
		)

		INSERT INTO #DBFILE_INFO
		EXEC ' + @DATABASE + '.dbo.SP_HELPFILE

		DECLARE @DATA			VARCHAR(20)
				,@DATA_LOG		VARCHAR(20)
				,@DATA_PATH		VARCHAR(20)
				,@DATA_LOG_PATH	VARCHAR(20)

		SELECT	@DATA = name
				,@DATA_PATH = filename
		  FROM	#DBFILE_INFO
		 WHERE	CHARINDEX(''data'', usage) > 0

		SELECT	@DATA_LOG = name
				,@DATA_LOG_PATH = filename
		  FROM	#DBFILE_INFO
		 WHERE	CHARINDEX(''log'', usage) > 0

		DECLARE	@NEW_PATH		VARCHAR(500)
				,@BAK_PATH		VARCHAR(500)
				,@NEW_DATA_PATH	VARCHAR(500)
				,@NEW_LOG_PATH	VARCHAR(500)
				
		SET	@NEW_PATH = SUBSTRING(@DATA_PATH, 1, LEN(@DATA_PATH) - CHARINDEX(''\'', REVERSE(@DATA_PATH)) + 1)
		SET	@BAK_PATH = @NEW_PATH + ''' + @NEW_DATEBASE + '.bak''
		SET	@NEW_DATA_PATH = @NEW_PATH + ''' + @NEW_DATEBASE + '_Data.mdf''
		SET	@NEW_LOG_PATH = @NEW_PATH + ''' + @NEW_DATEBASE + '_Log.ldf''


		BACKUP DATABASE [' + @DATABASE + '] TO
		DISK = @BAK_PATH
		WITH NOFORMAT, NOINIT, NAME = N''' + @NEW_DATEBASE + '-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10

		RESTORE DATABASE [' + @NEW_DATEBASE + '] 
			FROM  DISK = @BAK_PATH
			WITH
				FILE = 1
				,MOVE @DATA TO @NEW_DATA_PATH
				,MOVE @DATA_LOG TO @NEW_LOG_PATH
				,NOUNLOAD
				,STATS = 10

		DROP TABLE #DBFILE_INFO'
		
	--PRINT(@QUERY)
	EXEC @QUERY
END
GO


현재 디비명, 신규 디비명을 입력하면 현재 디비명을 가지고 백업하고 다시 신규 디비명으로 복구 하는 스크립트.

여기에 살을 붙이자면, 백업용, 복구용, 디렉토리 설정 등을 할 수 있겠으나, 귀찮아서 패스~


내가 하는게 항상 그런 듯 ㅋ
아~ 이 놈의 디비의 세계를 어떻게 파해치나 *_*;;;;


갈길이 멀구나 ㅋ



제가 볼려고 그냥 만들어 놓은 것입니다. *_*;;


보시고 오류가 있다면 말씀해 주세요 *_*;;;

더 좋은 쿼리가 있어도 가르쳐 주세요 *_*;;;
제 실력은 여기까지 ㅡ.ㅡ;;;;;

USE [CmnMgt]
GO
/****** Object:  StoredProcedure [dbo].[UP_COMMON_MAIL_SELECT_LIST]    Script Date: 09/06/2010 21:42:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		Angeleyes
-- Create date: 2010-09-06
-- Description:	메일 목록을 가져온다.
/*
	UP_COMMON_MAIL_SELECT_LIST 1, 10, 'C.[Create_Date] DESC'
*/
-- =============================================
ALTER PROCEDURE [dbo].[UP_COMMON_MAIL_SELECT_LIST]
	-- Add the parameters for the stored procedure here
	@PAGENUM		INT				= 1
	,@LISTCNT		INT				= 10
	,@ORDER			VARCHAR(50)		= 'C.[Create_Date] DESC'
	,@SEARCH		VARCHAR(500)	= ''
	,@LANG			VARCHAR(10)		= 'ko'
	
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	DECLARE @TOPINT INT
	DECLARE @TOPEND INT

	SET @TOPINT = (@PAGENUM - 1) * @LISTCNT + 1
	SET @TOPEND = @PAGENUM * @LISTCNT
      
	DECLARE @QUERY_BASE NVARCHAR(4000)
	DECLARE @QUERY_LIST NVARCHAR(4000)
	DECLARE @QUERY_MAXS NVARCHAR(4000)
	
	SET @QUERY_BASE = '
			SELECT
				ROW_NUMBER() OVER(ORDER BY ' + @ORDER + ') AS RNO
				,C.[MailCode]
				,C.[Mail_Type]
			FROM 
				[dbo].[tb_Common_Mail] C
			WHERE
				1 = 1
			' + @SEARCH + ''
				
	SET @QUERY_LIST = '
	WITH #TEMP AS(
		SELECT
			RNO AS RNO
			,[MailCode]
			,[Mail_Type]
		FROM
		(
			'+ @QUERY_BASE +'
		) AS TD
		WHERE
			RNO BETWEEN '+ CONVERT(VARCHAR, @TOPINT) + ' AND '+ CONVERT(VARCHAR, @TOPEND) + '
	)
	
	SELECT 
		TD.[RNO]
		,TD.[MailCode]
		,TD.[Mail_Type]
		,CT.[CATEGORY_NAME]
		,OD.[Mail_Title]
		,OD.[Mail_State]
		,OD.[From_Name]
		,OD.[From_Mail]
		,OD.[AuthorID]
		,[CmnMgt].[dbo].[UF_COMMON_USER_SELECT_USER_NAME](OD.[AuthorID], ''' + @LANG + ''') AS [USER_NAME]
		,OD.[Create_Date]
		,CASE WHEN OD.[Modify_Date] IS NULL THEN OD.[Create_Date] ELSE OD.[Modify_Date] END AS [Modify_Date]
		,CASE WHEN OD.[Create_Date] >= GETDATE() -1 THEN 1
			ELSE 0 END AS [IS_NEW]
	FROM 
		#TEMP AS TD
	INNER JOIN [dbo].[tb_Common_Mail] AS OD WITH(NOLOCK)
	ON	TD.[MailCode] = OD.[MailCode]
	JOIN [CmnMgt].[dbo].[tb_Category] AS CT WITH(NOLOCK)
	ON	OD.[Mail_Type] = CT.[CATEGORY_CODE]'
	
	SET @QUERY_MAXS = '
	SELECT
		COUNT([MailCode]) AS [MAX]
	FROM
	(
		'+ @QUERY_BASE +'
	)T'

--	PRINT (@QUERY_LIST + @QUERY_MAXS)
	EXEC (@QUERY_LIST + @QUERY_MAXS)
END



감사합니다.



 

사용 OS : Windows Server 2008 R2(x64)

ERWin Ver. : 7.1.0.1075

MSSQL : MSSQL Server 2008

 

선행 작업으로. ERWin, MSSQL 등이 설치 되어 있어야 합니다. *_*;;

 

그리고!!

 

아래 DLL 을 C:\Windows\SysWOW64 안에 넣어 주셔야 됩니다.

x86 머신의 경우에는 C:\Windows\System32 안에 넣어 주세요!!

 


위 DLL이 등록되지 않으면 아래와 같은 메시지가 나타납니다.

“unable to locate client connectivty software .check with your database administrator to install the appropriate client software”


위의 메시지가 나오는 ERWin 4.xxx의 버전에서도 dll 등록으로 연결 가능합니다.
참고하시기 바랍니다.

 

연결 해 보도록 하겠습니다.

 

 

 

상단 메뉴 ==> Tools ==> Reverse Engineer


 

다음

 

 

다음

 

Server name의 경우 IP 등을 입력 할 수 있습니다.

저의 경우에는 로컬 연결입니다.

 

Angeleyes 라는 DB에 연결 설정한 화면입니다.

 

 

여기까지입니다.

 

감사합니다~


MSSQL 에서 즉.
Microsoft SQL Server Management Studio 에서 쿼리를 실행하여 NTEXT, TEXT Type을 출력할 경우

데이터의 양이 많으면 데이터를 전체 표현하지 않습니다.
즉 짤리죠 *_*;;

보는 방법은 꽤나 간단합니다. ^^;;

SELECT
	'test' AS TEST1
	,CONVERT(XML, 'test data') AS TEST2

-- TEST1은 Varchar 형태의 Column.
-- TEST2는 NTEXT Column 이라고 생각하시면 됩니다.


위와 같이 코딩하셔서 보시면 아래와 같이 링크로 표시되어 링크를 클릭하게 되면 새로운 창으로 전체 데이터를 확인 할 수 있습니다.

 


제 생각에는 Xml 말고도 다른 Type으로 확인 가능 할 것 같은데요.. *_*

알고 계신 분은 댓글 부탁 드립니다. ^^

아참! Text의 Size가 2G Byte가 넘지 않으면 바로 보실 수 있고요.

넘는 Data의 경우에는 위와 같이 하시면 됩니다.

그리고 Text Size의 설정 방법은 아래 이미지를 확인 해 주세요..

 

마우스 오른쪽 버튼을 쿼리편집기에서 클릭 후 쿼리 옵션 클릭

 

여기에서 사이즈 조정이 가능합니다.

SET TEXTSIZE의 크기가 최대로 지정되어야 합니다.
최대 크기는 2G 입니다. *_*
그리고 기본 값 또한 2G입니다.


읽어 주셔서 대단히 감사합니다.

MSSQL 에서 제약조건 추가로 인하여 디자이너에서 테이블을 수정하면 바로 수정되지 않는 경우가 있습니다.

 

 

변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다.

라는 메시지가 나타나는데요.


수정 방법은 간단합니다.


*_*;;


옵션에서
Designers ==> 테이블 및 데이터베이스 디자이너

 

 

 

테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함(S)의 체크를 지워 주시면 됩니다.

 

형 변환은..

 

Varchar 형태로 변환하도록 합니다.

 

아래 코드를 보세요~

 

SELECT	CONVERT(VARCHAR, GETDATE(), 112)
-- 실행 결과값은 아래와 같습니다.
-- 20091203

SELECT	CONVERT(VARCHAR, GETDATE(), 2)
-- 09.12.03

SELECT	CONVERT(VARCHAR, GETDATE(), 12)
-- 091203

SELECT	CONVERT(VARCHAR, GETDATE(), 102)
-- 2009.12.03

--===================================================
-- 위 설정 방법은 아래 표를 참고 하시기 바랍니다.
--===================================================

SELECT	GETDATE(), GETDATE() + 1
-- 일을 더하는 것입니다.
-- 2009-12-03 13:54:01.210	2009-12-04 13:54:01.210

SELECT	GETDATE(), DATEADD(month, 2, GETDATE())
-- 월에 2를 더한 것입니
-- 2009-12-03 13:56:48.003	2010-02-03 13:56:48.003

--===================================================
-- 첫번째 들어갈 함수는 아래 표 2를 참고 하시기 바랍니다.
--===================================================

SELECT	GETDATE(), DATEPART(month, GETDATE())
-- 월을 반환한 것입니다.
-- 2009-12-03 13:58:10.767	12

SELECT	DATEDIFF(DAY,'2007-11-30 16:32:59.977','2008-11-30 16:32:59.977')
-- 날짜 형으로 비교하여 날자를 반환합니다.
-- 366
--===================================================
-- 첫번째 들어갈 함수는 아래 표 2를 참고 하시기 바랍니다.
--===================================================

형변환시 expression 부분에 넣을 값을 변경하면 원하는 형태로 변환 할 수 있습니다.

변경 할 수 있는 값은 정해져 있는 것 같네요..


참고 표 1


참고 표 2



참 간단한 건데.. 항상 깜빡 깜빡 하는 절 위한 *_*;;;
언제나 정확한건 MSDN에 다 나옵니다. *_*

http://msdn.microsoft.com/ko-kr/library/ms187819.aspx


function 입니다~
split....


MSSQL에서 프로시져 찾는 경우.
프로시져의 이름이나, 프로시져에 들어간 텍스트를 검색하여 프로시져의 이름을 반환하는 쿼리입니다.

저는 자주 이용하네요~


SELECT
	A.NAME
FROM
	SYSOBJECTS A
	,SYSCOMMENTS B
WHERE
	A.ID = B.ID
AND
	CHARINDEX('procFindName', A.NAME) > 0
AND
	CHARINDEX('ContentFindText', B.TEXT) > 0






MSDN에서도 확인 하 실 수 있습니다..

http://technet.microsoft.com/ko-kr/library/ms180169.aspx



위의 예제는 msdn에서 사용된 예제 입니다.
제가 사용한 예제는 아래와 같습니다..

펼쳐 보기 누르셔서 보세요...


+ Recent posts