[SQLServer大对象]FileTable从文件系统迁移文件
阅读导航 从文件系统中迁移文件到FileTable 批量加载文件到FileTable 如何批量加载文件到FileTable 通过博文 [SQLServer大对象]FileTable初体验 ,已经可以将文件加载到数据库中,并查看和访问这些文件。 将文件加载到 FileTable,可以使用工具xcopy或roboco
阅读导航
从文件系统中迁移文件到FileTable
批量加载文件到FileTable
如何批量加载文件到FileTable
通过博文[SQLServer大对象]——FileTable初体验,已经可以将文件加载到数据库中,并查看和访问这些文件。
将文件加载到 FileTable,可以使用工具xcopy或robocopy,也可以自己编写脚本(如PowerShell)或者应用程序,复制文件到FileTable中。
现在说一说文件的迁移。
从文件系统中迁移文件到FileTable
迁移文件条件
文件存储在文件系统中
在 SQL Server 中元数据的表包含一个指向文件的指针
执行前提
要将文件迁入到 FileTable,需要将每一个文件的原始UNC路径用FileTable的UNC路径代替。
现在我们假定现有 FileTable PhotoMetadata 包含图片数据,。这个表有一个varchar(512)类型的UNC路径列,其中包含执行.jpg文件的实际路径。
将.jpg及其目录结构一起复制到FileT的根目录下。
执行
使用代码修改 PhotoMetadata 的元数据:
<span> 1: </span><span>-- 添加一个路径定位器到 PhotoMetadata。</span>
<span> 2: </span><span>ALTER</span> <span>TABLE</span> PhotoMetadata <span>ADD</span> pathlocator hierarchyid;
<span> 3: </span>
<span> 4: </span><span>-- 获得在文件系统中图片的根路径。</span>
<span> 5: </span><span>DECLARE</span> @UNCPathRoot <span>varchar</span>(100) = <span>'\\RemoteShare\Photographs'</span>;
<span> 6: </span>
<span> 7: </span><span>-- 获得FileTable的根路径。</span>
<span> 8: </span><span>DECLARE</span> @FileTableRoot <span>varchar</span>(1000);
<span> 9: </span><span>SELECT</span> @FileTableRoot = FileTableRootPath(<span>'dbo.PhotoTable'</span>);
<span> 10: </span>
<span> 11: </span><span>-- 更新PhotoMetadata。</span>
<span> 12: </span>
<span> 13: </span><span>-- 使用 FileTable 路径代替文件系统 UNC 路径。</span>
<span> 14: </span><span>UPDATE</span> PhotoMetadata
<span> 15: </span> <span>SET</span> UNCPath = REPLACE(UNCPath, @UNCPathRoot, @FileTableRoot);
<span> 16: </span>
<span> 17: </span><span>-- 更新 FileTable 的 pathlocator 列。 </span>
<span> 18: </span><span>UPDATE</span> PhotoMetadata
<span> 19: </span> <span>SET</span> pathlocator = GetPathLocator(UNCPath);
批量加载文件到FileTable
对于批量操作,FileTable和其他表基本一样,但是有些需要注意的地方。
FileTable有系统定义的约束,这些约束是为了确保文件的完整性和目录空间具有可维护性。这些约束验证数据批量加载到FileTable中。由于一些大量插入操作允许忽略表约束,所以接下来的是被强制要求的。
强制约束的批量加载操作可以像在任何其他表一样在 FileTable使用,具体操作如下:
bcp 带 CHECK_CONSTRAINTS 子句。
BULK INSERT 带 CHECK_CONSTRAINTS 子句。
INSERT INTO … SELECT * FROM OPENROWSET(BULK …) 不带 IGNORE_CONSTRAINTS 子句。
非强制约束的批量加载操作会失败,除非 FileTable 系统定义的约束已禁用,具体操作如下:
bcp 不带 CHECK_CONSTRAINTS 子句。
BULK INSERT 不带 CHECK_CONSTRAINTS 子句。
INSERT INTO … SELECT * FROM OPENROWSET(BULK …) 带 IGNORE_CONSTRAINTS 子句。
如何批量加载文件到FileTable
可以使用多种方法批量加载文件到FileTable:
bcp
使用 CHECK_CONSTRAINTS 子句。
禁用FileTable命名空间,并且不使用 CHECK_CONSTRAINTS 子句。然后重新启用FileTable命名空间。
BULK INSERT
使用 CHECK_CONSTRAINTS 子句。
禁用FileTable命名空间,并且不使用 CHECK_CONSTRAINTS 子句。然后重新启用FileTable命名空间
INSERT INTO … SELECT * FROM OPENROWSET(BULK …)
使用 CHECK_CONSTRAINTS 子句。
禁用FileTable命名空间,并且不使用 CHECK_CONSTRAINTS 子句。然后重新启用FileTable命名空间

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

匯入步驟如下:將 MDF 檔案複製到 SQL Server 的資料目錄(通常為 C:\Program Files\Microsoft SQL Server\MSSQL\DATA)。在 SQL Server Management Studio(SSMS)中,開啟資料庫並選擇「附加」。點選“新增”按鈕,選擇 MDF 檔案。確認資料庫名稱,點選確定按鈕即可。

對於 SQL Server 資料庫中已存在同名對象,需要採取下列步驟:確認物件類型(表格、檢視、預存程序)。如果物件為空,可使用 IF NOT EXISTS 跳過建立。如果物件有數據,使用不同名稱或修改結構。使用 DROP 刪除現有物件(謹慎操作,建議備份)。檢查架構更改,確保沒有引用刪除或重新命名的物件。

7月29日,在AITO问界第四十万台新车下线仪式上,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东出席发表演讲并宣布,问界系列车型将于今年8月迎来华为乾崑ADS3.0版本的上市,并计划在8月至9月间陆续推送升级。8月6日即将发布的享界S9将首发华为ADS3.0智能驾驶系统。华为乾崑ADS3.0版本在激光雷达的辅助下,将大幅提升智驾能力,具备融合端到端的能力,并采用GOD(通用障碍物识别)/PDP(预测决策规控)全新端到端架构,提供车位到车位智驾领航NCA功能,并升级CAS3.0全

若要查看 SQL Server 連接埠號碼:開啟 SSMS,連線到伺服器。在物件資源管理器中找到伺服器名稱,右鍵單擊它,然後選擇“屬性”。在「連線」標籤中,查看「TCP 連接埠」欄位。

若誤刪 SQL Server 資料庫,可採取下列步驟還原:停止資料庫活動;備份日誌檔案;檢查資料庫日誌;復原選項:從備份還原;從交易日誌還原;使用 DBCC CHECKDB;使用第三方工具。請定期備份資料庫並啟用交易日誌以防止資料遺失。

SQL Server 資料庫檔案通常儲存在下列預設位置:Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data可透過修改資料庫檔案路徑設定來自訂資料庫檔案位置。

當 SQL Server 服務無法啟動時,可採取下列步驟解決:檢查錯誤日誌以確定根本原因。確保服務帳戶具有啟動服務的權限。檢查依賴項服務是否正在執行。禁用防毒軟體。修復 SQL Server 安裝。如果修復不起作用,重新安裝 SQL Server。

如果 SQL Server 安裝失敗,可透過下列步驟清理:解除安裝 SQL Server刪除註冊表項刪除檔案和資料夾重新啟動計算機
