Rumah pangkalan data tutorial mysql [SQLServer大对象]FileTable从文件系统迁移文件

[SQLServer大对象]FileTable从文件系统迁移文件

Jun 07, 2016 pm 03:19 PM
sqlserver objek dokumen sistem

阅读导航 从文件系统中迁移文件到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>
Salin selepas log masuk
<span>   2:  </span><span>ALTER</span> <span>TABLE</span> PhotoMetadata <span>ADD</span> pathlocator hierarchyid;
Salin selepas log masuk
<span>   3:  </span> 
Salin selepas log masuk
<span>   4:  </span><span>-- 获得在文件系统中图片的根路径。</span>
Salin selepas log masuk
<span>   5:  </span><span>DECLARE</span> @UNCPathRoot <span>varchar</span>(100) = <span>'\\RemoteShare\Photographs'</span>;
Salin selepas log masuk
<span>   6:  </span> 
Salin selepas log masuk
<span>   7:  </span><span>-- 获得FileTable的根路径。</span>
Salin selepas log masuk
<span>   8:  </span><span>DECLARE</span> @FileTableRoot <span>varchar</span>(1000);
Salin selepas log masuk
<span>   9:  </span><span>SELECT</span> @FileTableRoot = FileTableRootPath(<span>'dbo.PhotoTable'</span>);
Salin selepas log masuk
<span>  10:  </span> 
Salin selepas log masuk
<span>  11:  </span><span>-- 更新PhotoMetadata。</span>
Salin selepas log masuk
<span>  12:  </span> 
Salin selepas log masuk
<span>  13:  </span><span>-- 使用 FileTable 路径代替文件系统 UNC 路径。</span>
Salin selepas log masuk
<span>  14:  </span><span>UPDATE</span> PhotoMetadata
Salin selepas log masuk
<span>  15:  </span>    <span>SET</span> UNCPath = REPLACE(UNCPath, @UNCPathRoot, @FileTableRoot);
Salin selepas log masuk
<span>  16:  </span> 
Salin selepas log masuk
<span>  17:  </span><span>-- 更新 FileTable 的 pathlocator 列。 </span>
Salin selepas log masuk
<span>  18:  </span><span>UPDATE</span> PhotoMetadata
Salin selepas log masuk
<span>  19:  </span>    <span>SET</span> pathlocator = GetPathLocator(UNCPath);
Salin selepas log masuk

批量加载文件到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命名空间

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah yang objek bernama sudah wujud dalam pangkalan data sqlserver Bagaimana untuk menyelesaikan masalah yang objek bernama sudah wujud dalam pangkalan data sqlserver Apr 05, 2024 pm 09:42 PM

Untuk objek dengan nama yang sama yang telah wujud dalam pangkalan data SQL Server, langkah berikut perlu diambil: Sahkan jenis objek (jadual, paparan, prosedur tersimpan). IF NOT EXISTS boleh digunakan untuk melangkau penciptaan jika objek kosong. Jika objek mempunyai data, gunakan nama lain atau ubah suai struktur. Gunakan DROP untuk memadam objek sedia ada (berhati-hati, sandaran disyorkan). Semak perubahan skema untuk memastikan tiada rujukan kepada objek yang dipadam atau dinamakan semula.

Bagaimana untuk mengimport fail mdf ke dalam sqlserver Bagaimana untuk mengimport fail mdf ke dalam sqlserver Apr 08, 2024 am 11:41 AM

Langkah import adalah seperti berikut: Salin fail MDF ke direktori data SQL Server (biasanya C:\Program Files\Microsoft SQL Server\MSSQL\DATA). Dalam SQL Server Management Studio (SSMS), buka pangkalan data dan pilih Lampirkan. Klik butang Tambah dan pilih fail MDF. Sahkan nama pangkalan data dan klik butang OK.

Apa yang perlu dilakukan jika perkhidmatan sqlserver tidak dapat dimulakan Apa yang perlu dilakukan jika perkhidmatan sqlserver tidak dapat dimulakan Apr 05, 2024 pm 10:00 PM

