MSSQL网站制作之失掉工具剧本
Federated将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用工具|剧本/*
在查询剖析器中挪用sqldmo天生剧本--存储历程
邹建2003.07-----------------*/
/*--挪用实例
declare@strvarchar(8000)
execsp_getscriptzj,,,xzkh_sa,区域材料,@stroutput
print@str
*/
ifexists(select1fromsysobjectswhereid=object_id(sp_getscript)andobjectproperty(id,IsProcedure)=1)
dropproceduresp_getscript
go
createproceduresp_getscript
@servernamevarchar(50)--服务器名
,@useridvarchar(50)--用户名,假如为nt考证体例,则为空
,@passwordvarchar(50)--暗码
,@databasenamevarchar(50)--数据库称号
,@objectnamevarchar(250)--工具名
,@revarchar(8000)output--前往剧本
as
declare@srvidint,@dbsidint--界说服务器、数据库集id
declare@dbidint,@tbidint--数据库、表id
declare@errint,@srcvarchar(255),@descvarchar(255)--毛病处置变量
--创立sqldmo工具
exec@err=sp_oacreatesqldmo.sqlserver,@srvidoutput
if@err0gotolberr
--毗连服务器
ifisnull(@userid,)=--假如是Nt考证体例
begin
exec@err=sp_oasetproperty@srvid,loginsecure,-1
if@err0gotolberr
exec@err=sp_oamethod@srvid,connect,null,@servername
end
else
exec@err=sp_oamethod@srvid,connect,null,@servername,@userid,@password
if@err0gotolberr
--猎取数据库集
exec@err=sp_oagetproperty@srvid,databases,@dbsidoutput
if@err0gotolberr
--猎取要获得剧本的数据库id
exec@err=sp_oamethod@dbsid,item,@dbidoutput,@databasename
if@err0gotolberr
--猎取要获得剧本的工具id
exec@err=sp_oamethod@dbid,getobjectbyname,@tbidoutput,@objectname
if@err0gotolberr
--获得剧本
exec@err=sp_oamethod@tbid,script,@reoutput
if@err0gotolberr
--print@re
return
lberr:
execsp_oageterrorinfoNULL,@srcout,@descout
declare@errbvarbinary(4)
set@errb=cast(@errasvarbinary(4))
execmaster..xp_varbintohexstr@errb,@reout
select毛病号=@re,毛病源=@src,毛病形貌=@desc
return
go
提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。 一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。) 分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。 再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。 还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。 作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题! 记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。 外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
页:
[1]