본문 바로가기

mssql44

MSSQL JDBC 다운로드 방법 Java로 MSSQL에 접속하려면 MS에서 제공하는 JDBC를 사용해야 합니다.다운로드 URL은 아래와 같습니다. Microsoft JDBC Driver 6.0 for SQL Server 다운로드 아래의 화면에서 다운로드 버튼을 클릭하면 압축파일 또는 실행파일을 다운로드 할 수 있습니다. 아래와 같이 압축을 해제하면 JRE7과 JRE8의 JDBC jar를 있으면, 기본적인 예제는 samples 폴더에 있습니다.개발에 참고하세요. 2017. 3. 5.
MSSQL 로그인 오류 18456 해결 방법 MSSQL 로그인 시 발생하는 오류 18456 해결 방법입니다.원인은 SQL Server 인증 모드가 비활성화 되어서입니다. 1. 아래와 같이 로그인 시 로그인 오류가 발생한 화면입니다. 오류메세지 : 사용자가 로그인하지 못했습니다.(Microsoft SQL Server, 오류 : 18456) 2. 윈도우즈 계정으로 로그인을 하고, 서버를 선택 후 팝업 메뉴에서 속성을 클릭합니다. 3.서버정보 화면에서 보안을 선택하고, 서버인증을 SQL Server 및 Widnows 인증모드를 선택 후 확인 버튼을 클릭 후 다시 로그인하면 ㄷ해결됩니다. 2017. 3. 5.
MS-SQL DB Suspect 해결법 아래의 쿼리를 수행하면 해결됩니다. -- DB 상태 초기화 EXEC sp_resetstatus 'DBName' -- 긴급 모드로 설정 ALTER DATABASE DBName SET EMERGENCY -- 정합성 체크 DBCC CHECKDB ('DBName') -- 단일 사용자 모드로 설정 ALTER DATABASE DBName SET SINGLE_USER WITH ROLLBACK IMMEDIATE -- 정합성 체크 DBCC CHECKDB ('DBName', REPAIR_ALLOW_DATA_LOSS) -- 사용자 접근 허용 ALTER DATABASE DBName SET MULTI_USER 2016. 11. 11.
MS-SQL 날짜 컬럼 Between MS-SQ에서 날짜 컬럼을 Where(조건절)에서 Between하는 방법입니다. SELECT * FROM TableName where DateColumn BETWEEN '2016/11/08' and '2016/11/08 23:59:59.999' 2016. 11. 11.
MSSQL 쿼리 결과 XML로 변환하기 MSSQL에서 쿼리를 수행 후 나온 결과를 XML로 활용 할 때 사용하면 좋은 Tip입니다. 1. XML Node에 각 컬럼을 Attribute로 변환 - SELECT 쿼리 마지막에 FOR XML RAW('NodeName')를 하면 XML로 변환된다. [쿼리] SELECT * FROM INFORMATION_SCHEMA.TABLES FOR XML RAW('TABLE') [결과] 2. XML Root 지정하여 변환하기 - SELECT 쿼리 마지막에 FOR XML RAW('NodeName'), ROOT('RootName')를 하면 XML로 변환된다. [쿼리] SELECT * FROM INFORMATION_SCHEMA.TABLES FOR XML RAW('TABLE'), ROOT('TABLES') [결과] 3. .. 2016. 10. 27.
MSSQL UniqueIdentifier형 컬럼을 문자형으로 변환 UniqueIdentifier은 ID 컬럼 등에 활용하며, 값은 '00113E4C-0000-0000-0A31-FA8DFA551F04'와 같이 표시됩니다. UniqueIdentifier형을 문자형을 변환은 CONVERT 함수를 이요하면 됩니다. 아래의 쿼리를 참고하세요. -- id는 UniqueIdentifier형의 컬럼입니다. CONVERT(VARCHAR(36), id) 2016. 10. 27.
MSSQL 특정 문자 갯수 MSSQL에서 특정 문자의 갯수를 알 수 있는 쿼리입니다. 아래의 쿼리는 C:\WINDOWS\System32 문자 중 '\'의 갯수 찾는 쿼리입니다. SELECT LEN('C:\WINDOWS\System32') - LEN(REPLACE('C:\WINDOWS\System32', '\', '')) 2016. 8. 31.
MSSQL - 테이블, 뷰, 컬럼 정보 확인하기 MSSQL에서 테이블, 뷰, 컬럼 정보를 확인하는 쿼리입니다. -- Table 정보 SELECT * FROM INFORMATION_SCHEMA.TABLES -- View 정보 SELECT * FROM INFORMATION_SCHEMA.VIEWS -- Column 정보 SELECT * FROM INFORMATION_SCHEMA.COLUMNS 2016. 5. 13.
MSSQL DateTime을 특정 Format 문자로 변경하기 아래의 쿼리는 MSSQL에서 DateTime을 여러 Format 문자로 변경하는 쿼리입니다. 쿼리를 실행하면 여러 Format에 대한 정보를 확인 할 수 있습니다. 이것으로 자신이 필요한 Format으로 사용하면 될 듯 합니다. 참고 : https://msdn.microsoft.com/ko-kr/library/ms187928(v=sql.120).aspx [쿼리] SELECT 10, 'mm-dd-yy', CONVERT(VARCHAR, GETDATE(), 10) UNION SELECT 11, 'yy/mm/dd', CONVERT(VARCHAR, GETDATE(), 11) UNION SELECT 12, 'yymmdd', CONVERT(VARCHAR, GETDATE(), 12) UNION SELECT 23, 'y.. 2016. 2. 25.
MSSQL MDB, LOG 파일 기본 경로 얻기 MSSQL의 MDB, LOG 파일 기본 경로 얻는 쿼리입니다. declare @DefaultData nvarchar(512) exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData', @DefaultData output declare @DefaultLog nvarchar(512) exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog', @DefaultLog output declare @Def.. 2016. 2. 15.
MSSQL Log 파일 용량 축소하기(DBCC SHRINKFILE 방법) 아래의 쿼리는 Log 파일의 용량을 축소시키는 쿼리입니다. 해당 쿼리는 Log 파일을 1MB로 축소합니다. declare @db_name as nvarchar(max) declare @sql as nvarchar(max) declare @log as sysname select @db_name = DB_NAME() set @sql = 'ALTER DATABASE ' + @db_name + ' SET RECOVERY SIMPLE' exec(@sql) select [name], [recovery_model_desc] from sys.databases where [name] = @db_name select @log = [Name] from sys.database_files where type = 1 DBCC S.. 2016. 2. 15.
Collation(문자 정렬) 충돌 해결 방법 테이블의 컬럼의 Collation(문자정렬)이 서로 다른 경우 아래와 같이 오류가 발생합니다. Cannot resolve the collation conflict between "Korean_Wansung_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. 1. 현재 데이터 베이스의 기본 Collation(문자정렬) 확인 하기 SELECT SERVERPROPERTY('collation') ※ MSSQL의 전체 Collation 조회하기 SELECT * FROM ::fn_helpcollations() 2. 컬럼에 특정 Collation(문자정렬)을 지정하여 테이블 생성하기 - 아래의 쿼리는 한글완성형으로 Collation(문자정렬)을 .. 2016. 1. 18.
MS SQL 버전 별 서비스팩 목록 MS SQL 버전 별 서비스 팩(SP)입니다. RTMSP1 SP2 SP3 SP4 SQL Server 2014 12.0.2000.8 12.0.4100.1 or 12.1.4100.1 SQL Server 2012 11.0.2100.60 11.0.3000.0 or 11.1.3000.0 11.0.5058.0 or 11.2.5058.0 11.0.6020.0 or 11.3.6020.0 SQL Server 2008 R2 10.50.1600.1 10.50.2500.0 or 10.51.2500.0 10.50.4000.0 or 10.52.4000.0 10.50.6000.34 or 10.53.6000.34 SQL Server 2008 10.0.1600.22 10.0.2531.0 or 10.1.2531.0 10.0.4000.0.. 2016. 1. 8.
MSSQL sa 계정 잠금 해제 MSSQL에서 sa 계정의 잠금 해제하는 방법입니다. 1. SQL Server Management Studio에서 Security > Logins에서 사용자를 확인 할 수 있습니다. 2. sa 계정을 선택 후 마우스 오른쪽을 클릭하여 팝업메뉴에서 Properties를 클릭합니다. 3. 속성화면에서 Status를 선택하고, Login의 Enabled 라디오버튼을 선택 후 Ok버튼을 클릭하면 sa 계정 잠금이 해제됩니다. 2016. 1. 5.
MSSQL Export (내보내기 마법사 사용) 개발 때 데이타베이스 작업을 함께 하는 경우가 많습니다.로컬 데이타베이스에 생성한 데이타를 다른 장비에 Import하여 사용 할 때가 종종 있는데, 내 데이타베이스에서 특정 테이블의 데이타를 Export 받는 방법을 내보내기 마법사를 이용하여 사용하는 방법을 알아보겠습니다. 1. 데이타베이스를 선택 후 마우스 오른쪽을 클릭하여 팝업 메뉴를 열고, 팝업 메뉴의 Tasks > Export Data... 메뉴를 클릭합니다. 2. 가져오기 & 내려받기 마법사(Import and Export Wizard)에 대한 간략한 내용이 표시된다, Next를 클릭한다. 3. Next 버튼을 클릭한다.(필요에 따라서 Data Source, Server Name, Database를 지정한다.) 4. 내보내기 할 때 형식을 지정.. 2015. 11. 20.
MSSQL DB 파일(*.mdf, *.ldf) 이동하기 서버의 하드디스크 용량 등의 문제로 간혹 DB 파일을 물리적으로 이동해야 할 경우 있습니다. MS SQL의 DB 파일 인 *.mdf, *.ldf 파일을 C:에서 D:로 이동하는 방법입니다. 1.Microsoft SQL Server Management Studio에서 데이터베이스를 선택하고, 마우스 우측 버튼을 클릭하면 팝업 메뉴가 표시되며, Properties를 클릭합니다. 2. Database Properties의 좌측 상단의 메뉴 중 Files를 선택하여, 데이터베이스의 DB파일을 확인합니다. 3. 데이터베이스 파일을 Detach(분리) 합니다. sp_detach_db [ @dbname= ] 'database_name' [ , [ @skipchecks= ] 'skipchecks' ] [ , [ @ke.. 2015. 9. 15.
MSSQL - 프로시저, 함수 내용 보기 프로시저 또는 함수의 내용을 검색하는 쿼리입니다. 특정 테이블 또는 뷰를 사용하고 있는 프로시저나 함수를 찾는데 도움이 됩니다. SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' OR ROUTINE_TYPE = 'FUNCTION' ORDER BY ROUTINE_NAME [실행 결과] 2015. 7. 9.
MSSQL - Like 문에 정규식 사용하기 MSSQL에서는 Like문에 정규식을 사용 할 수 있어 다양하게 데이타를 검색이 가능합니다. Like문에 "[" 와 "]" 사이에 정규식을 사용할 수 있으며, 아래에 몇가지 예를 소개하겠습니다. 1. 소문자와 대문자 영어로 시작하는 데이타 조회 - 정규식 : [a-zA-Z] - LIKE 조건 : [a-zA-Z]% with test(test_text) as ( select 'Korea' union select '12345' union select '.Net 2010' union select '10 years ago' ) select * from test where test_text like '[a-zA-Z]%' 2. 소문자와 대문자 영어로 시작하지 않는 데이타 조회 - 정규식 : [^a-zA-Z] - LI.. 2015. 5. 28.
MSSQL - Index Rebuild (인덱스 리빌드) 쿼리 인덱스 리빌딩은 데이터베이스에 많은 데이터가 오랜기간동안 쌓였을 경우 쿼리를 실행하면 속도가 늦어지는 경우가 발생합니다. 실행계획은 분석하여 인텍스를 정확하게 수행이 되더라도 속도 개선이 안될 경우 인덱스를 리빌드하여 다시 수행하면 속도 개선의 효과를 볼 수도 있습니다. 즉, 하드디스크의 조각 모음을 수행하여 컴퓨터 속도를 향상시키는 것처럼 하나의 인덱스의 데이터가 분산된 것을 디스크상에 뭉쳐주는 역할을 하여 속도 개선이 이루어진다. DECLARE @i int, @sql varchar(1000) DECLARE @tablename varchar(1000),@ownerName varchar(1000) SET @i = 1 DECLARE DB_Cursor CURSOR FOR SELECT TABLE_SCHEMA,.. 2015. 4. 15.
MSSQL - 16진수( HEX) 문자 숫자로 변경 숫자를 16진수로 문자로 변경하는 쿼리 예제입니다. SELECT CONVERT(int, CONVERT(varbinary, '0xFF', 1)) 2015. 4. 15.
MSSQL - sysadmin role 복구하기 실수로 사용자의 "sysadmin" Role을 제거하는 경우 복원하는 방법입니다. 1. MS-SQL을 중지합니다. 2. Command Prompt를 관리자 모드로 실행합니다. 3. MS-SQL가 설치된 폴더의 "Binn"으로 이동합니다. 4. MS-SQL을 최소 구성으로 실행합니다. sqlservr.exe -f -s DB_NAME 5. Command Prompt를 관리자 모드로 하나 더 실행합니다. 6. MS-SQL가 설치된 폴더의 "Binn"으로 이동합니다. 7. sqlcmd를 실행합니다. sqlcmd -S Login_Name 8. "sysadmin" Role을 부여합니다. EXEC master..sp_addsrvrolemember @loginame=N'Login_Name', @rolename=N'sy.. 2015. 4. 15.