Apabila perkhidmatan SQL Server gagal dimulakan, berikut ialah beberapa langkah untuk diselesaikan: Semak log ralat untuk menentukan punca. Pastikan akaun perkhidmatan mempunyai kebenaran untuk memulakan perkhidmatan. Semak sama ada perkhidmatan pergantungan sedang berjalan. Lumpuhkan perisian antivirus. Membaiki pemasangan SQL Server. Jika pembaikan tidak berjaya, pasang semula SQL Server.

Sistem pemanduan pintar Qiankun ADS3.0 Huawei akan dilancarkan pada bulan Ogos dan akan dilancarkan pada Xiangjie S9 buat kali pertama Sistem pemanduan pintar Qiankun ADS3.0 Huawei akan dilancarkan pada bulan Ogos dan akan dilancarkan pada Xiangjie S9 buat kali pertama Jul 30, 2024 pm 02:17 PM

Pada 29 Julai, pada majlis pelepasan kereta baharu AITO Wenjie yang ke-400,000, Yu Chengdong, Pengarah Urusan Huawei, Pengerusi Terminal BG, dan Pengerusi Smart Car Solutions BU, menghadiri dan menyampaikan ucapan dan mengumumkan bahawa model siri Wenjie akan akan dilancarkan tahun ini Pada bulan Ogos, Huawei Qiankun ADS 3.0 versi telah dilancarkan, dan ia dirancang untuk terus naik taraf dari Ogos hingga September. Xiangjie S9, yang akan dikeluarkan pada 6 Ogos, akan memperkenalkan sistem pemanduan pintar ADS3.0 Huawei. Dengan bantuan lidar, versi Huawei Qiankun ADS3.0 akan meningkatkan keupayaan pemanduan pintarnya, mempunyai keupayaan bersepadu hujung-ke-hujung, dan mengguna pakai seni bina hujung ke hujung baharu GOD (pengenalpastian halangan am)/PDP (ramalan). membuat keputusan dan kawalan), menyediakan fungsi NCA pemanduan pintar dari ruang letak kereta ke ruang letak kereta, dan menaik taraf CAS3.0

Bagaimana untuk menyemak nombor port sqlserver Bagaimana untuk menyemak nombor port sqlserver Apr 05, 2024 pm 09:57 PM

Untuk melihat nombor port SQL Server: Buka SSMS dan sambung ke pelayan. Cari nama pelayan dalam Object Explorer, klik kanan padanya dan pilih Properties. Dalam tab Sambungan, lihat medan Port TCP.

Bagaimana untuk memulihkan pangkalan data yang dipadam secara tidak sengaja dalam sqlserver Bagaimana untuk memulihkan pangkalan data yang dipadam secara tidak sengaja dalam sqlserver Apr 05, 2024 pm 10:39 PM

Jika anda secara tidak sengaja memadamkan pangkalan data SQL Server, anda boleh mengambil langkah-langkah berikut untuk memulihkan: hentikan aktiviti pangkalan data periksa log pangkalan data: pulihkan daripada sandaran menggunakan DBCC; alatan parti. Sila sandarkan pangkalan data anda dengan kerap dan dayakan pengelogan transaksi untuk mengelakkan kehilangan data.

Di manakah pangkalan data sqlserver? Di manakah pangkalan data sqlserver? Apr 05, 2024 pm 08:21 PM

Fail pangkalan data SQL Server biasanya disimpan di lokasi lalai berikut: Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data Lokasi fail pangkalan data boleh disesuaikan dengan mengubah suai laluan fail pangkalan data tetapan.

Bagaimana untuk memadam sqlserver jika pemasangan gagal? Bagaimana untuk memadam sqlserver jika pemasangan gagal? Apr 05, 2024 pm 11:27 PM

Jika pemasangan SQL Server gagal, anda boleh membersihkannya dengan mengikuti langkah berikut: Nyahpasang SQL Server Padam kekunci pendaftaran Padam fail dan folder Mulakan semula komputer

See all articles