Navegar por las rutas de acceso de SQL Server PowerShell
El proveedor de PowerShell de Motor de base de datos expone el conjunto de objetos de una instancia de SQL Server en una estructura similar a una ruta de acceso del archivo. Puede usar los cmdlets de Windows PowerShell para navegar por la ruta de acceso del proveedor y crear las unidades personalizadas para acortar la ruta de acceso que tiene que escribir.
Antes de empezar
Windows PowerShell implementa cmdlets para navegar por la estructura de ruta de acceso que representa la jerarquía de objetos compatible con un proveedor de PowerShell. Cuando ha navegado a un nodo de la ruta de acceso, puede usar otros cmdlets para realizar operaciones básicas en el objeto actual. Dado que los cmdlets se usan con frecuencia, tienen alias canónicos cortos. También hay un conjunto de alias que asigna los cmdlets a comandos del símbolo del sistema similares, y otro conjunto para los comandos shell de UNIX.
El proveedor de SQL Server implementa un subconjunto de los cmdlets de proveedor, que se muestran en la tabla siguiente.
cmdlet |
Alias canónico |
Alias de cmd |
Alias de shell de UNIX |
Descripción |
---|---|---|---|---|
Get-Location |
gl |
pwd |
pwd |
Obtiene el nodo actual. |
Set-Location |
sl |
cd, chdir |
cd, chdir |
Cambia el nodo actual. |
Get-ChildItem |
gci |
dir |
ls |
Enumera los objetos almacenados en el nodo actual. |
Get-Item |
gi |
Devuelve las propiedades del elemento actual. |
||
Rename-Item |
rni |
rn |
ren |
Cambia el nombre de un objeto. |
Remove-Item |
ri |
del, rd |
rm, rmdir |
Quita un objeto. |
Importante |
---|
Algunos identificadores de SQL Server (nombres de objeto) contienen caracteres que Windows PowerShell no admite en los nombres de ruta de acceso. Para obtener más información sobre cómo usar nombres que contengan estos caracteres, vea Identificadores de SQL Server en PowerShell. |
Información de SQL Server devuelta por Get-ChildItem
La información devuelta por Get-ChildItem (o sus alias dir y ls ) depende de la ubicación en una ruta de acceso de SQLSERVER.
Ubicación de la ruta de acceso |
Resultados de Get-ChildItem |
---|---|
SQLSERVER:\SQL |
Devuelve el nombre del equipo local. Si ha usado SMO o WMI para conectarse a las instancias de Motor de base de datos en otros equipos, esos equipos también se enumeran. |
SQLSERVER:\SQLComputerName |
Lista de instancias del Motor de base de datos en el equipo. |
SQLSERVER:\SQL\ComputerName\InstanceName |
Lista de tipos de objeto de nivel superior en la instancia, como Extremos, Certificados y Bases de datos. |
Nodo de clase de objeto, como Databases |
Lista de objetos de ese tipo, como la lista de bases de datos: master, model, AdventureWorks20008R2. |
Nodo de nombre de objeto, como AdventureWorks2012 |
Lista de los tipos de objeto contenidos en el objeto. Por ejemplo, una base de datos mostraría tipos de objeto como tablas y vistas. |
De forma predeterminada, Get-ChildItem no muestra ningún objeto del sistema. Use el parámetro Force para ver los objetos del sistema, como los objetos del esquema sys.
Unidades personalizadas
Windows PowerShell deja que los usuarios definan las unidades virtuales, a las que se hace referencia como unidades de PowerShell. Estas se asignan en los nodos de inicio de una instrucción de ruta de acceso. Se suelen usar para acortar las rutas de acceso que se escriben con frecuencia. Las rutas de acceso de SQLSERVER: pueden requerir mucho tiempo y espacio en la ventana de Windows PowerShell, así como mucho esfuerzo para escribirlas. Si va a trabajar mucho en un nodo de ruta de acceso determinado, puede definir una unidad de Windows PowerShell personalizada que se asigne a ese nodo.
Use Alias de Cmdlet de PowerShell
Use un alias de cmdlet
- En lugar de escribir un nombre completo de cmdlet, escriba un alias más corto que se asigna a un comando de símbolo de sistema.
Ejemplo de Alias (PowerShell)
Por ejemplo, puede usar uno de los conjuntos de cmdlets o alias siguientes para recuperar una lista de las instancias de SQL Server disponibles para navegar a la carpeta SQLSERVER:\SQL y solicitar la lista de elementos secundarios de la misma:
## Shows using the full cmdet name.
Set-Location SQLSERVER:\SQL
Get-ChildItem
## Shows using canonical aliases.
sl SQLSERVER:\SQL
gci
## Shows using command prompt aliases.
cd SQLSERVER:\SQL
dir
## Shows using Unix shell aliases.
cd SQLSERVER:\SQL
ls
Uso de Get-ChildItem
Devuelve información mediante Get-Childitem
Navegue hasta el nodo para el que desea obtener una lista de childrem
Ejecuta Get-Childitem para obtener la lista.
Ejemplo de Get-ChildItem (PowerShell)
Estos ejemplos muestran la información devuelta por Get-Childitem para varios nodos en una ruta de acceso del proveedor de SQL Server.
## Return the current computer and any computer
## to which you have made a SQL or WMI connection.
Set-Location SQLSERVER:\SQL
Get-ChildItem
## List the instances of the Database Engine on the local computer.
Set-Location SQLSERVER:\SQL\localhost
Get-ChildItem
## Lists the categories of objects available in the
## default instance on the local computer.
Set-Location SQLSERVER:\SQL\localhost\DEFAULT
Get-ChildItem
## Lists the databases from the local default instance.
## The force parameter is used to include the system databases.
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases
Get-ChildItem -force
Crea una unidad personalizada
Cree y use una unidad personalizada
Use New-PSDrive para definir una unidad personalizada. Use el parámetro de Root para especificar la ruta de acceso representada por el nombre de la unidad personalizada.
Haga referencia al nombre de la unidad personalizada en cmdlets de navegación de la ruta de acceso como Set-Location.
Ejemplo de unidad personalizada (PowerShell)
Este ejemplo crea una unidad virtual denominada AWDB que asigna al nodo de una copia implementada de la base de datos de ejemplo de AdventureWorks2012. La unidad virtual se usa para navegar a una tabla de la base de datos.
## Create a new virtual drive.
New-PSDrive -Name AWDB -Root SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012
## Use AWDB: to navigate to a specific table.
Set-Location AWDB:\Tables\Purchasing.Vendor
Vea también
Conceptos
Proveedor de PowerShell de SQL Server
Trabajar con rutas acceso de SQL Server PowerShell
Convertir URN en rutas de acceso del proveedor de SQL Server