DB 백업 ,복구

DB 백업 ,복구

-- 백업
backup database db4 to disk ='D:/DB_BACKUP/_del_bk.bak' with noinit   (init는 풀백업)

-- 확인
restore filelistonly from disk='D:/DB_BACKUP/_del_bk.bak'

-- 복구
restore database db4 from disk='D:/DB_BACKUP/_del_bk.bak'
with move 'primary_space' to 'D:\DB_DATA\svc_db_Data.mdf'
, move 'master_space' to 'D:\DB_DATA\svc_db_Data1.ndf'
,  move 'data_space' to 'D:\DB_DATA\svc_db_Data2.ndf'
,  move 'data_space01' to 'D:\DB_DATA\svc_db_Data01.ndf'
,  move 'data_space02' to 'D:\DB_DATA\svc_db_Data02.ndf'
,  move 'log_space' to 'D:\DB_LOG\svc_db_Lata.ldf'

-- mssql  ldf 로그자르기 (반드시 해당 DB에서 실행해야한다)
use service_db
EXEC sp_helpdb service_db   -- 확인
go

alter database service_db set recovery simple
go

dbcc SHRINKFILE(2,1)
go

alter database service_db set recovery full
go

EXEC sp_helpdb service_db
go

-- mssql  ldf 로그자르기1
USE ERPPM --DB명
GO

EXEC SP_HELPFILE --DB, LOG 파일 사이즈 확인(축소 전 크기 확인)

BACKUP LOG ERPPM WITH TRUNCATE_ONLY --DB 로그 축소
BACKUP LOG ERPPM WITH NO_LOG --DB 로그 삭제

--DB 축소, 최소 사이즈 10메가(ERPPM : 파일명)
DBCC SHRINKFILE (ERPPM, 10)
GO

--LOG 축소, 최소 사이즈 10메가(ERPPM_LOG : 파일명)
DBCC SHRINKFILE (ERPPM_LOG, 10)

GO

EXEC SP_HELPFILE --DB, LOG 파일 사이즈 확인(축소 후 크기 확인)
세션 상태 서버에 세션 상태 요청을 할 수 없습니다

세션 상태 서버에 세션 상태 요청을 할 수 없습니다


문제 : 
세션 상태 서버에 세션 상태 요청을 할 수 없습니다. ASP.NET 상태 서비스가 시작되었으며 클라이언트 포트와 서버 포트가 같은지 확인하십시오. 서버가 원격 컴퓨터에 있는 경우에는 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection의 값을 확인하여 해당 서버가 원격 요청을 받는지 확인하십시오. 서버가 로컬 컴퓨터에 있고 앞에서 언급한 레지스트리 값이 없거나 0인 경우에는 상태 서버 연결 문자열에 'localhost' 또는 '127.0.0.1'을 서버 이름으로 사용해야 합니다.

해결 : 
- 시작 > 실행 > services.msc
- ASP.NET State Service 서비스를 실행
리눅스 로그인

리눅스 로그인

1. 권한획득  :   -> su -   -> root / ****

2. mysql 들어가기  : mysql -u root -p       Pw:  *****
use omok;
show tables;
DNS연결이 안될때 (ipconfig /flushdns)

DNS연결이 안될때 (ipconfig /flushdns)

1. 명령어 :  ipconfig /flushdns

2. 기능 : 캐쉬메모리에 남아있는 ip 정보를 flush 하기.DNS의 기존 캐시를 삭제하고 다시 DNS 정보를 받음

3. 사용처 :  평소 새로 생긴 사이트 접속장애가 발생하거나 훨씬 느려진 사이트가 있다면 위 명령어 실행 후 접속.


4. 그래도 안되면 네트워크 tcp/ip의  DNS를 구글 DNS(8.8.8.8 , 8.8.4.4)로 변경
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ActiveX 실행 불가(이 웹페이지에서 internet Explorer 보안 강화 기능과 호환되지 않는 ...)

ActiveX 실행 불가(이 웹페이지에서 internet Explorer 보안 강화 기능과 호환되지 않는 ...)

== ActiveX 실행 불가==

ActiveX 실행 불가

"이 웹페이지에서 internet Explorer 보안 강화 기능과 호환되지 않는.." 
이 웹페이지에서 internet Explorer 보안 강화 기능과 호환되지 않는 "OOO.cap"을 실행하려고 합니다.
이 사이트를 신뢰하는 경우 이 사이트에 대해 향상된 보호 모드를 사용하지 않도록 설정하여 컨트롤을 실행할수 있습니다.


1. IE 11에서는  [도구]  → [인터넷 옵션] → [고급 탭] 으로 이동합니다.

목록에서 "향상된 보호 모드 사용" 체크박스에 체크가 되어 있는지 확인합니다.

체크가 되어 있는 경우 체크를 해제 후 재부팅을 합니다.


2-1. 시작 버튼을 누르고 검색창에 [REGEDIT] 를 입력합니다.
  
여기에서 단축키 (Ctrl + F) 기능을 이용해서 [TabProcGrowth] 라는 레지스트리명을 찾습니다.

TIP : TabProcGrowth 레지스트리는 컴퓨터\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main 경로에 있습니다. 

2-2. TabProcGrowth 에서 레지스트리 값 0  ->1  으로 변경합니다.


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
인증서 USB -> 하드드라이브 복사 경로

인증서 USB -> 하드드라이브 복사 경로

NPKI  (인터넷뱅킹)
Windows XP , Vista
--> C:\Program Files\NPKI

Windows 7 (64bit)
--> C:\Users\[user id]\AppData\LocalLow\NPKI

SignKorea (증권용) , Yessign (은행용)
* XP / Vista 64bit 버전이라면 Program Files(x86)과 Program Files 둘 다에 복사하는 편이 좋다.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
문자열(string) 편집 예제

문자열(string) 편집 예제

1. 파일
//전체 파일명 : test.gif
fullName = dir.Substring(dir.LastIndexOf('\\') + 1);
//순수 파일명 : test
name = fullName.Substring(0, fullName.LastIndexOf('.'));
//확장자 : .gif
ext = fullName.Substring(fullName.LastIndexOf('.'));
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
전화번호 하이픈(-) 추가 함수

전화번호 하이픈(-) 추가 함수

/// 호출형태 addHyphen(phone.Replace("-", "");
public string addHyphen(string tel)
{
string t1 = string.Empty, t2 = string.Empty, t3 = string.Empty, t_sum = string.Empty;
if (tel.Length == 8) //1588-xxxx
{
t1 = tel.Substring(0, 4);
t2 = tel.Substring(4, 4);
t_sum = t1 + "-" + t2;
}
else if (tel.Length == 9) //02-xxx-xxxx
{
t1 = tel.Substring(0, 2);
t2 = tel.Substring(2, 3);
t3 = tel.Substring(5, 4);
t_sum = t1 + "-" + t2 + "-" + t3;
}
else if (tel.Length == 10)
{
if (tel.Substring(0, 2) == "01") //휴대전화 010-xxx-xxxx
{
t1 = tel.Substring(0, 3);
t2 = tel.Substring(3, 3);
t3 = tel.Substring(6, 4);
t_sum = t1 + "-" + t2 + "-" + t3;
}
else if (tel.Substring(0, 2) == "02")
{
t1 = tel.Substring(0, 2);
t2 = tel.Substring(2, 4);
t3 = tel.Substring(6, 4);
t_sum = t1 + "-" + t2 + "-" + t3;
}
else
{
t1 = tel.Substring(0, 3);
t2 = tel.Substring(3, 3);
t3 = tel.Substring(6, 4);
t_sum = t1 + "-" + t2 + "-" + t3;
}
}
else if (tel.Length == 11) //xxx-xxxx-xxxx(휴대전화,070)
{
t1 = tel.Substring(0, 3);
t2 = tel.Substring(3, 4);
t3 = tel.Substring(7, 4);
t_sum = t1 + "-" + t2 + "-" + t3;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
팀뷰어 라이센스 리셋 방법

팀뷰어 라이센스 리셋 방법


== 팀뷰어 라이센스 리셋 방법==
(만약 ethernet1 이 있으면  ethernet0,ethernet1 모두 변경)

(선행 : 팀뷰어가 설치버전으로 설치 되어 있어야 한다. VM이 켜진 상태에서 VM명.vmx 파일을 변경한다 )
0. 팀뷰어를 종료


1. MAC Address 변경
VMware 의 MAC Address 변경하기
1-1: VM명.vmx 파일을 메모장으로 열어서 ethernet0.addressType = "generated" ->
ethernet0.addressType = "static" 로 변경
1-2:   ethernet0.generatedAddress = "00:0c:29:9c:08:14" ->
ethernet0.Address = "00:0c:29:9c:08:15" 로 변경
1-3:  ethernet0.generatedAddressOffset = "0" 삭제

2. 재시작

2. %appdata% 에서   TeamViewer 폴더 삭제

3. regedit 에서 TeamViewer로 찾기 해서 해당되는거 다 지운다.(키 먼저 지우고 나머지 찾아서 지운다)

4. 재시작

4. 팀뷰어를 실행한다.


(참고. xp,teamview 10 에서 적용안되었음)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Ajax 호출 예제

Ajax 호출 예제

Ajax 호출
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Ajax.aspx.cs" Inherits="Home.Web.Ajax" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="Js/jquery-1.11.3.js"></script>
<script src="Js/json3-3.3.2.js"></script>
<script>
$(function () {
$('#send').click(function () {
var obj = new Object();
obj.Name = $('#name').val();
obj.Name2 = $('#name').val() + '2';

var json_data = JSON.stringify({ data: obj });
alert(json_data);

$.ajax({
type: "POST",
url: "Ajax.aspx/Hello",
data: json_data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#result').text(data.d);
},
error: function (err) {
var errData = JSON.parse(err.responseText);
$('#result').text(errData.Message);
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
Name :
<input type="text" id="name" name="name" />
<input type="button" id="send" name="send" value="전송" />
</div>
<div>
<p>결과 : <span id="result"></span></p>
</div>
</form>
</body>
</html>



---------------------------------
cs
---------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Home.Web
{
public partial class Ajax : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect("sdfsdf");
}
//[WebMethod]
//public static string Hello(HelloData data)
//{
// return string.Format("Hello, {0}!", data.Name);
//}
}
//public class HelloData
// {
// public string Name { get; set; }
// public string Name2 { get; set; }
// }
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
다중 파일 등록

다중 파일 등록


  <asp:FileUpload ID="fuUpload" runat="server" CssClass="button" Width="400px" AllowMultiple="true" />


for (int i = 0; i < fuUpload.PostedFiles.Count; i++)
{
     string filenames = fuUpload.PostedFiles[i].FileName;
     string path = string.Format(CultureInfo.InvariantCulture, SiteStrings.NewObjectPath, _root, filenames);
     fuUpload.SaveAs(path);

}

Iframe 높이 자동조절

Iframe 높이 자동조절

 onload='javascript:resizeIframe(this);'

function resizeIframe(obj) {
obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
MSSQL 잠금, sp_lock

MSSQL 잠금, sp_lock


1. 잠금의 종류
공유잠금 : select
베타적잠금:insert, update, delete

2.  ( lock정보를 확인)
exec sp_lock

설명
spid : 잠금을 요청하는 프로세스 세션ID

dbid : 데이터베이스의 식별번호

ObjId : 개체의 식별 번호

IndId : 인덱스의 식별번호

Type : 잠금유형

Resource : 리소스 식별값

Mode : 잠금 모드

Status : 잠금요청 상태





S - 공유 잠금

U - 업데이트 잠금

X - 독점 잠금

IS - 의도 공유

IU - 의도 업데이트

IX - 독점 의도

BU - 대량 업데이트

 

3. 쿼리정보 확인
dbcc inputbuffer (spid)
exec  sp_who2 spid



 

4. 문제가 발생된 해당 프로시저를 kill
 kill (spid)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 
(개발 참조 링크)문서비교사이트 / 스크립트기능모음 / c#과 엑셀연동듀토리얼 / css 버튼 생성 / 이미지생성/ CSS버튼생성 / 폰트파일 확인 /  MS-SQL 정렬 / 유닉스타임 확인 / html5 유효성검사 /  속도측정 / IP로 주소검색 / 이미지파일로 페이브리콘 만들기 / 정규표현식 시각화 테스트 /

(개발 참조 링크)문서비교사이트 / 스크립트기능모음 / c#과 엑셀연동듀토리얼 / css 버튼 생성 / 이미지생성/ CSS버튼생성 / 폰트파일 확인 / MS-SQL 정렬 / 유닉스타임 확인 / html5 유효성검사 / 속도측정 / IP로 주소검색 / 이미지파일로 페이브리콘 만들기 / 정규표현식 시각화 테스트 /

문서비교 사이트

https://www.diffchecker.com/diff

스크립트 기능모음
http://webservices.tistory.com/1

c#과 엑셀연동듀토리얼
http://csharp.net-informations.com/excel/csharp-excel-tutorial.htm

css 버튼 생성
http://cssgradientbutton.com

이미지생성
http://whatdo.net/html5/example

CSS버튼생성
http://www.cssbuttongenerator.com/

폰트파일 확인
http://www.fileformat.info/info/unicode/font/custom.htm
(알고싶은 폰트파일을 여기에 업로드)

MS-SQL 정렬
http://www.dpriver.com/pp/sqlformat.htm
style
 output : SQL(Text)
 Datatype case : Lowercase
 Linebreaks with comma: Before
 Max length per line in compact mode: 10000

웹사이트 속도 측정 및 가이드

IP로 주소 검색
hosts 파일 변경/저장(윈도우 7, 8)

hosts 파일 변경/저장(윈도우 7, 8)

1. 새로만들기 -> 바로가기

2. 항목위치 입력
C:\Windows\System32\notepad.exe C:\windows\system32\drivers\etc\hosts

3. 관리자 권한 지정
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
web.config 관련

web.config 관련

/////////////////////////////////////////////////////////////////////////////////////////////
// web.Release.config 사용방법
/////////////////////////////////////////////////////////////////////////////////////////////

0. 구성관리자  - >  새로 만들기 에서 사용될 web.config 생성

web.config에서 오른쪽클릭후 변환추가

1. web.config -> 로컬 테스트  값을 넣어준다

<appSettings>
<add key="WFRoot" value="Data_test" />
<add key="WFRoot1" value="Data_test1" />
</appSettings>

2. web.Release.config -> 서비스 값을 넣어준다

2-1. 1개 바꾸기
<appSettings>
<add key="WFRoot" value="Data_Release"  xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>

2-2. 전체 바꾸기
<sessionState mode="StateServer" cookieless="false" regenerateExpiredSessionId="true" timeout="120" stateConnectionString="tcpip=localhost:42424" xdt:Transform="Replace">


3. 배포시 Release로 배포

/////////////////////////////////////////////////////////////////////////////////////////////

// web.config  머신키 삭제
/////////////////////////////////////////////////////////////////////////////////////////////
web.config 에 다음과 같은 구문을 추가합니다.
<pages enableViewStateMac="false"/>
또는 machine key를 지정하는 방법이 있습니다.
주로 상용 웹서버는 이 방식을 사용합니다.
<system.web>
<machineKey>
<machineKey validationKey="알고리즘으로 하나 만들어주세요"
decryptionKey="specify key"
validation="SHA1|MD5|3DES"/>

(실사용예)

  <system.web>
<compilation debug="true"/>
    <pages enableViewStateMac="false"/> <!-- 머신키 삭제-->
  </system.web>

/////////////////////////////////////////////////////////////////////////////////////////////
// web.config 변수 사용
/////////////////////////////////////////////////////////////////////////////////////////////
<%= System.Configuration.ConfigurationManager.AppSettings["키"] %>


/////////////////////////////////////////////////////////////////////////////////////////////
// web.config MIME 타입정리
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Set expire headers to 30 days for static content-->
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00"/>
<!-- use utf-8 encoding for anything served text/plain or text/html -->
<remove fileExtension=".css" />
<mimeMap fileExtension=".css" mimeType="text/css; charset=UTF-8" />
<remove fileExtension=".js" />
<mimeMap fileExtension=".js" mimeType="text/javascript; charset=UTF-8" />
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" />
<remove fileExtension=".rss" />
<mimeMap fileExtension=".rss" mimeType="application/rss+xml; charset=UTF-8" />
<remove fileExtension=".html" />
<mimeMap fileExtension=".html" mimeType="text/html; charset=UTF-8" />
<remove fileExtension=".xml" />
<mimeMap fileExtension=".xml" mimeType="application/xml; charset=UTF-8" />
<!-- HTML5 Audio/Video mime types-->
<remove fileExtension=".mp3" />
<mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />
<remove fileExtension=".mp4" />
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<remove fileExtension=".ogg" />
<mimeMap fileExtension=".ogg" mimeType="audio/ogg" />
<remove fileExtension=".ogv" />
<mimeMap fileExtension=".ogv" mimeType="video/ogg" />
<remove fileExtension=".webm" />
<mimeMap fileExtension=".webm" mimeType="video/webm" />
<!-- Proper svg serving. Required for svg webfonts on iPad -->
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="images/svg+xml" />
<remove fileExtension=".svgz" />
<mimeMap fileExtension=".svgz" mimeType="images/svg+xml" />
<!-- HTML4 Web font mime types -->
<!-- Remove default IIS mime type for .eot which is application/octet-stream -->
<remove fileExtension=".eot" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<remove fileExtension=".otf" />
<mimeMap fileExtension=".otf" mimeType="font/otf" />
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
<remove fileExtension=".crx" />
<mimeMap fileExtension=".crx" mimeType="application/x-chrome-extension" />
<remove fileExtension=".xpi" />
<mimeMap fileExtension=".xpi" mimeType="application/x-xpinstall" />
<remove fileExtension=".safariextz" />
<mimeMap fileExtension=".safariextz" mimeType="application/octet-stream" />
<!-- Flash Video mime types-->
<remove fileExtension=".flv" />
<mimeMap fileExtension=".flv" mimeType="video/x-flv" />
<remove fileExtension=".f4v" />
<mimeMap fileExtension=".f4v" mimeType="video/mp4" />
<!-- apk MIME types-->
<remove fileExtension=".apk" />

<mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" />

/////////////////////////////////////////////////////////////////////////////////////////////
// web.config 에 & 넣기
/////////////////////////////////////////////////////////////////////////////////////////////
 Web.config 파일 설정값에서 "&" 캐릭터를 넣어야 할 경우 "&"가 XML로 파싱되어 설정값 로딩시 에러가 발생합니다.
 이 때는 "&"를 "&amp;"로 대체해 주면 됩니다.


http://localhost:50682/6a663a78019845d5ade4a328cad09cc2/arterySignalR/poll?transport=longPolling&connectionToken=

1. 크롬  :
http://localhost:50682/6a663a78019845d5ade4a328cad09cc2/arterySignalR/poll?transport=longPolling&connectionToken=AQAA.............

2.




//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Access to the path is denied.

Access to the path is denied.

1. 크롬에러 :  Access to the path is denied.

2. 해결 : (rightclick your upload folder -> poperty's -> security ->Edit -> add -> type :NETWORK SERVICE -> check box full control allow-> press ok or apply)

3. 안되면 유저에 모든권한
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
한글깨짐 인코딩

한글깨짐 인코딩

한글 코드 페이지로 인코딩(System.IO.File.ReadAllText 한글깨짐)
System.IO.File.ReadAllText(path,  System.Text.Encoding.GetEncoding(949))
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

string -> 다른타입 으로 변경

string -> 다른타입 으로 변경

1. string - > bytes
  System.Text.Encoding.UTF8.GetBytes(filelist);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ViewState

ViewState

1. 상태 유지에 사용.

2. 컨트롤 속성에는 ViewSate를 사용하지 않는 옵션(EnableViewState) 있음.

3. 
ViewState["이름"] = "값";
ViewState["이름"];

4. 김영욱님 하기1하기2 참고.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////