안녕하세요,
현재 2008 r2 를 사용하고 있습니다.
해당 서버에 원래 목적은 자동복원 하는 스크립트를 작성하려고 이저저거 해보고
c# 으로도 해보고 powershell 로도 해봣습니다.
일단 아래 쿼리를 진행 했습니다.
===================================================
PS SQLSERVER:\SQL\WIN-BTKKBC8R5J7\DEFAULT\Databases\master\StoredProcedures> Invoke-Sqlcmd -query "exec dbo.dbrecovery 'testdb','D:\testdb_backup_2014_02_25_040002_1352559.bak';"
====================================================
요래 했더니 복원을 시도 하더라... 이거져,,
그러고 좀있다보니, ( 한 20초? 30초 ? )
아래와 같은 에러가 나오더라 이거져,,
======================================================
경고: 공급자 컨텍스트를 사용하는 중입니다. 서버 = WIN-BTKKBC8R5J7, 데이터베이스 = master.
Invoke-Sqlcmd : 제한 시간이 만료되었습니다. 작업을 완료하기 전에 제한 시간이 경과되었거나 서버가 응답하지 않았습니다.
백업 또는 복원 작업이 중단되었습니다.
위치 줄:1 문자:14
+ Invoke-Sqlcmd <<<< -query "exec dbo.dbrecovery 'dtpia','D:\testdb_backup_2014_02_25_040002_1352559.bak';"
+ CategoryInfo : InvalidOperation: (:) [Invoke-Sqlcmd], SqlPowerShellSqlExecutionException
+ FullyQualifiedErrorId : SqlError,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
======================================================
이런현상이 C# 으로 짜서 프로그램으로 만들어서 쿼리 날려도 타임아웃,
스토어드프로시져 로 만든뒤 호출해도 타임아웃
powershell 로 직접 호출해도 타임아웃.
오직 !!!
management 창 에서 직접 쿼리 를 날리던가 ( 쿼리는 동일 )
아니면 마우스 로 클릭 클릭 해서 복원하던가,, -.-;;
제가 해본건, mssql 서버의 속성 들어가서 연결 부분에 원격 쿼리 제한 시간 부분을 0 으로 수정도 해봤고,,,
고급 탭에서 원격 로그인 제한 시간 부분을 20초에서 20000 으로 수정도 해봤습니다.
그런데.. -.-;; 증상은 동일~~~~ ㅠ.ㅠ 아악~~~~
도와 주십쇼 ㅠ.ㅠ
제가 원하는 것은 db 프로그램 접속 하지 않고, 코딩으로만 처리 하는 방법.. ㅠ.ㅠ 흑흑,,
쿼리는 exec dbrecovery 'testdb','e:\\testdb_backup_2014_02_25_040002_1352559.bak' 요런식으로 날리면 되게끔 만들어두긴 했습니다.