Linux執行SQLSERVER語句的簡單方法

背景

因爲WTF的原因.經常有人讓執行各種亂七八槽的刪除語句
因爲產品支持了10多種數據庫.
這個工作量非常複雜. 
爲了簡單起見,想着能夠批量執行部分SQL.
其他的都處理過了,但是SQLSERVER的有點問題
所以今天有點時間.想着將SQLSERVER的一起也處理掉.

方式

建議使用 sqlcmd命令的方式進行處理
通過sqlcmd 執行腳本 加參數的方式實現 數據庫記錄的自動刪除. 
注意這裏模仿了一個瀚高高手的玩法
也借鑑了 51cto 裏面 安裝數據庫的方式方法

第一步安裝sqlcmd

yum 源設置
如果是linux7則使用如下
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
如果是linux8則使用如下
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo

第二步 yum makecache

第三步 yum install mssql-tools-14.0.2.0-1 -y
注意要多次輸入 YES 同意試用協議纔可以.
注意不能使用 17的版本. 會提示無法連接, 比較難搞

第二步腳本執行SQL

需要注意. 微軟的安裝完之後默認將二進制放到了
/opt/mssql-tools/bin/
注意 我的這個版本就是
sqlcmd-13.0.1.0

可以編寫一套腳本
注意 密碼帶特殊字符必須用單引號括起來.

/opt/mssql-tools/bin/sqlcmd-13.0.1.0  -S 10.110.xxx.xx -d xxxxMSS -U xxxxMSS -P 'Tstxxxx!!!!' <<EOF
delete from sometable where patchcode='$1' 
GO
EOF

shell處理

保存爲 /deploy/deletemss
需要處理是爲
/deploy/deletemss something 就可以了
只需要輸入編號就可以執行刪除操作. 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章