当前位置 : 主页 > 操作系统 > centos >

使用Powershell管理Linux 下的 SQL Server

来源:互联网 收集:自由互联 发布时间:2022-06-20
使用Powershell管理Linux 下的 SQL Server 我们上一篇文章介绍了在Centos 7.3下安装及配置 SQL Server,今天我们主要介绍的是如何在Windows下使用Powershell来管理Linux下的SQL Server,其实说到Powershel

使用Powershell管理Linux 下的 SQL Server

我们上一篇文章介绍了在Centos 7.3下安装及配置 SQL Server,今天我们主要介绍的是如何在Windows下使用Powershell来管理Linux下的SQL Server,其实说到Powershell大家都已经很熟悉了,Powershell不止是命令集合也是批量程序,可以很好的协助管理员提高日常的运维工作,但是微软的Powershell有一个毛病就是不同的服务需要安装不同的Powershell,对于Lync下的Shell、Exchange Shell和系统自带的Powershell就有很大的区别,另外还有今天我们介绍的内容使用Powershell管理SQL Server,需要安装单独的SSMS才可以使用powershell导出sql的模块,如果使用系统再带的Powershell导入sqlserver模块的话会提示错误,希望后期微软能彻底解决这个问题。好了不多说了,言归正传,开始我们今天的介绍;

我们首先得知,SQL Powershell 包含在 SQL Server Manager Studio上的,所以我们只需要下载对应的SSMS即可;下载链接

https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms

使用Powershell管理Linux 下的 SQL Server_SQL

安装步骤我们跳过了

使用Powershell管理Linux 下的 SQL Server_Powershell_02

下载后安装我们就可以使用系统自带的Powershell进行管理了(前提我们已经安装了刚才下载的SSMS工具才可以使用系统自带的Powershell)

使用Powershell管理Linux 下的 SQL Server_Linux_03

使用Powershell管理Linux 下的 SQL Server_SQL_04

我们首先需要导入sql的模块

import-module sqlserver

使用Powershell管理Linux 下的 SQL Server_SQL_05

验证SQLServer模块状态

Get-Module -Name SqlServer

使用Powershell管理Linux 下的 SQL Server_SQL_06

接下来我们使用powershell链接SQL Server 然后获取server信息

# Prompt for credentials to login into SQL Server $serverInstance = "<your_server_instance>" $credential = Get-Credential # Load the SMO assembly and create a Server object [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null $server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $serverInstance # Set credentials $server.ConnectionContext.LoginSecure=$false $server.ConnectionContext.set_Login($credential.UserName) $server.ConnectionContext.set_SecurePassword($credential.Password) # Connect to the Server and get a few properties $server.Information | Select-Object Edition, HostPlatform, HostDistribution | Format-List # done

我们为了方便我们使用Powershell ISE进行执行脚本

使用Powershell管理Linux 下的 SQL Server_SQL_07

然后我们开始编写powershell脚本;

使用Powershell管理Linux 下的 SQL Server_Powershell_08

执行提示需要输入SQL Server的账户及密码

使用Powershell管理Linux 下的 SQL Server_SQL_09

我的执行结果信息显示不全,应该显示系统的版本:比如linux等。

使用Powershell管理Linux 下的 SQL Server_Linux_10

最后,我们再说一下,如何使用powershell管理SQL Server on Linux呢

首先是通过在powershell下导入sql的模块

import-module sqlserver

然后使用powershell连接sqlserver,连接sql server的powershell我们可以使用以下方法

# Prompt for credentials to login into SQL Server $serverInstance = "<your_server_instance>" $credential = Get-Credential # Load the SMO assembly and create a Server object [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null $server = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $serverInstance # Set credentials $server.ConnectionContext.LoginSecure=$false $server.ConnectionContext.set_Login($credential.UserName) $server.ConnectionContext.set_SecurePassword($credential.Password) # Connect to the Server and get a few properties $server.Information # done

输入SQL Server的账户及密码验证一下即可

使用Powershell管理Linux 下的 SQL Server_Powershell_11

执行后我们就可以看见操作结果

使用Powershell管理Linux 下的 SQL Server_Linux_12

使用Powershell管理Linux 下的 SQL Server_Linux_13

最后我们就可以使用powershell操作sqlserver了

操作命令跟我们在本地的命令是一样的;sqlcmd

使用Powershell管理Linux 下的 SQL Server_SQL_14

其实通过想通过powershell连接SQL Server还有另外一种方法--这样的方法是最常见、也是最方便的使用方法,其实Linux下的使用mysql也是同样的方法,只是参数不同而已

首先是导入sql server模块

import-module sqlserver sqlcmd -S 192.168.5.20 -U sa -P 的方式也是可以的

使用Powershell管理Linux 下的 SQL Server_Linux_15

其实接下来的所有操作跟我们在windows上的使用powershell是一样的

同样使用帮助命令进行操作

get-help sqlserver

使用Powershell管理Linux 下的 SQL Server_SQL_16

因为需要下载安装一下帮助命令所以比较慢,在此我就不等了

接下来我们使用powershell管理一下我们的SQL数据比如我们查看当前系统有哪些数据库

select name from sys.databases; go

使用Powershell管理Linux 下的 SQL Server_SQL_17

接下来我们创建一个数据库,然后插入数据

create database xll; go

使用Powershell管理Linux 下的 SQL Server_Linux_18

然后我们选择数据库

use xll; go

使用Powershell管理Linux 下的 SQL Server_Powershell_19

接下来我们创建一张表,在刚才选择的数据库下

create table xllinfo (id int ,name varchar(50),quantity int); go

使用Powershell管理Linux 下的 SQL Server_SQL_20

我们查看当前的表信息

select * from xllinfo; go

使用Powershell管理Linux 下的 SQL Server_Linux_21

然后我们给表中插入数据

INSERT INTO testtb VALUES (1, 'zs', 27); INSERT INTO testtb VALUES (1, 'ls', 29); go

使用Powershell管理Linux 下的 SQL Server_Linux_22

我们继续查询

select * from xllinfo; go

使用Powershell管理Linux 下的 SQL Server_SQL_23

接下来我们在SSMS下也确认一下

使用Powershell管理Linux 下的 SQL Server_SQL_24

使用Powershell管理Linux 下的 SQL Server_SQL_25

上一篇:CentOS 7安装Nvidia GTX1080显卡驱动
下一篇:没有了
网友评论