Sql-Server
SQL Server 備份。PowerShell 與 Python
我將重構部署在備份許多其他伺服器的多台伺服器上的繼承腳本。它們是 cmd、vbs 和 sql 的混合體。我正在思考用 Python 做這件事會帶來什麼好處,因為我發現它對腳本更友好?主要是我在想,有了 PS,我可以使用一些可以被認為是原生的東西,比如 Invoke-Sqlcmd 或 sqlps。這只是品味問題,還是我可能會通過使用 python 偶然發現一些令人討厭和無法預料的事情?
我不熟悉 Python,但對於您目前的要求(即備份)。我強烈建議您使用 PowerShell,原因有兩個:
- MS 在其 SQLPS 模組(自 SQL Server 2012 起)中有一個名為
Backup-SQLDatabase
2. 您可以在一台中央伺服器上執行此 cmdlet 以一次對多個sql 實例進行備份,因為它Backup-SQLDatabase
可以接受多個 sql 實例,如下例所示Backup-SQLDatabase -Database master -Server "my_server1", "my_server2" ...
這第二點可以幫助您將所有這些備份腳本集中到一個管理伺服器(專用於 DBA 使用),而不是稀疏地儲存在每個 sql server 實例上。
此外,通過 MS 提供
Backup-SQLDatabase
,您可以放心,它將支持所有未來的新功能。(例如,使用此 cmdlet 來支持 Azure SQL 數據庫等)
我想說這不僅僅是品味問題。這是誰擁有腳本的問題;如果存在可接受的公司慣例,則需要遵循這些慣例。如今,腳本有很多選擇,但限制技術廣度很重要;如果您完成重構,然後離開,他們是否必須聘請 python 專家來進行,而其他一切都在 PowerShell 中?
也就是說,只要同行同意,並且輸出有文件且可維護,您就可以為其中任何一個提供理由。