블로그 이미지
010-9967-0955 보미아빠

카테고리

보미아빠, 석이 (500)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total
Today
Yesterday

달력

« » 2016.2
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29

공지사항

최근에 올라온 글

기본 요구 사항 


* sql virtual account

* 설치 미디어 (edition 상관없음)  

* 혼합모드면 sa 암호


sqlserver virtual account 가 필요함 (삭제 했으면 다시 복구할 것)

이 계정이 없으면 sp 설치시 실패 한다. 

첨부된 powershell 로 복구 시도하고 추가로 더 설치한 서비스가 있으면 알아서 계정 추가하고 스크립트로 하던지 regedit 로 하던지 편한 방법으로 복구 



AccountRecovery.zip




설치 미디어 다운받기 위한 ie 설정 혹은 wget 윈도 버전으로 설치해서 하면 됨 


http://faq.hostway.co.kr/Windows_ETC/2504

http://care.dlservice.microsoft.com/download/7/5/1/751DF8B3-1430-4B6F-A2E1-3679D77AA39C/1042/SQLFULL_KOR.iso?lcid=1042






기존 edition 과 상관없이 evaluation 같은 버전을 하나 준비(압축 풀어야지요...)

우리는 sql server 2008 r2 이므로 이런곳에서 다운 받는다 


  • http://care.dlservice.microsoft.com/download/7/5/1/751DF8B3-1430-4B6F-A2E1-3679D77AA39C/1042/SQLFULL_KOR.iso?lcid=1042

서버레벨 변경만 상세설명


설치 미디어가 있는 폴더로 이동합니다. 

cmd 모드에서 디렉토리 레터를 확인해 이동합니다. 

d: 


collation 을 변경하기위해서 아래 명령과 비슷하게 입력합니다. 

Setup /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS="WIN-FGPDFE2BQJD\Administrator" /SAPWD=P@ssw0rd /SQLCOLLATION=SQL_Latin1_General_CP1_CI_AS



Setup /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS="cnc6-collation2\Administrator" /SQLCOLLATION=SQL_Latin1_General_CP1_CI_AS 



각각의 옵션은 https://msdn.microsoft.com/ko-kr/library/dd207003(v=sql.105).aspx 에 잘 설명되어 있습니다. 

간단하게 설명드리면 

INSTANCENAME : 인스턴스 이름을 확인합니다. 

확인하는 쿼리는 아래와 같습니다. 


select @@SERVICENAME;


SQLSYSADMINACCOUNTS : sysadmin role 을 가지고 있는 windows 계정을 입력합니다. 


SAPWD : sa 암호 입니다. 

Authentication Mode 가 윈도우와 SQL 을 동시에 사용하는 경우 반드시 입력해야 합니다. 

입력하지 않으면 알수없는 오류가 발생하고 전체 프로세스가 실패 합니다. 

이러한 모드를 확인하는 쿼리는 다음과 같습니다. 


윈도우 sysadmin role 만 있으면 sql sa 암호는 알아서 작업하면 되지 시스템 데이터베이스 리빌딩 스크립트 작업하는 사람이 귀찮아서 입력한 암호로 로그인 해보고 이상 없으면 sa 를 입력받은 암호로 다시 만들게 작업한 보양 입니다. -_- 이자슥들 암호 몰라도 값은 만들어 넣을수 있는거 다 알낀데...짜슥......


SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly')   

WHEN 1 THEN 'Windows Authentication'   

WHEN 0 THEN 'Windows and SQL Server Authentication'   

END as [Authentication Mode];


SQLCOLLATION : 원하는 collation 을 입력합니다. 

지원 가능한 전체 collation 을 확인하는 쿼리는 다음과 같습니다. 


SELECT name, description

FROM fn_helpcollations();


성공적으로 작업이 완료되면 아무 메시지가 없이 명령 프롬프트로 돌아갑니다. 

확인은 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Logs 아래 폴더에서 로그를 읽어 확인하거나 

ssms 에서 다음 명령어를 입력합니다. 


SELECT CONVERT (varchar, SERVERPROPERTY('collation'));



이 때 edition 이나 서비스팩은 기존 에디션과 서비스팩(sp3)은 잘 적용되어 있는것을 확인함


나머지 매뉴얼은 아래를 참고 할 것


서버레벨 변경은 https://msdn.microsoft.com/en-us/library/ms179254(v=sql.105).aspx

데이터베이스 레벨 https://msdn.microsoft.com/en-us/library/ms175835(v=sql.105).aspx

컬럼 레벨 https://msdn.microsoft.com/en-us/library/ms190920(v=sql.105).aspx

Posted by 보미아빠
, |

excel loading

카테고리 없음 / 2016. 2. 16. 18:16

USE [master]

GO



EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1

GO


EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1

GO


use [a2d_test_login_server_01]

go


exec sp_configure 'show advanced options', 1

reconfigure with override 

go


exec sp_configure 'Ad Hoc Distributed Queries', 1 

reconfigure with override 

go



exec sp_configure 'Ad Hoc Distributed Queries'

go


--파일닫고 

select identity(int, 1,1) idx, * into result 

from OPENROWSET(

 'Microsoft.ACE.OLEDB.12.0'

 , 'Excel 12.0; HDR=YES; IMEX=1; Database=C:\a2d\result\output_login_server2.xlsx'

 , 'SELECT * FROM [aaa$a1:w]')



-- 파일이 열려 있을 때

메시지 7399, 수준 16, 상태 1, 줄 27

연결된 서버 "(null)"의 OLE DB 공급자 "Microsoft.ACE.OLEDB.12.0"에 오류가 발생했습니다. 공급자에서 오류에 관한 정보를 주지 않았습니다.

메시지 7303, 수준 16, 상태 1, 줄 27

연결된 서버 "(null)"에 대한 OLE DB 공급자 "Microsoft.ACE.OLEDB.12.0"의 데이터 원본 개체를 초기화할 수 없습니다.


Posted by 보미아빠
, |

도색

카테고리 없음 / 2016. 2. 11. 17:35

음 10년된 차 쪼메 수리해야 하는데

목감IC 랑 원효대사가 유명하군....


원효대사

http://blog.naver.com/bubblychoi/220131495434

http://map.daum.net/?panoid=1033191968&pan=347.9&tilt=-2.6&zoom=0&map_type=TYPE_MAP&map_attribute=ROADVIEW&q=%EC%9B%90%ED%9A%A8%EB%8C%80%EA%B5%90&urlX=486511&urlY=1117809&urlLevel=3


목감 IC

http://nadesicoc.egloos.com/v/5014173

Posted by 보미아빠
, |

미션 

여러 프로시저가 있는데 하나만 동작하게 만들어라 

CREATE DATABASE APPLOCKTEST

GO


USE APPLOCKTEST

GO



IF OBJECT_ID ('TBLX') IS NOT NULL

DROP TABLE TBLX

GO

IF OBJECT_ID ('USP_A') IS NOT NULL

DROP PROC USP_A

GO


-- 테스트 테이블

CREATE TABLE TBLX 

(IDX INT IDENTITY(1,1)

,C1 INT)

GO


-- 심심풀이 데이터

INSERT INTO TBLX (C1) VALUES (1)

GO


-- 실제로 일하는 프로시져

CREATE PROC USP_A 

(@V INT)

AS


WAITFOR DELAY '00:00:7'

INSERT INTO TBLX (C1) VALUES (@V)

GO









-- 동시에 실행하면 안되는 여러 프로시저들.....

IF OBJECT_ID('USP_JOB_EXEC_USP_A') IS NULL

EXEC ('CREATE PROC USP_JOB_EXEC_USP_A AS SELECT 1 ')

GO 


ALTER PROC USP_JOB_EXEC_USP_A

(

  @V INT = 1 

, @RESULT_CODE NVARCHAR(2000) OUTPUT 

)

AS


