SQL Server 2005:
通過OPENROWSET和bcp:---示例1:
--SQLServerimportimage-SQLServerexportimage--ExtractimageSQLServer-SQLServerexportbinarydata
USEAdventureWorks;
GO
--
CREATETABLEdbo.PhotoLibrary(
PhotoLibraryIDINTIDENTITY(1,1)PRIMARYKEY,
ImageNameVARCHAR(100),
PhotoVARBINARY(MAX))
GO
--SQLServerimportimage-
INSERTINTOdbo.PhotoLibrary
([ImageName])
VALUES('MadisonAVE.JPG')
UPDATEdbo.PhotoLibrary
SETPhoto=(SELECT*
FROMOPENROWSET(BULK'e:imagephotoMadisonAVE.JPG',--源文件地址
SINGLE_BLOB)ASx)
WHERE[ImageName]='MadisonAVE.JPG'
GO
--Checktablepopulation
SELECT*
FROMdbo.PhotoLibrary
GO
--SQLServerexportimage
DECLARE@CommandNVARCHAR(4000)
--KeepthecommandonONELINE-SINGLELINE!!!-brokenhereforpresentation
SET@Command='bcp"SELECTPhotoFROMAdventureWorks.dbo.PhotoLibrary"
queryout"e:imagephotoexpMadisonAVE.jpg"-T-n-SPRODSQL2005'
PRINT@Command--debugging
EXECxp_cmdshell@Command
GO---示例2:
-------------T-
--導出所有的圖象到文件
--Sourcetable:Proction.ProctPhoto-Destination:K:dataimagesproctphoto
--來源表Proction.ProctPhoto目標:K:dataimagesproctphoto
------------
USEAdventureWorks2008;
GO
DECLARE@CommandVARCHAR(4000),
@PhotoIDINT,
@ImageFileNameVARCHAR(128)
DECLAREcurPhotoImageCURSORFOR--Cursorforeachimageintable
SELECTProctPhotoID,
LargePhotoFileName
FROMProction.ProctPhoto
WHERELargePhotoFileName!='no_image_available_large.gif'
OPENcurPhotoImage
FETCHNEXTFROMcurPhotoImage
INTO@PhotoID,
@ImageFileName
WHILE(@@FETCH_STATUS=0)--Cursorloop
BEGIN
--KeepthebcpcommandonONELINE-SINGLELINE!!!-brokenupforpresentation
SET@Command='bcp"SELECTLargePhotoFROM
AdventureWorks2008.Proction.ProctPhotoWHEREProctPhotoID='+
convert(VARCHAR,@PhotoID)+'"queryout"K:dataimagesproctphoto'+
@ImageFileName+'"-T-n-SHPESTAR'
PRINT@Command–debugging
/*bcp".Proction.ProctPhoto
WHEREProctPhotoID=69"queryout
"K:dataimagesproctphoto acer02_black_f_large.gif"-T-n-SHPESTAR
*/
EXECxp_cmdshell@Command--
FETCHNEXTFROMcurPhotoImage
INTO@PhotoID,
@ImageFileName
END--cursorloop
CLOSEcurPhotoImage
DEALLOCATEcurPhotoImage
/*output
NULL
Starting...
NULL
1rowscopied.
Networkpacketsize(bytes):4096
ClockTime(ms.)Total:16Average:(62.50rowspersec.)
NULL
.....
*/
------------
Ⅱ sql資料庫最多可以存放多少數據,到達上限!
sql資料庫可以達到的容量上線,一般是和文件系統的上限是一致的,也就是說資料庫能承載的容量一般比文件系統都大。
不用考慮數據記錄的數量,上千萬,上億,都可以,只要文件存儲容量小於文件系統的上限都沒有問題。
Ⅲ 怎樣將SQL Sever資料庫保存到指定的文件夾
新建資料庫時,
常規----設置資料庫名稱
數據文件----選擇資料庫文件存儲地方
事務日誌----選擇事物日誌文件存儲地方
如果已經建好了,在資料庫上右建--所有任務--分離資料庫
然後把資料庫的mdf和ldf文件剪切到指定文件夾,再右鍵附加資料庫即可.
Ⅳ SQL資料庫文件的最大容量是多少
SQLSERVER2000技術規格
--------------系統技術規格---------------
--每個伺服器最多可以允許16個SQLSERVER實例
--每個實例可擁有 2147483467 個鎖
--------------資料庫技術規格--------------
--SQLSERVER的資料庫大小1048516TB
--每個資料庫可擁有的文件組數32767
--每個資料庫可擁有的文件組數256
--文件大小(數據文件)32TB ---
--文件大小(日誌文件)32TB ---
--資料庫中的對象數2 147 483 647
--標識符的長度128
--------------表技術規格-------------------
--每個資料庫中可擁有的表數受限於資料庫中的對象數
--每個表可擁有的行數受限於可用的存儲容量
--每個表的主鍵約束數1
--每個表的外鍵約束數253
--每個表的引用數253
--每個表的觸發器數受限於資料庫中的對象數
--每個表的簇索引數1
--每個表的非簇索引數249
--每個表的唯一約束249非簇的,1成簇的
--------------列技術規格-------------------
--每個索引可包含的列數16
--每個主鍵可包含的列數16
--每個外鍵可包含的列數16
--每個表的列數1024
--索引鍵的大小900位元組
--每個character或binary列的位元組數8000
--每個text,ntext或image列的位元組數2GB-2
--每行的位元組數8060
--每個索引的位元組數900
--每個主鍵的位元組數900
--每個外鍵的位元組數900
--------------SQL技術規格-------------------
--批處理大小65536乘以網路包大小
--每個SELECT語句可處理的表數256
--存儲過程源文件的位元組數小於批處理大小或250MB
--每個存儲過程的參數數目1024
--嵌套的子查詢數32
--嵌套的觸發器層數32
--每個SELECT語句可處理的列數4096
--每個INSERT語句可處理的列數1024
Ⅳ sql2000我在資料庫中存很長的文章用什麼類型
text
Ⅵ sql資料庫文件存放在哪
如果是 sql2005的話
後綴為 .mdf 或 .ldf 的 你可以選擇 資料庫右鍵的屬性找到文件組路徑
Ⅶ 請問SQL資料庫中,能存放很長文本的欄位類型是什麼
BLOB :大數據類型,最大存儲65K,不可以被導出,只能在oracle資料庫中進行查看。
擴展: BLOB (binary large object),二進制大對象,是一個可以存儲二進制文件的容器。在計算機中,BLOB常常是資料庫中用來存儲二進制文件的欄位類型。
Ⅷ 如何向sql server資料庫中存入文件,如壓縮包、excel文件等。
一般都只保存文件路徑,文件通過網路上傳到伺服器的指定目錄
或者可以把文件解析成位元組數組,轉成字元串保存
Ⅸ sql2005 資料庫文件太大,怎麼備份比較快
1、shutdown
2、復制數據文件
3、重啟服務