《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——1.9 浏览SMO服务器对象

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

本节书摘来自异步社区出版社《PowerShell V3—SQL Server 2012数据库自动化运维权威指南》一书中的第1章,第1.9节,作者:【加拿大】Donabel Santos,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.9 浏览SMO服务器对象

SQL管理对象(SQL Management Objects,SMO)拥有一个可编程访问的对象层次结构。例如,当你创建SMO服务器变量时,你可以访问数据库、登录和数据级别触发器。一旦获得单独数据库的句柄,我们可以切换它所包含的访问表、存储过程和视图。由于很多任务涉及SMO对象,如果你知道如何发现和浏览这些对象就会很有用。

1.9.1 准备

打开PowerShell控制台、PowerShell ISE或者你喜欢的PowerShell编辑器。

你也需要注意你的实例名是什么。如果你使用默认实例,你可以使用机器名。如果你使用命名实例,这个格式将会是<机器名><实例名>。

1.9.2 如何做…

在这个方法中,我们将使用SMO浏览对象层次结构。

1.导入SQLPS模块。

Import-Module SQLPS –DisableNameChecking

2.创建服务器实例。

$instanceName = "KERRIGAN"
$server = New-Object `
        -TypeName Microsoft.SqlServer.Management.Smo.Server `
        -ArgumentList $instanceName

3.获得可直接从$server对象可访问的SMO对象。

$server | 
Get-Member -MemberType "Property" | 
Where Definition -like "*Smo*"

4.现在查看在数据库下的SMO对象。执行如下操作。

$server.Databases | 
Get-Member -MemberType "Property" | 
Where Definition -like "*Smo*"

5.查看表,你可以输入以下内容并执行。

$server.Databases["AdventureWorks2012"].Tables | 
Get-Member -MemberType "Property" | 
Where Definition -like "*Smo*"

1.9.3 如何实现…

SMO包含了对象架构。在顶部有一个服务器对象,依次包含的对象包括Databases、Configuration、SqlMail、LoginCollection等。这些对象依次包含其他对象,例如,Databases是一个包含Database对象的集合,Database对象包含了Tables对象等。

1.9.4 更多…

导入SMO程序集方法
使用SMO创建SQL Server实例方法
你也可以从MSDN查阅SMO对象模型关系
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
4月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
4月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
9月前
|
存储 SQL 关系型数据库
服务器数据恢复—云服务器上mysql数据库数据恢复案例
某ECS网站服务器,linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。 在执行数据库版本更新测试时,操作人员误误将在本来应该在测试库执行的sql脚本在生产库上执行,导致生产库上部分表被truncate,还有部分表中少量数据被delete。
256 25
|
8月前
|
数据库
【YashanDB知识库】数据库获取时间和服务器时间不一致
【YashanDB知识库】数据库获取时间和服务器时间不一致
|
9月前
|
监控 关系型数据库 MySQL
如何解决 MySQL 数据库服务器 CPU 飙升的情况
大家好,我是 V 哥。当 MySQL 数据库服务器 CPU 飙升时,如何快速定位和解决问题至关重要。本文整理了一套实用的排查和优化套路,包括使用系统监控工具、分析慢查询日志、优化 SQL 查询、调整 MySQL 配置参数、优化数据库架构及检查硬件资源等步骤。通过一个电商业务系统的案例,详细展示了从问题发现到解决的全过程,帮助你有效降低 CPU 使用率,提升系统性能。关注 V 哥,掌握更多技术干货。
1289 0
|
12月前
|
SQL Java 数据库连接
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
4865 2
|
11月前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
存储 运维 监控
数据库服务器运维最佳实践
【8月更文挑战第22天】
340 2
数据库服务器运维最佳实践

热门文章

最新文章

下一篇
oss云网关配置