SSAS不同环境几种部署方式

环境约定:sql server 2008示
【菜科解读】
SSAS库的部署有很多种方式,根据环境的不同可以选择不同的方法,本文列举几种最常见的部署方式,以及阐述他们的应用环境。
环境约定:sql server 2008
示例库:Adventure Works DW
方式一:Visual Studio直接Deploy
这个方法是最直接简单的方法,大多数我们都是通过这种方法部署到本地,如果需要部署到其它机器上参考下图:
右键点击SSAS项目然后选择"属性",在探出的界面中选择部署。
这是直接通过源文件部署到Server上,需要注意的是我们需要有目标服务器的相关权限。
如果是用Visual Studio在线打开的SSAS库,是没有这个配置界面的。
这种方式适合服务器环境比较自由的情况,也是最直接的一种部署方式。
先决条件就是目标机器或者服务器上一定要安装有BIDS(实际就是visual studio的一个shell)。
方式二:备份,还原
在开发环境把SSAS库备份成abf文件,方法,右键要备份的库,选择备份:
然后在目标服务器上还原,同样,右键,还原:
这种方式多用在开发环境和生产环境隔离的情况。
缺点是对于数据源连接的处理,因为在已经隔离的环境下,数据源服务器的配置肯定是不同的,所以在恢复之后,往往需要用visual studio连接到恢复的SSAS库上手动的去更改。
或者直接在SSMS中去更改。
方式三:ascmd.exe
以命令行的方式来部署。
这个程序可以在类似下面的位置找到:
C:\Program Files\Microsoft SQL Server\100\Samples\Analysis Services\Administrator\ascmd\CS
这下面是它的源文件,给出源文件的目的在于,有可能你的开发环境是32位换几个,而生产环境是64位环境,那么你就需要32位和64位版本的这个ascmd文件。
我们只需要在编译的时候指定就可以:
这种方式部署,需要将已经部署好的SSAS库生成为一个XMLA脚本,它是一个XML格式的文件。
以下是具体的方法:
注:生成的时间可能会比较长,取决于SSAS DB的复杂程度。
(参考:Adventure Works的库会超过五分钟)
如果需要覆盖的方式部署的话,那么需要在根节点加入一个属性:AllowOverwrite="true"
需要关注的一个地方就是,需要更改Data Source,这个可以在XMLA文件中检索到:
由于部署的目标服务器会跟本地的情况不同,所以这里留一个占位符。
方法是把Localhost(或者你相应Data Source位置的配置)替换成:$(DWServer)
然后,打开一个命令行,cd定位到ascmd.exe所在的目录,然后敲如下命令:
ASCMD -S xxx.xxx.xxx.xxx -v DWServer=xxx.xxx.xxx.xxx -i AdventureWorks.xmla
以上是假定ascmd和保存下来的XMLA在同一目录,如果不在一起,那么更改-i后面的值就可以。
其中:
-S是要部署的目标服务器地址,不如localhost或者172.5.3.123
-v就是参数的替换,也就是之前替换的$DWServer,也就是数据源所在的位置。
另如果是在64位环境使用,记得要用64位版本去编译ascmd.exe。
这种方法的适用面比较广泛,因为大多数BI项目的开发环境和生产环境都是隔离的,而且都有各自的数据仓库。
在部署的过程中,完全可以写一个带参数的批处理脚本,这样会使部署更灵活一些。
方式四:在程序中通过AMO。
要点是要引用如下的一个命名空间:
核心代码如下:
//connect ssas
Server _server = new Server();
_server.Connect("localhost");
//load xmla content to string.
StreamReader sr = new StreamReader("XMLAQuery.xmla", System.Text.Encoding.Default);
string strXMLA = sr.ReadToEnd();
sr.Close();
//execute
XmlaResultCollection _result = _server.Execute(strXMLA);
foreach (XmlaResult r in _result)
{
foreach (XmlaMessage m in r.Messages)
{
Console.WriteLine(m.Description);
}
}
需要注意的是如果部署出现问题,这里是不会抛异常的,所以部署的结果只能通过调用Server实例的Execute方法的返回结果来看到,请留意上面代码的foreach部分。
以下是经常会遇到的错误之一,提示SSAS库已经存在,原因是没有加入上面提到的AllowOverwrite="true"
部署成功的话在结果集里是没有任何消息的。
这种方法适用于自己系统的集成开发,相对自由灵活一些。
总结:
以上列举了SSAS库部署最常用的几种方法,各种方法的复杂程度不一,适应的场景也各不相同,项目中可以根据实际情况来选择不同的方案。
SSAS,不同,环境,几种,部署,方式,SSAS,库,的,部只有世上最天才的人才能找到这9张图里的所有不同点在哪!
男女结扎手术不同?男女结扎手术对比
男女结扎术对比1、男性输精管结扎男性输精管结扎是国际公认的操作简便、损伤小、术时短、并发症少且易于普及推广的绝育方法。
由于输精管位置较浅,所以手术切口较小,也不会有明显的疼痛感,相对其他手术来说还是非常安全的。
该手术的副作用也较少,常见的有局部剧烈疼痛、阴囊内出血、切口周围皮肤感染等。
不过这些副作用一般在比较正规的医院基本可以避免。
选择复通手术要看结扎时间,如果结扎的时间短,复通的效果更好一些,如果结扎时间太久,复通后女方自然妊娠的概率也会显著下降。
所以如要结扎,一定是想好,无论发生什么情况都不后悔再去做结扎。
现在离婚率也比较高,有的再成立新家庭后还想要个孩子,这种情况就容易后悔~~除非是本人结扎意愿极其强烈,否则一般国内医生可能不会轻易建议结扎。
男性结扎手术后想再次孕育,还是存在一定风险的。
2、女性输卵管结扎女性输卵管结扎是一种比较常见的永久性绝育手术,过去很多女性会在生完一胎或2胎后人为或被迫的选择结扎手术,它是控制人口增长速度的主要措施。
虽然输卵管结扎术由来已久,但各种原因导致术中、术后可能出现一些并发症。
包括术中出血(比较罕见),术后腹壁切口出血,盆腔炎、腹膜炎、附件炎等各种炎症。
虽然输卵管绝育后再次妊娠的情况很少见,但不代表绝对没有,而且再次妊娠时发生异位妊娠(宫外孕)的风险还比较大。
美国的一组数据显示,女性结扎后又反悔想要孩子,在20-24岁时绝育的女性后悔率是4.3%,而在30-34岁时绝育的女性则为2.4%。
这时就需要做输卵管复通术,将结扎过的输卵管重新接通,但成功率不是很高。
而且就算是复通了,也不是肯定能怀上。
结扎后要戴套吗虽说结扎会阻断精子的输出,但在结扎前,有些精子可能就已经到达了精囊中,而残存在精囊中的精子可以再活好几周甚至好几个月。
如果结扎后,立马就不戴套,精囊中的精子就可能随之射出导致意外怀孕。
所以,做完手结扎术之后,至少还得避孕2个月,排精10次以上,再做个精液检查确定,才可以不戴套爱爱。
结扎证明是什么结扎证明是女性做输卵管结扎手术或男性做输精管结扎手术后,由医院开具的一纸证明。
结扎手术是计划生育的一项有效的绝育手术,它适用于一对夫妇有两个或两个以上的孩子以及其他避孕手段不适用或失败时采用。
结扎手术分为男性的输精管结扎和女性的输卵管结扎,效果都是一样的,原理主要是切断精子或卵子的运输通道,阻止精卵结合以达到绝育目的。
但是有的地方结扎手术并不是随便可以做的,这需要相关部门做出证明。
以上就是有关男女结扎手术有什么不同,男女结扎手术对比的介绍,想了解更多信息请继续关注。