簡體   English   中英

SQL Server使用C#備份到文件

[英]SQL Server backup to file with C#

是否可以使用C#以編程方式(不使用SMO或更改權限)從SQL Server數據庫創建備份文件? SQL Server無權在用戶文件夾中創建(寫入) *.bak文件,但是程序可以執行此操作。 因此,我想對數據庫創建一些查詢,該查詢將給出數據庫轉儲,並可以在文件中寫入。

像這樣:

SqlCommand sc = new SqlCommand(@"backup database test1 to stream", cnnct);
SqlDataReader r = sc.ExecuteReader();
while(r.read())file.WriteLine(reader.GetString(0));

這既不可能也不是一個好主意。 MSSQL數據庫過於復雜,無法可靠地作為SQL轉儲。 我不知道有什么工具能始終做到這一點。

解決此問題的正確方法是授予SQL Server用戶訪問該文件夾的權限。 找出正在使用的用戶(也許是procexp.exe?)並添加必要的權限。

的確是這樣,但比你想象更復雜。 您需要實現一個VDI規范組件(按定義是本機代碼,而不是托管的)。 然后,您可以將此VDI加載到SQL Server中並備份到其中。 請參見SQL Server中有關VSS和VDI備份的摘要 看一下SQL Server壓縮備份

當然這不是您想要的,實施VDI的人員不需要提出這樣的問題。 那么,您真正想做什么呢? 似乎您想要的更多是對數據庫進行腳本編寫 ,為此提供了SMO Scripter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM