SQL Server PowerShell 경로 작업Work With SQL Server PowerShell Paths

데이터베이스 엔진Database Engine 공급자 경로의 노드로 이동한 후에는 노드에 연결된 데이터베이스 엔진Database Engine 관리 개체에서 메서드 및 속성을 사용하여 작업을 수행하거나 정보를 검색할 수 있습니다.After you have navigated to a node in a 데이터베이스 엔진Database Engine provider path, you can perform work or retrieve information by using the methods and properties from the 데이터베이스 엔진Database Engine management object associated with the node.

  1. 시작하기 전에Before You Begin

  2. To work on a path node: Listing Methods and Properties, Using Methods and PropertiesTo work on a path node: Listing Methods and Properties, Using Methods and Properties

시작하기 전에 Before You Begin

데이터베이스 엔진Database Engine 공급자 경로의 노드로 이동한 후에는 다음 두 가지 동작을 수행할 수 있습니다.After you have navigated to a node in a 데이터베이스 엔진Database Engine provider path, you can perform two types of actions:

  • Rename-Item과 같이 노드에서 작동하는 Windows PowerShell cmdlet을 실행할 수 있습니다.You can run Windows PowerShell cmdlets that operate on nodes, such as Rename-Item.

  • SMO와 같은 관련 SQL ServerSQL Server 관리 개체 모델에서 메서드를 호출할 수 있습니다.You can call the methods from the associated SQL ServerSQL Server management object model, such as SMO. 예를 들어 경로에서 Databases 노드로 이동하는 경우 Database 클래스의 메서드와 속성을 사용할 수 있습니다.For example, if you navigate to the Databases node in a path, you can use the methods and properties of the Database class.

    SQL ServerSQL Server 공급자는 데이터베이스 엔진Database Engine인스턴스의 개체를 관리하는 데 사용됩니다.The SQL ServerSQL Server provider is used to manage the objects in an instance of the 데이터베이스 엔진Database Engine. 데이터베이스의 데이터 작업에는 사용되지 않습니다.It is not used to work with the data in databases. 테이블 또는 뷰로 이동한 경우에는 공급자를 사용하여 데이터에 대한 선택, 삽입, 업데이트 또는 삭제 작업을 수행할 수 없습니다.If you have navigated to a table or view, you cannot use the provider to select, insert, update, or delete data. Windows PowerShell 환경에서 테이블 및 뷰의 데이터를 쿼리하거나 변경하려면 Invoke-Sqlcmd cmdlet을 사용하세요.Use the Invoke-Sqlcmd cmdlet to query or change data in tables and views from the Windows PowerShell environment. 자세한 내용은 Invoke-Sqlcmd cmdlet을 참조하세요.For more information, see Invoke-Sqlcmd cmdlet.

메서드 및 속성 나열 Listing Methods and Properties

메서드 및 속성 나열Listing Methods and Properties

특정 개체 또는 개체 클래스에 사용할 수 있는 메서드 및 속성을 보려면 Get-Member cmdlet을 사용합니다.To view the methods and properties available for specific objects or object classes, use the Get-Member cmdlet.

예: 메서드 및 속성 나열Examples: Listing Methods and Properties

이 예제에서는 Windows PowerShell 변수를 SMO Database 클래스로 설정하고 메서드 및 속성을 나열합니다.This example sets a Windows PowerShell variable to the SMO Database class and lists the methods and properties:

$MyDBVar = New-Object Microsoft.SqlServer.Management.SMO.Database  
$MyDBVar | Get-Member –Type Methods  
$MyDBVar | Get-Member -Type Properties  

또한 Get-Member 를 사용하여 Windows PowerShell 경로의 끝 노드와 관련된 메서드 및 속성을 나열할 수 있습니다.You can also use Get-Member to list the methods and properties that are associated with the end node of a Windows PowerShell path.

이 예에서는 SQLSERVER: 경로의 Databases 노드로 이동하고 컬렉션 속성을 나열합니다.This example navigates to the Databases node in a SQLSERVER: path and lists the collection properties:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
Get-Item . | Get-Member -Type Properties  

이 예에서는 SQLSERVER: 경로의 AdventureWorks2012 노드로 이동하고 개체 속성을 나열합니다.This example navigates to the AdventureWorks2012 node in a SQLSERVER: path and lists the object properties:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012  
Get-Item . | Get-Member -Type Properties  

메서드 및 속성 사용 Using Methods and Properties

SMO 메서드 및 속성 사용Using SMO Methods and Properties

데이터베이스 엔진Database Engine 공급자 경로에서 개체에 대한 작업을 수행하려면 SMO 메서드 및 속성을 사용할 수 있습니다.To perform work on objects from a 데이터베이스 엔진Database Engine provider path, you can use SMO methods and properties.

예: 메서드 및 속성 사용Examples: Using Methods and Properties

이 예에서는 SMO Schema 속성을 사용하여 AdventureWorks2012의 Sales 스키마에서 테이블 목록을 가져옵니다.This example uses the SMO Schema property to get a list of the tables from the Sales schema in AdventureWorks2012:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012\Tables  
Get-ChildItem | where {$_.Schema -eq "Sales"}  

이 예에서는 SMO Script 메서드를 사용하여 CREATE VIEW 문을 포함하는 스크립트를 생성합니다. 이 문은 AdventureWorks2012에 뷰를 다시 만드는 데 필요합니다.This example uses the SMO Script method to generate a script that contains the CREATE VIEW statements you must have to re-create the views in AdventureWorks2012:

Remove-Item C:\PowerShell\CreateViews.sql  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012\Views  
foreach ($Item in Get-ChildItem) { $Item.Script() | Out-File -Filepath C:\PowerShell\CreateViews.sql -append }  

이 예에서는 SMO Create 메서드를 사용하여 데이터베이스를 만든 다음 State 속성을 사용하여 데이터베이스의 유무를 표시합니다.This example uses the SMO Create method to create a database, and then uses the State property to show whether the database exists:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
$MyDBVar = New-Object Microsoft.SqlServer.Management.SMO.Database  
$MyDBVar.Parent = (Get-Item ..)  
$MyDBVar.Name = "NewDB"  
$MyDBVar.Create()  
$MyDBVar.State  

참고 항목See Also

SQL Server PowerShell 공급자 SQL Server PowerShell Provider
SQL Server PowerShell 경로 탐색 Navigate SQL Server PowerShell Paths
URN을 SQL Server 공급자 경로로 변환 Convert URNs to SQL Server Provider Paths
SQL Server PowerShell SQL Server PowerShell