Get-DbaOleDbProvider
View SourceSynopsis
Retrieves OLE DB provider configurations registered with SQL Server for linked servers and distributed queries
Description
Returns the OLE DB providers that SQL Server knows about and can use for external data connections like linked servers, distributed queries, and OPENROWSET operations. This is essential for auditing your server’s connectivity capabilities and troubleshooting linked server connection issues. The function shows provider details including security settings like AllowInProcess and DisallowAdHocAccess, which control how SQL Server can use each provider. Use this when setting up linked servers or diagnosing why certain external data sources aren’t accessible.
Syntax
Get-DbaOleDbProvider
[-SqlInstance] <DbaInstanceParameter[]>
[[-SqlCredential] <PSCredential>]
[[-Provider] <String[]>]
[-EnableException]
[<CommonParameters>]
Examples
Example: 1
PS C:\> Get-DbaOleDbProvider -SqlInstance SqlBox1\Instance2
Returns a list of all OleDb providers on SqlBox1\Instance2
Example: 2
PS C:\> Get-DbaOleDbProvider -SqlInstance SqlBox1\Instance2 -Provider SSISOLEDB
Returns the SSISOLEDB provider on SqlBox1\Instance2
Required Parameters
-SqlInstance
The target SQL Server instance or instances.
| Property | Value |
|---|---|
| Alias | |
| Required | True |
| Pipeline | true (ByValue) |
| Default Value |
Optional Parameters
-SqlCredential
Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.
For MFA support, please use Connect-DbaInstance.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value |
-Provider
Filters results to specific OLE DB provider names. Accepts an array of provider names for targeting multiple providers.
Use this when you need to check configuration for specific providers like SQLNCLI11 or MSDASQL instead of listing all available providers.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value |
-EnableException
By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with “sea of red” exceptions, but is inconvenient because it basically disables advanced scripting.
Using this switch turns this “nice by default” feature off and enables you to catch exceptions with your own try/catch.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value | False |
Outputs
Microsoft.SqlServer.Management.Smo.OleDbProviderSettings
Returns one OleDbProviderSettings object per OLE DB provider configured on the SQL Server instance.
Default display properties (via Select-DefaultView):
- ComputerName: Computer name of the SQL Server instance
- InstanceName: SQL Server instance name
- SqlInstance: Full SQL Server instance name (computer\instance format)
- Name: OLE DB provider name (e.g., SQLNCLI11, MSDASQL, SSISOLEDB)
- Description: Human-readable description of the provider
- AllowInProcess: Boolean indicating if the provider is allowed to run in-process with SQL Server
- DisallowAdHocAccess: Boolean indicating if ad hoc access (OPENROWSET, OPENDATASOURCE) is disallowed
- DynamicParameters: Boolean indicating if the provider supports dynamic parameters
- IndexAsAccessPath: Boolean indicating if the provider supports indexes as access paths
- LevelZeroOnly: Boolean indicating if only level zero (table-level) operations are allowed
- NestedQueries: Boolean indicating if the provider supports nested queries
- NonTransactedUpdates: Boolean indicating if the provider supports non-transacted updates
Additional properties available (from SMO OleDbProviderSettings object):
- Parent: Reference to the parent Server object
- Urn: The Uniform Resource Name of the provider object
- Properties: Collection of property objects
- State: Current state of the SMO object (Existing, Creating, Deleting, etc.)
- Uid: Unique identifier for the provider setting All properties from the base SMO OleDbProviderSettings object are accessible using Select-Object * even though only the default properties are displayed without it.
dbatools