레이블이 MSSql인 게시물을 표시합니다. 모든 게시물 표시
레이블이 MSSql인 게시물을 표시합니다. 모든 게시물 표시

2016년 9월 5일 월요일

mssql login failed 18456


ERROR : mssql login failed 18456

위와 같은 에러가 발생하면 SSMS(Sql Server Managerment Studio)에서 Windows Authentication 방식으로 로그인하고 다음 이미지에서와 같이 진행

2016년 4월 16일 토요일

MSSQL Identity, 조회, 초기화




//아래의 쿼리를 실행하면 현재 IDENTITY의 값을 확인할 수 있습니다.(변경되지 않음)
DBCC CHECKIDENT([TableName], NORESEED)

//아래의 쿼리를 실행하면 IDENTITY의 값이 Num으로 초기화됩니다.
DBCC CHECKIDENT([TableName], RESEED, [Num])

//아래의 쿼리를 실행하면 IDENTITY의 값이 현재 컬럼보다 작을 경우 값을 현재 컬럼과 같도록 변경합니다.
DBCC CHECKIDENT([TableName], RESEED)

2015년 11월 16일 월요일

DATETIME to CHAR



단일값 반환
 23 : yyyy-mm-dd
102 : yyyy.mm.dd
111 : yyyy/mm/dd
112 : yyyymmdd
120 : yyyy-mm-dd hh:mi:ss
121 : yyyy-mm-dd hh:mi:ss.mmm

예) 오늘(2008년 1월 9일) 기준으로

SELECT CONVERT(char(10), getdate(), 23)

출처

2015년 9월 8일 화요일

The database could not be exclusively locked to perform the operation. (Microsoft SQL Server, Error: 5030)



Setp 1.
 ALTER DATABASE dbName
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Setp 2.
 ALTER DATABASE OldDbName MODIFY NAME = NewDbName
Setp 3.
 ALTER DATABASE dbName
SET MULTI_USER WITH ROLLBACK IMMEDIATE

2015년 9월 7일 월요일

CSV to MSSql (CSV파일을 이용한 테이블 Insert)



 BULK INSERT dbo.tableName FROM 'C\fileName.CSV' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')

2015년 9월 2일 수요일

OLE DB provider SQLNCLI11 for linked server unable to begin distributed transaction.


1. Start\Administrative Tools\Component Services

   - Right click on the Local DTC
   - Select Security tab, 아래 두번째 이미지에서와 같이 체크하고 OK.




2. Control Panel\Windows Firewall\Allow an app or feature through Windows Farewall
   - Check Distributed Transaction Coordinator (Private & Public)

2015년 8월 23일 일요일

특정 문자열이 포함된 프로시저(Procedure) 찾기


방법-1 : VARCHAR(4000)이상의 크기를 가진 프로시저는 찾아내지 못함

 SELECT ROUTINE_NAME

 FROM INFORMATION_SCHEMA.ROUTINES

 WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_DEFINITION LIKE '%문자열%'

 ORDER BY ROUTINE_NAME


방법-2 : 같은 단어가 여러개 있을 경우 결과도 여러번 나옴
 SELECT A.NAME

 FROM dbo.SYSOBJECTS AS A

 INNER JOIN dbo.SYSCOMMENTS AS B

 ON A.ID = B.ID

 WHERE A.TYPE = 'P' AND B.TEXT LIKE '%문자열%'

 ORDER BY A.NAME

2015년 6월 23일 화요일

MSSQL 임의의 한개의 ROW SELECT




SELECT TOP(1) [columns] FROM [table_name]
ORDER BY NEWID()

2013년 11월 7일 목요일

자주 삭제되는 Row의 Identity값 재사용방법

DECLARE @minidentval TYPE
DECLARE @nextidentval TYPE
DECLARE @count INT
SELECT  @count = COUNT(*) FROM [Table_name]
 
SELECT  @minidentval = MIN($IDENTITY) FROM [Table_name]
IF @minidentval = IDENT_SEED('[Table_name]')
     SELECT @nextidentval = MIN($IDENTITY) + IDENT_INCR('[Table_name]')
FROM [Table_name] t1
     WHERE $IDENTITY
BETWEEN IDENT_SEED('[Table_name]')
AND @count AND NOT EXISTS (SELECT * FROM [Table_name] t2
WHERE t2.$IDENTITY = t1.$IDENTITY + IDENT_INCR('[Table_name]'));
ELSE SELECT @nextidentval = IDENT_SEED('[Table_name]')