python 脚本bak文件还原mssql数据库
2024-09-01 14:19:50
# -*- coding=utf-8 -*-
import pyodbc
from datetime import datetime
import pymssql
import decimal
class SQLServer:
def __init__(self,server,user,password,database,autocommit):
self.server = server
self.user = user
self.password = password
self.database = database
self.autocommit = autocommit def __GetConnect(self):
if not self.database:
raise(NameError,"没有数据库信息")
self.conn = pymssql.connect(server=self.server,user=self.user,password=self.password,database=self.database,autocommit=self.autocommit)
cur = self.conn.cursor()
if not cur:
raise(NameError,"连接数据库失败")
else:
return cur def restoreDb(self,database,restorepath):
cur = self.__GetConnect()
restorePath = restorepath + database + datetime.now().strftime("%Y%m%d") + '.bak'
sql = "RESTORE DATABASE [{0}] FROM DISK = N'{1}' WITH FILE=1,Replace,stats = 10".format(database,restorePath)
cur.execute(sql)
self.conn.close()
def main():
msg = SQLServer(server="192.168.2.190",user="sa",password="P123",database="master",autocommit=True)
msg.restoreDb("wanghz","D:\\backup\\") if __name__ == "__main__":
main()
最新文章
- Java实验四和实验五
- ios-实现项目在开发、测试、正式环境快速部署
- 使用 robotframework 自动化测试系列 二 -----环境搭建
- Xcode5 运行程序 提示IOS 模拟器未能安装此应用程序
- spring详解(1)
- [AC自动机]题目合计
- putty 实现不用输入用户名密码直接登陆
- HDFS文件读取详解
- c++多线程参数的传递
- guava中eventbus注解使用
- Latex 公式在线可视化编辑器
- 笨鸟先飞之ASP.NET MVC系列之过滤器(04认证过滤器过滤器)
- Clang-Format: Visual Studio Style
- CSS优先级的及其衡量标准CSS权重
- Windows服务器环境下jenkins下载和安装
- redis--主从同步,故障切换,集群搭建
- MySQL Schema与数据类型的优化
- Python爬虫目录
- mysql存储emoji问题
- mac上配置mysql与redis server,并结合Pydev准备某爬虫环境