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

MSSQL
查看当前进程,或死锁进程,并能自动杀掉死进程
配置SQL Server 2000选项
使用SQL Mail收发和自动处理邮件中的扩展存储过程简介
如何删除数据库中的冗余数据(翻译)
SQL SERVER 2000系统支持的跟踪函数
异构数据库之间的导入导出
一个四用户信息同步更新的存储过程
Oracle数据库诊断案例-redo log日志组处于高激活状态
如何手动删除 SQL Server 2000 默认实例、命名实例或虚拟实例
ORACLE优化器
PL/SQL开发中动态SQL的使用方法
解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案
使用正规表达式编写更好的SQL
查看SQL Server数据空间分配情况
SQL Server编写存储过程小工具(一)
SQL Server编写存储过程小工具(二)
SQL Server编写存储过程小工具(三)
在IE中直接连接SQL数据库
Sql server数据库备份还原另一方法
Windows 2000下优化Oracle9i性能

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 80 ::
收藏到网摘: 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中最被忽略、最未被充分利用的功能。