로컬 머신의 PowerShell에서 SQL 쿼리 실행
PowerShell은 SQL Server 인스턴스에서 임의의 SQL 쿼리를 실행하는 기능을 제공합니다. 이는 기본 .NET 및 PowerShell만으로 수행할 수 있습니다. 다음은 프로세스를 단순화하는 함수입니다.
function Invoke-SQL { param( [string] $dataSource = ".\SQLEXPRESS", [string] $database = "MasterData", [string] $sqlCommand = $(throw "Please specify a query.") ) $connectionString = "Data Source=$dataSource; " + "Integrated Security=SSPI; " + "Initial Catalog=$database" $connection = new-object system.data.SqlClient.SQLConnection($connectionString) $command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection) $connection.Open() $adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command $dataset = New-Object System.Data.DataSet $adapter.Fill($dataSet) | Out-Null $connection.Close() $dataSet.Tables }
이 함수를 사용하려면 데이터 소스(일반적으로 컴퓨터 이름 또는 .SQLEXPRESS), 데이터베이스 이름 및 실행하려는 SQL 명령을 지정해야 합니다.
이 함수를 정의하고 나면 적절한 매개변수로 Invoke-SQL을 호출하여 PowerShell 내에서 임의 쿼리를 실행할 수 있습니다. 예를 들어, 다음 명령은 로컬 SQL Server 인스턴스의 "MyDatabase" 데이터베이스에서 "SELECT * FROM Customers" 쿼리를 실행합니다.
Invoke-SQL -database "MyDatabase" -sqlCommand "SELECT * FROM Customers"
이렇게 하면 쿼리 결과가 포함된 데이터 세트가 반환됩니다. 그런 다음 PowerShell에서 작업할 수 있습니다.
이 기능은 GitHub(https://github.com/ChrisMagnuson/InvokeSQL)에서 사용할 수 있는 PowerShell 모듈로 더욱 향상되었습니다. 이 모듈을 설치하면 Invoke-SQL 기능을 PowerShell 환경에 자동으로 로드하고 수동으로 정의할 필요 없이 원활하게 사용할 수 있습니다.
위 내용은 PowerShell에서 직접 SQL 쿼리를 어떻게 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!