首页 > 数据库 >通过PowerShellPlus示例脚本学习PowerShell之-通过SMO获取SQLServer数据库

通过PowerShellPlus示例脚本学习PowerShell之-通过SMO获取SQLServer数据库

时间:2023-12-07 10:01:38浏览次数:43  
标签:verbose serverInstance 示例 ## SqlServer SQLServer SMO Microsoft

## =====================================================================
## Title       : Get-MSSQL-DB-UsingSMO
## Description : Show all databases using SMO for a given server instance
## Author      : Idera
## Date        : 1/28/2008
## Input       : -serverInstance <server\instance>
## 				  -verbose 
## 				  -debug	
## Output      : Database IDs and Names
## Usage			: PS> .\Get-MSSQL-DB-UsingSMO -serverInstance MyServer -verbose -debug
## Notes			: Adapted from Jakob Bindslet script
## Tag			: SQL Server, SMO, List databases
## Change log  :
##   4/1/2009 - Added input prompts and write-verbose statements
##   4/1/2009 - Revised SMO Assemblies
## =====================================================================
 
param
(
  	[string]$serverInstance = "$(Read-Host 'Server Instance' [e.g. (local)])",
	[switch]$verbose = $true,
	[switch]$debug = $false
)

function main()
{
	if ($verbose) {$VerbosePreference = "Continue"}
	if ($debug) {$DebugPreference = "Continue"}

	Write-Verbose "Show all databases using SMO for a given server instance..."
	Get-MSSQL-DB-UsingSMO $serverInstance
}

function Get-MSSQL-DB-UsingSMO($ServerInstance)
{
	#Load SMO assemblies
	[void][reflection.assembly]::LoadWithPartialName( "Microsoft.SqlServer.Management.Common" );
	[void][reflection.assembly]::LoadWithPartialName( "Microsoft.SqlServer.SmoEnum" );
	[void][reflection.assembly]::LoadWithPartialName( "Microsoft.SqlServer.Smo" );
	[void][reflection.assembly]::LoadWithPartialName( "Microsoft.SqlServer.SmoExtended " );
	 
	$smoServer = new-object( 'Microsoft.SqlServer.Management.Smo.Server' ) ($serverInstance)
    
	foreach ($database in $smoServer.databases) 
	{
		$dbID = $database.ID
		$dbName = $database.Name
		Write-Output "$dbID : $dbName"
	}
}

main

本脚本是通过SMO方式获取显示指定SQLServer实例上的所有数据库。脚本加载的依旧是.net程序集,通过操作新生成的.net对象来进行数据库读取的。没有新的PowerShell原生Cmdlets学习。

标签:verbose,serverInstance,示例,##,SqlServer,SQLServer,SMO,Microsoft
From: https://blog.51cto.com/u_3353175/8718226

相关文章

  • .NET 6 使用Nlog 记录日志到本地并写入SQLserver数据库
    1.安装Nlog对应Nuget包版本NLog:5.0.4NLog.Database:5.0.4NLog.Web.AspNetCore:5.1.4Microsoft.Data.SqlClient:5.0.0(写入SQLServer数据库用的)2.建表SQLCREATETABLE[dbo].[NLog]( [Id][bigint]IDENTITY(1,1)NOTNULL, [Application][nvarchar](50)NOTNULL, [Lo......
  • jsmn示例使用
    前言jsmn是一款超级精简的c语言json解释器,用于嵌入式进行json数据解析特别友好。官方库:https://github.com/zserge/jsmn/tree/masterjsmn(pronouncedlike'jasmine')isaminimalisticJSONparserinC.Itcanbeeasilyintegratedintoresource-limitedorembedde......
  • systemd使用示例
    [Unit]Description=monitorsg_ai_framework_boxAfter=network.target[Service]User=rootType=forkingExecStart=/data/script/run/start.shExecStop=/data/script/run/stop.shPrivateTmp=trueRestart=always[Install]WantedBy=multi-user.target 1.启动nfs服务systemctl s......
  • SQLServer解决deadlock问题的一个场景
    SQLServer解决deadlock问题的一个场景背景公司产品出现过很多次deadlock跟研发讨论了很久,都没有具体的解决思路但是这边知道了一个SQLServer数据库上面计划100%出现问题的场景然后想着跟之前微软case一起处理一下看能否解决这个问题.整体思路1.修改默认的隔离级别......
  • cosmo 开源apollo Graphos 工具
    cosmo时候一个graphql联邦工具,可以用来方便的进行graphql协作参考架构说明wundergraph团队开源了不少graphql相关的工具了,cosmo是一个graphql联邦值得学习的工具参考资料https://cosmo-docs.wundergraph.com/https://github.com/wundergraph/cosmo......
  • Java 内存分析工具 Arthas 介绍与示例讲解
    目录一、概述二、Arthas安装三、Arthas主要组成结构四、Arthas通信主要流程五、Arthas快速入门讲解1)启动Arthas2)基础命令介绍3)jvm相关1、dashboard(实时数据面板)2、Thread(线程相关堆栈信息)3、jvm(查看当前JVM的信息)4、memory(查看JVM的内存信息)5、sysprop(查看/修改属性)6、s......
  • SQLServer 性能报表的学习与使用
    SQLServer性能报表的学习与使用背景前面连续学习了SQLServer如何优化等事宜.但是一开始总是么有找到对应的问题解决思路周天时想到了SQLSERVER的MDW工具但是并没有找到一个合适的处理方式和方法.今天突然发现可以使用部分核心报表功能进行问题定位.所以想着总结一下,......
  • SQLServer数据库优化学习-总结
    SQLServer数据库优化学习-总结背景各种能力都需要提升.最近总是遇到SQLServer的问题趁着周末进行一下学习与提高.安装与优化1.数据库必须安装64位,不要安装成32位的版本2.数据库的序列号要使用enterprisecore的版本,不要使用enterprise的版本,仅可能使用20个......
  • AntDesignBlazor示例——列表查询条件
    本示例是AntDesignBlazor的入门示例,在学习的同时分享出来,以供新手参考。示例代码仓库:https://gitee.com/known/AntDesignDemo1.学习目标重构项目文件结构添加日期查询条件实现查询业务逻辑2.重构项目结构在实现列表查询条件功能之前,我们先重构一下项目结构,创建天气Mod......
  • SQLServer2019及SQLServer FC日志收集
    日志收集:===============1.SQLServer 错误日志 SQLServer2019:<DataDrive>:\ProgramFiles\MicrosoftSQLServer\MSSQL15.<instancename>\MSSQL\Log 以上路径可能根据您的实例名称不同而有所不同。请找到相应的“LOG”文件夹并压缩以后发送给我。 2. 应用程序日......