91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python批量還原數據庫的代碼怎么寫

發布時間:2023-02-15 09:36:38 來源:億速云 閱讀:136 作者:iii 欄目:開發技術

這篇“python批量還原數據庫的代碼怎么寫”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python批量還原數據庫的代碼怎么寫”文章吧。

代碼如下:

# -*- coding: utf-8 -*-
import shutil,os

# 根據指定路徑下的數據庫備份文件生成還原腳本
def getFilesAndBuildSql(path,restorePath):
    for root,dirs,files in os.walk(path):
        for nfile in files:
            if os.path.splitext(nfile)[1] == ".bak":        # 篩選bak文件
                dbName = os.path.splitext(nfile)[0]
                logName = dbName + "_log"

                # 創建數據還原腳本并寫入文件
                sqlFileName = 'C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\restore.sql'
                with open(sqlFileName, 'a') as file_object:
                        file_object.write("--還原數據庫{0}--\n".format(dbName).decode("utf-8").encode("utf-8"))
                        file_object.write("RESTORE DATABASE {0}  FROM DISK = 'C:\\SqlRestore\\bak\\{1}' \n".format(dbName,nfile).decode("utf-8").encode("utf-8"))
                        file_object.write("WITH\n".decode("utf-8").encode("utf-8"))
                        file_object.write("     MOVE '{0}' TO '{2}\\{1}.mdf',\n ".format(dbName.replace("Kernel_HY_",""),dbName,restorePath).decode("utf-8").encode("utf-8"))
                        file_object.write("     MOVE '{0}' TO '{2}\\{1}.ldf'\n ".format(logName.replace("Kernel_HY_",""),logName,restorePath).decode("utf-8").encode("utf-8"))
                        file_object.write("GO\n\n".decode("utf-8").encode("utf-8"))

                # 生成刪除數據庫腳本
                with open('C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\drop.sql', 'a') as file_object:
                        file_object.write("--刪除數據庫{0}--\n".format(dbName).decode("utf-8").encode("utf-8"))
                        file_object.write("DROP DATABASE {0} \n".format(dbName).decode("utf-8").encode("utf-8"))
                        file_object.write("GO\n\n".decode("utf-8").encode("utf-8"))    
                            
                # 控制臺輸出
                print("RESTORE DATABASE {0}  FROM DISK = 'C:\\{1}' ".format(dbName,nfile))
                print("WITH")
                print("     MOVE '{0}' TO '{2}\\{1}.mdf', ".format(dbName.replace("Kernel_HY_",""),dbName,restorePath))
                print("     MOVE '{0}' TO '{2}\\{1}.ldf' ".format(logName.replace("Kernel_HY_",""),logName,restorePath))
                print("GO")
                print("")

# 創建發布文件夾
os.makedirs("C:\\Users\\merox-mac-win\\Desktop\\SqlRestore")
# 根據數據庫備份文件目錄生成還原腳本
getFilesAndBuildSql("C:\\Game_ZS\\Database\\dbbak","C:\\db")

# 生成還原BAT文件
with open("C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\restore.bat", 'a') as file_object:
                         file_object.write("md c:\\db\n".decode("utf-8").encode("utf-8"))
                         file_object.write("osql -E -i c:\\SqlRestore\\restore.sql\n".decode("utf-8").encode("utf-8"))
                         file_object.write("--還原數據庫--\n".decode("utf-8").encode("gbk"))
                         for root,dirs,files in os.walk("C:\\Game_ZS\\Database\\dbbak\\link"):
                            for nfile in files:
                                print("osql -E -i c:\\{0}".format(nfile))
                                with open("C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\restore.bat", 'a') as file_object:
                                    file_object.write("osql -E -i c:\\SqlRestore\\link\\{0}\n".format(nfile))

# 復制鏈接服務器腳本文件夾
shutil.copytree("C:\\Game_ZS\\Database\\dbbak\\link","C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\link")

# 復制bak備份文件
shutil.copytree("C:\\Game_ZS\\Database\\dbbak\\bak","C:\\Users\\merox-mac-win\\Desktop\\SqlRestore\\bak")

# 壓縮數據發布文件夾 
os.system("rar a   restore.rar SqlRestore")
# 測試壓縮文件
os.system("rar t restore.rar")
# 刪除生成的發布目錄
shutil.rmtree("C:\\Users\\merox-mac-win\\Desktop\\SqlRestore")

python主要應用領域有哪些

1、云計算,典型應用OpenStack。

2、WEB前端開發,眾多大型網站均為Python開發。

3、人工智能應用,基于大數據分析和深度學習而發展出來的人工智能本質上已經無法離開python。

4、系統運維工程項目,自動化運維的標配就是python+Django/flask。

5、金融理財分析,量化交易,金融分析。

6、大數據分析。

以上就是關于“python批量還原數據庫的代碼怎么寫”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

竹北市| 凤庆县| 林口县| 罗定市| 页游| 报价| 大姚县| 德昌县| 县级市| 永宁县| 巫山县| 临邑县| 康平县| 册亨县| 田东县| 承德县| 仙桃市| 共和县| 通化市| 双柏县| 绥中县| 商河县| 正宁县| 乌鲁木齐县| 翼城县| 东明县| 丹江口市| 天等县| 卢龙县| 山西省| 台安县| 昌平区| 浮山县| 昭通市| 奉化市| 平遥县| 辛集市| 丹巴县| 夏津县| 平利县| 孟津县|