매우 간단한 프로세스를 자동화하기 위해 PowerShell 스크립트를 만들려고 노력하고 있지만, 작동하려면 아무 것도 얻을 수 없습니다. 문서화는 내가 필요로하는 것이거나 구식이거나 모순되는 것이 아닙니다. 나는 데이터베이스에 연결하는 관리되지했습니다PowerShell을 통해 로컬 SQL 서버 2016에 연결하고 .sql 파일에 저장된 SQL을 실행하는 방법은 무엇입니까?
$SQLConnection = New-Object System.Data.SQLClient.SQLConnection
$SQLConnection.ConnectionString = "Data Source=.\SQL2016;Initial Catalog=TEST;Trusted_Connection=true;"
$SQLConnection.Open()
$Cmd = new-object system.Data.SqlClient.SqlCommand($SQLConnection)
Invoke-Sqlcmd -InputFile "C:\dev\test\script.sql" | Out-File -filePath "C:\dev\test\output.sql"
$SQLConnection.Close()
:
나는이 몇 가지 변화를 했어.
아이디어는 script.sql
입니다. 우리는 소스 제어에 넣을 SQL 묶음을 뱉어냅니다. 소스 제어가되면 젠킨스 (Jenkins)의 일은 그 일로 무언가를 할 것입니다.
가능한 한 기본 설정으로 유지하려고하면 다른 연결 문자열 외에는 유연성이 필요하지 않습니다. 가능한 경우 PSSQL을 사용하지 않으려합니다. 사용자가 연결 문자열 (데이터베이스가 이름 임)을 던지고 스크립트를 실행하면 작업이 완료됩니다.
누구나 올바른 방향으로 나를 가리킬 수 있습니까?
@ wp78de SQL Server 2008 R2와 SQL Server 2016 사이에 중요한 변경 사항이 있었기 때문에 가장 좋은 대답은 아닙니다. 명령 구문은 비슷하지만 Powershell 모듈은 현재 모듈이며 스냅인이었습니다. in 2008 R2. 그런 다음 모듈이 처음 나왔을 때 이름이 SQLPS로 지정되었습니다. 최근에야 SqlServer로 이름을 바꾸고 PowerShell 갤러리에 추가했습니다. –