PowerShell连接SQL SERVER数据库进行操作的实现代码


本文整理自网络,侵删。

核心代码

#配置信息
$Database	= 'DemoDB'
$Server		= '"WIN-AHAU9NO5R6U\DOG"'
$UserName	= 'kk'
$Password	= '123456'

#创建连接对象
$SqlConn = New-Object System.Data.SqlClient.SqlConnection

#使用账号连接MSSQL
$SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;user id=$UserName;pwd=$Password"

#或者以 windows 认证连接 MSSQL
#$SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;Integrated Security=SSPI;"

#打开数据库连接
$SqlConn.open()

#执行语句方法一
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.connection = $SqlConn
$SqlCmd.commandtext = 'delete top(1) from dbo.B'
$SqlCmd.executenonquery()

#执行语句方法二
$SqlCmd = $SqlConn.CreateCommand()
$SqlCmd.commandtext = 'delete top(1) from dbo.B'
$SqlCmd.ExecuteScalar()

#方法三,查询显示
$SqlCmd.commandtext = 'select name,recovery_model_desc,log_reuse_wait_desc from sys.databases'
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$set = New-Object data.dataset
$SqlAdapter.Fill($set)
$set.Tables[0] | Format-Table -Auto 

#关闭数据库连接
$SqlConn.close()

下面是来自微软的官方帮助文档:Windows PowerShell:使用 PowerShell 处理数据库

您可以使用一些 Windows PowerShell 代码来配置您的数据库,以存储您所需的信息。

Don Jones

数据库是数据存储之王。 那么为什么不利用这些数据库,如 SQL Server 存储一些可以使您的生活更轻松的管理信息的呢? 您可以存储服务器名称、 Windows 版本、 服务包级别、 最后一个管理员登录、 这种东西。
它是与 Windows PowerShell,都是很容易,因为您可以使用它来本机访问 Microsoft 基础数据库功能。NET 框架。 这现在看上去不太像 Windows PowerShell 脚本和更多像一个 C# 程序。 不过,您所需要的代码是很容易模板。 你可以带我来你这里与几个次要的改变它适应几乎任何情况。

用于 SQL 脚本

让我们假设您有一个名为 SYSINFO 的 SQL Server 2008 数据库。 数据库已命名服务器的表。 该表已五列: 服务器名称、 用户名、 LastLogon、 原因和 SPVersion。 这可以是大多是简单的文本列的 varchar 类型。
然而,使 LastLogon 日期时间列。 它现在使用 SQL Server 设置为其默认值的函数。 这样,每次添加新行,它将包含当前日期和时间,而不需要您手动指定。 使原因列 varchar(MAX),如有必要,它可以包含文本,很多。
创建登录脚本在组策略对象 (GPO),将 GPO 链接到您的服务器所在的组织单位 (OU)。 每次有人登录到服务器运行该脚本时。 使用 Windows PowerShell 脚本,您可以在任何装有 Windows PowerShell 2.0 的计算机上的东西。 您需要确保您已经从 Windows Server 2008 R2 (或 Windows 7 远程服务器管理工具包或寄宿) 来编辑该 GPO 时有基于 Windows PowerShell 登录脚本选项的 GPO 模板。
这里是您需要的脚本。 请注意我使用 ↵ 来指示应在此按 enter 键。 仅按 enter 键时你来该符号,如果您希望它能正常工作 (您可以将复制的 HTML 使用符号 & crarr ; 实体):

$reason = Read-Host 'Reason are you logging on'↵
$reason.replace("'","''")↵

这两行提示有人为他们正在登录到服务器的原因 — — 这一点是相当重要的跟踪。 替换功能会将任何单引号替换使用两个单引号,确保我们稍后构建的 SQL 语句将正常工作。 这并不被为了故意 SQL 注入式攻击的防范。 毕竟,我们谈论受信任的管理员,正确吗?

阅读剩余部分

相关阅读 >>

sql isnull用法详解

什么是sql查询,它有哪些特点?

c++操作sqlite简明教程

sql server连接失败错误及解决第45页

sql是什么型数据库管理系统

sql的select语句中用于实现选择运算的是什么

spring boot实现简单的增删改查

sql注入原理与解决方法代码示例

mysql导入sql脚本错误:2006 解决方法

.net framework sql server 数据提供程序连接池

更多相关阅读请进入《sql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...