Author | Klaas Vandenberghe (@PowerDbaKlaas) |
Availability | Windows, Linux, macOS |
Want to see the source code for this command? Check out Get-DbaDbView on GitHub.
Want to see the Bill Of Health for this command? Check out Get-DbaDbView.
Retrieves SQL Server database views with metadata for documentation and analysis.
Retrieves all database views from SQL Server instances along with their schema, creation dates, and modification timestamps. This helps DBAs document database architecture, analyze view dependencies, and audit database objects across multiple servers and databases. The function excludes system views by default when requested, making it useful for focusing on custom business logic views.
Get-DbaDbView
[[-SqlInstance] <DbaInstanceParameter[]>]
[[-SqlCredential] <PSCredential>]
[[-Database] <Object[]>]
[[-ExcludeDatabase] <Object[]>]
[-ExcludeSystemView]
[[-View] <String[]>]
[[-Schema] <String[]>]
[[-InputObject] <Database[]>]
[-EnableException]
[<CommonParameters>]
PS C:\> Get-DbaDbView -SqlInstance sql2016
Gets all database views
PS C:\> Get-DbaDbView -SqlInstance Server1 -Database db1
Gets the views for the db1 database
PS C:\> Get-DbaDbView -SqlInstance Server1 -ExcludeDatabase db1
Gets the views for all databases except db1
PS C:\> Get-DbaDbView -SqlInstance Server1 -ExcludeSystemView
Gets the views for all databases that are not system objects (there can be 400+ system views in each DB)
PS C:\> 'Sql1','Sql2/sqlexpress' | Get-DbaDbView
Gets the views for the databases on Sql1 and Sql2/sqlexpress
PS C:\> Get-DbaDatabase -SqlInstance Server1 -ExcludeSystem | Get-DbaDbView
Pipe the databases from Get-DbaDatabase into Get-DbaDbView
PS C:\> Get-DbaDbView -SqlInstance Server1 -Database db1 -View vw1
Gets the view vw1 for the db1 database
The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.
Alias | |
Required | False |
Pipeline | true (ByValue) |
Default Value |
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.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Specifies which databases to search for views. Use this when you need to focus on specific databases instead of scanning all databases on the instance.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Specifies databases to skip when retrieving views. Useful when you want results from most databases but need to exclude specific ones like test or staging databases.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Excludes SQL Server system views from results to focus only on user-created views. Essential when documenting custom application views since each database can contain 400+ system views that clutter
output.
Alias | |
Required | False |
Pipeline | false |
Default Value | False |
Specifies specific view names to retrieve instead of returning all views. Supports three-part naming (database.schema.view) to target views across different databases and schemas in a single query.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Filters results to views within specific schemas only. Useful for organizing output when databases have views spread across multiple schemas like dbo, reporting, or application-specific schemas.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Accepts database objects from Get-DbaDatabase through the pipeline. Allows you to filter databases first with Get-DbaDatabase then retrieve views from only those selected databases.
Alias | |
Required | False |
Pipeline | true (ByValue) |
Default Value |
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.
Alias | |
Required | False |
Pipeline | false |
Default Value | False |