DECLARE 

  @LOCK_STATUS INT = 0 

, @RETRYS INT = 3 -- 1초에 한번씩 실행된다. 이걸로 조절하세요~

, @KEYWORD NVARCHAR(100) = '결산'

, @CURRENT_RETRY INT = 0


SET @RESULT_CODE = N'SUCCESS'


WHILE (@CURRENT_RETRY <= @RETRYS) 

BEGIN 


SELECT @LOCK_STATUS = APPLOCK_TEST('PUBLIC', @KEYWORD,'Exclusive', 'SESSION')


IF (@LOCK_STATUS <> 0 )

BEGIN 

EXEC SP_GETAPPLOCK @KEYWORD, 'EXCLUSIVE', 'SESSION'


-- SP_START

EXEC USP_A @V

SELECT 'AAAAAAAAAAAAAAAAAAA'

-- SP_END 


EXEC SP_RELEASEAPPLOCK @KEYWORD, 'SESSION'

BREAK;

END 

ELSE 

BEGIN 

IF @CURRENT_RETRY = @RETRYS

SET @RESULT_CODE = 'JOB CANCELED BY LOCK ' + @KEYWORD

ELSE 

WAITFOR DELAY '00:00:01'

SET @CURRENT_RETRY = @CURRENT_RETRY + 1 

END 

END 

GO










-- 동시에 실행하면 안되는 여러 프로시저들.....

IF OBJECT_ID('USP_JOB_EXEC_USP_B') IS NULL

EXEC ('CREATE PROC USP_JOB_EXEC_USP_B AS SELECT 1 ')

GO 


ALTER PROC USP_JOB_EXEC_USP_B

(

  @V INT = 1 

, @RESULT_CODE NVARCHAR(2000) OUTPUT 

)

AS


DECLARE 

  @LOCK_STATUS INT = 0 

, @RETRYS INT = 3 -- 1초에 한번씩 실행된다. 이걸로 조절하세요~

, @KEYWORD NVARCHAR(100) = '결산'

, @CURRENT_RETRY INT = 0


SET @RESULT_CODE = N'SUCCESS'


WHILE (@CURRENT_RETRY <= @RETRYS) 

BEGIN 


SELECT @LOCK_STATUS = APPLOCK_TEST('PUBLIC', @KEYWORD,'Exclusive', 'SESSION')


IF (@LOCK_STATUS <> 0 )

BEGIN 

EXEC SP_GETAPPLOCK @KEYWORD, 'EXCLUSIVE', 'SESSION'


-- SP_START

EXEC USP_A @V

SELECT 'AAAAAAAAAAAAAAAAAAA'

-- SP_END 


EXEC SP_RELEASEAPPLOCK @KEYWORD, 'SESSION'

BREAK;

END 

ELSE 

BEGIN 

IF @CURRENT_RETRY = @RETRYS

SET @RESULT_CODE = 'JOB CANCELED BY LOCK ' + @KEYWORD

ELSE 

WAITFOR DELAY '00:00:01'

SET @CURRENT_RETRY = @CURRENT_RETRY + 1 

END 

END 

GO







-- APPLICATION LOCK TEST CODE 


-- SESSION 1 

DECLARE @RESULT_CODE NVARCHAR(2000)

EXEC USP_JOB_EXEC_USP_A 5, @RESULT_CODE = @RESULT_CODE OUTPUT 

SELECT @RESULT_CODE



-- SESSION 2 

DECLARE @RESULT_CODE NVARCHAR(2000)

EXEC USP_JOB_EXEC_USP_B 5, @RESULT_CODE = @RESULT_CODE OUTPUT 

SELECT @RESULT_CODE



Posted by 보미아빠
, |

sql 2014 patch

카테고리 없음 / 2016. 2. 2. 19:44

http://blogs.sqlsentry.com/team-posts/latest-builds-sql-server-2014/

Posted by 보미아빠
, |

takeown /f c:\folder /r /d y

icacls c:\folder /grant Administrators:F /t


Posted by 보미아빠
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함