如何利用powershell 訪問sqlserver


下面簡單一個腳本實現訪問sqlserver,支持所有版本的SQLserver。

你是否需要連接數據庫?這里有一段代碼演示如何查詢和獲取SQL數據,只需非常簡單正確的配置你的賬戶信息、服務器地址及SQL語句就行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$Database                       = 'Name_Of_SQLDatabase'
$Server                         = '192.168.100.200'
$UserName                         = 'DatabaseUserName'
$Password                       = 'SecretPassword'
 
$SqlQuery                       = 'Select * FROM TestTable'
 
# Accessing Data Base
$SqlConnection                  = New-Object -TypeName System.Data.SqlClient.SqlConnection
$SqlConnection .ConnectionString = "Data Source=$Server;Initial Catalog=$Database;user id=$UserName;pwd=$Password"
$SqlCmd                         = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd .CommandText             = $SqlQuery
$SqlCmd .Connection              = $SqlConnection
$SqlAdapter                     = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter .SelectCommand       = $SqlCmd
$set                            = New-Object data.dataset
 
# Filling Dataset
$SqlAdapter .Fill( $set )
 
# Consuming Data
$Path = "$env:temp\report.hta"
$set .Tables[0] | ConvertTo-Html | Out-File -FilePath $Path
 
Invoke-Item -Path $Path 

 

 

后來我又完善了這個代碼,詳細代碼注釋如下:

#配置信息
$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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM