내 프로그램 용으로이 업데이트 도구가 있습니다. 이 도구는이 코드 (vb 및 sql)로 SQL Server 데이터베이스를 업데이트합니다.RESTORE SQL Server의 c : users directories에있는 .bak 파일
Dim sql As Process = Process.Start("sqlcmd.exe", Param + " -i update.sql -o log.txt")
Param
는 다른 사람의 사이 .bak
파일 myprogram_update.bak
의 이름을 포함합니다.
RESTORE DATABASE [myprogram_tmp]
FROM DISK = N'$(db_src)'
WITH FILE = 1,
MOVE N'myprogram_tmp' TO @mdf,
MOVE N'myprogram_tmp_log' TO @ldf,
NOUNLOAD, STATS = 5
@mdf
및 @ldf
와
update.sql
시작은 SQL 서버 설정에서 읽어 표준 경로입니다.
업데이트 도구는 고객에게 제공되며 일반적으로 SQL Server는 Desktop
또는 Downloads
과 같은 Windows 사용자 디렉터리에서 읽을 수 없습니다. 그러나 많은 고객이 아카이브를 압축 해제 한 다음이 오류가 발생합니다.
myprogram_update.bak/access denied에 액세스 할 수 없습니다.
모든 고객 서버의 설정을 변경할 수 없으므로이 디렉토리에서 사용할 수있는 방법이 있습니까? 내 생각 중 하나는 먼저 설정을 실행하고 program files
에 압축을 푼 것이지만 더 똑똑한 해결책이 될 수 있습니다.
편집 : 도구가 관리자 모드로 실행됩니다.
는 DACPAC 또는 BACPAC으로 변경 및/또는 초기 데이터베이스를 발송 고려하십시오. SQL Server 자체에 대한 사용 권한 만 있으면 배포 할 수 있습니다. 제한된 양의 데이터 만이 방식으로 지원되지만 스크립트 복원보다 편리합니다 (DACPAC 배포를 프로그래밍 방식으로 호출하는 것은 DacFx를 통해 지원됩니다). 데이터베이스 프로젝트는 일반적으로 버전 관리를 완벽하게 지원하므로 큰 이점이 있습니다. –