SQL Server PowerShellSQL Server PowerShell

SE APLICA A: síSQL Server síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Instalación de SQL Server PowerShellInstall SQL Server PowerShell

Nota

Hay dos módulos de SQL Server PowerShell: SqlServer y SQLPS.There are two SQL Server PowerShell modules; SqlServer and SQLPS. El módulo SQLPS está incluido en la instalación de SQL Server (por motivos de compatibilidad con versiones anteriores), pero ya no se actualiza.The SQLPS module is included with the SQL Server installation (for backwards compatibility), but is no longer being updated. El módulo de PowerShell más actualizado es SqlServer.The most up-to-date PowerShell module is the SqlServer module. El módulo SqlServer contiene versiones actualizadas de los cmdlets en SQLPS, así como nuevos cmdlets para admitir las características más recientes de SQL.The SqlServer module contains updated versions of the cmdlets in SQLPS, and also includes new cmdlets to support the latest SQL features.
Las versiones anteriores del módulo SqlServer estaban incluidas en SQL Server Management Studio (SSMS), pero solo con las versiones 16.x de SSMS.Previous versions of the SqlServer module were included with SQL Server Management Studio (SSMS), but only with the 16.x versions of SSMS. Para usar PowerShell con SSMS 17.0 y versiones posteriores, debe tener el módulo SqlServer instalado desde la Galería de PowerShell.To use PowerShell with SSMS 17.0 and later, the SqlServer module must be installed from the PowerShell Gallery. Para instalar el módulo SqlServer, consulte Instalar SQL Server PowerShell.To install the SqlServer module, see Install SQL Server PowerShell.

¿Por qué ha cambiado el módulo de SQLPS a SqlServer?Why did the module change from SQLPS to SqlServer?

Para enviar las actualizaciones de SQL PowerShell era necesario cambiar la identidad del módulo de SQL PowerShell, así como el contenedor conocido como SQLPS.exe.To ship SQL PowerShell updates, we had to change the identity of the SQL PowerShell module, as well as the wrapper known as SQLPS.exe. Debido a este cambio, ahora hay dos módulos de SQL PowerShell, SqlServer y SQLPS.Because of this change, there are now two SQL PowerShell modules, the SqlServer module, and the SQLPS module.

Actualice los scripts de PowerShell si importan el módulo SQLPS.Update your PowerShell scripts if they import the SQLPS module.

Si tiene algún script de PowerShell que ejecute Import-Module -Name SQLPS y quiere aprovechar la nueva funcionalidad de proveedor y los nuevos cmdlets, debe cambiarlos a Import-Module -Name SqlServer.If you have any PowerShell scripts that run Import-Module -Name SQLPS, and you want to take advantage of the new provider functionality and new cmdlets, you must change them to Import-Module -Name SqlServer. El módulo nuevo se instala en la carpeta %ProgramFiles%\WindowsPowerShell\Modules\SqlServer.The new module is installed to %ProgramFiles%\WindowsPowerShell\Modules\SqlServer folder. Por tanto, no tiene que actualizar la variable $env:PSModulePath.Therefore, you do not have to update the $env:PSModulePath variable. Si tiene scripts que usan una versión comunitaria o de terceros de un módulo denominado SqlServer, use el parámetro Prefix para evitar conflictos de nombres.If you have scripts that use a third-party or community version of a module named SqlServer, use of the Prefix parameter to avoid name collisions. No hay ningún cambio en el módulo que usa el Agente SQL Server.There is no change to the module used by SQL Server Agent.

Componentes de SQL Server PowerShellSQL Server PowerShell Components

El módulo SqlServer carga dos complementos de Windows PowerShell:The SqlServer module loads two Windows PowerShell snap-ins:

  • Un proveedor SQL ServerSQL Server , que habilita un mecanismo de navegación sencillo similar a las rutas de acceso al sistema de archivos.A SQL ServerSQL Server provider, which enables a simple navigation mechanism similar to file system paths. Puede compilar rutas de acceso similares a las del sistema de archivos, en las que la unidad se asocia a un modelo de objetos de administración de SQL ServerSQL Server y los nodos se basan en las clases del modelo de objetos.You can build paths similar to file system paths, where the drive is associated with a SQL ServerSQL Server management object model, and the nodes are based on the object model classes. A continuación, puede usar comandos conocidos, como cd y dir , para navegar por las rutas de acceso de modo similar a como se navega por las carpetas en una ventana del símbolo del sistema.You can then use familiar commands such as cd and dir to navigate the paths similar to the way you navigate folders in a command prompt window. Puede usar otros comandos, como ren o del, para realizar acciones en los nodos de la ruta de acceso.You can use other commands, such as ren or del, to perform actions on the nodes in the path.

  • Un conjunto de cmdlets que admiten acciones tales como la ejecución de un script de sqlcmd que contenga instrucciones de Transact-SQLTransact-SQL o de XQuery.A set of cmdlets that support actions such as running a sqlcmd script containing Transact-SQLTransact-SQL or XQuery statements.

versiones de SQL ServerSQL Server Versions

Los cmdlets de SQL PowerShell se pueden usar para administrar instancias de Azure SQL Database, Azure SQL Data Warehouse y todos los productos de SQL Server compatibles.SQL PowerShell cmdlets can be used to manage instances of Azure SQL Database, Azure SQL Data Warehouse, and all supported SQL Server products.

Identificadores de SQL Server que contienen caracteres no admitidos en las rutas de acceso de PowerShellSQL Server identifiers that contain characters not supported in PowerShell paths

Los cmdlets Encode-Sqlname y Decode-Sqlname le ayudan a especificar los identificadores de SQL Server que contienen caracteres no admitidos en las rutas de acceso de PowerShell.The Encode-Sqlname and Decode-Sqlname cmdlets help you specify SQL Server identifiers that contain characters not supported in PowerShell paths. Para más información, consulte SQL Server Identifiers in PowerShell.For more information, see SQL Server Identifiers in PowerShell.

Use el cmdlet Convert-UrnToPath para convertir un nombre de recurso único de un objeto de Motor de base de datosDatabase Engine en una ruta de acceso para el proveedor de SQL Server PowerShell.Use the Convert-UrnToPath cmdlet to convert a Unique Resource Name for a Motor de base de datosDatabase Engine object to a path for the SQL Server PowerShell provider. Para más información, consulte Convert URNs to SQL Server Provider Paths.For more information, see Convert URNs to SQL Server Provider Paths.

Expresiones de consulta y nombres de recursos únicosQuery Expressions and Unique Resource Names

Las expresiones de consulta son cadenas que usan una sintaxis similar a XPath para especificar un conjunto de criterios que enumeran uno o más objetos de una jerarquía del modelo de objetos.Query expressions are strings that use syntax similar to XPath to specify a set of criteria that enumerate one or more objects in an object model hierarchy. Un nombre de recurso único (URN) es un tipo específico de cadena de expresión de consulta que identifica exclusivamente un objeto único.A Unique Resource Name (URN) is a specific type of query expression string that uniquely identifies a single object. Para más información, consulte Query Expressions and Uniform Resource Names.For more information, see Query Expressions and Uniform Resource Names.

Referencia de cmdletsCmdlet reference