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、重启服务