当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 给SQL Server Model数据库增加一些变化

MSSQL
实现按部门月卡余额总额分组统计的SQL查询代码
浅议Oracle中的进制转换
sqlserver MSDTC的设置要点
小议主子表INT自增主键插入记录的方法
使用SQLSERVER的扩展存储过程实现远程备份与恢复
SQL安装问题总结
使用XML封装数据库操作语句的实现
SQL Server与Excel数据互导
查询sql遇到deadlock问题的解决
解决sqlsever日志备份错误的方法
关于sql数据库维护失败的问题查找方法
跟日期有关的两条经典SQL语句
使用链接服务器执行远程数据库上的存储过程
select用存储过程返回的表
SQL SERVER与ACCESS、EXCEL的数据转换
榨干MS SQL Server 最后一滴血
SQL Server 2005: 利用新的ranking函数实现高效的数据分页操作
在SQL Server 中使用SQLDMO
SQL Server补丁版本的检查和安装过程中常见问题
SQL高手篇:精妙SQL语句介绍

MSSQL 中的 给SQL Server Model数据库增加一些变化


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 71 ::
收藏到网摘: n/a

每个SQL Server服务器上都安装了许多数据库。为与E. F. Cood博士最近提出的规则保持一致,与数据库有关的信息必须应用和您用来询问自己数据库一样的命令来加以利用。除将系统信息存储在数据库外,还有更好的方法实现这一目的吗?

SQL Server上安装了这些系统数据库:

  • Master:存储所有其它数据库的说明,以及数据库登录和主系统表。
  • Model:作为您建立的每一个新数据库的快照。
  • Msdb:存储支持SQL Server Agent和SQL Server Management Studio(和以前的Enterprise Manager)的代码和数据。
  • Tempdb:您在这个数据库中建立临时表(即名字以#或##开头的表)。另外,SQL Server用这个数据库记录它自己的临时表(即当您用ORDER BY,SQL Server分类结果时)。您每个小时,甚至每分钟都要对这个数据库进行无数次修改。
  • Mssqlresourcedb:存储系统对象。除非您从后门进入,否则这个数据库保持隐藏和只读状态。它还是SQL Server内部数据库。

如果您在使用复制,SQL Server可能还安装这个数据库:

  • Distribution:记录与发行商、订户和服务器对象等有关的信息。

:决不要修改Master、Msdb或Mssqlresourcedb数据库。)

现在我将注意力转向Model数据库,对您建立的每个数据库而言,它就像一个模板。因此基本上,您可以利用Model数据库实现您想做的一些操作;而且您随后建立的数据库都保留您所做的改变。

假设您是一个建立YAFOES(另一个界面友好的订单系统)的独立顾问。细节方面总是各不相同,但通常它们都像是猪形扑满:客户、订单、详细资料、产品、支付等等。那么为什么不把这些表增加到Model数据库中去呢?

我为Model数据库做了个备份,然后在Model中建立几个样本表,假定我是一个YAFOES创建者。(:在操作前,强烈建议您备份Model数据库!)

我会运行列表A中的脚本在Model数据库建立一些简单的表。我还会增加一个视图、UDF和存储过程以及表和栏说明和一两个默认值。

现在建立一个包含所有新数据库对象的新数据库,就像我指定的一样。出于各种原因,分别从数据库Y和Z中建立数据库X(销售、营销、生产),但最终,应用SSIS或Cognos或您选择的任何工具,它们必须全部分解到企业视图中。

我建议在Model数据库中进行这样的结合。一旦您按照上面的说明对Model数据库进行自定义(并满足您的要求)后,您建立的每个数据库都具有相同的表和栏定义。

这只是一个范例,但我相信它的意义远不止于此。我认为独立数据库管理员倾向于建立这个样本,而且我想单独机构也有这个想法。

这些经历让我得出这样的结论:Model数据库是SQL Server中最被忽略、最未被充分利用的功能。