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

MSSQL
修复断电等损坏的SQL 数据库
SQL 返回期间内的所有日期
数据库中的内容字段被挂马的替换方法 SQL注入
同一个sql语句 连接两个数据库服务器
SQL Server 空值处理策略[推荐]
sql2005 create file遇到操作系统错误5拒绝访问 错误1802
SQL SERVER 删除重复内容行
SQL SERVER 的SQL语句优化方式小结
数据库高并发情况下重复值写入的避免 字段组合约束
一个有趣的SQL命题 用一条语句切换BIT型的真假值
AspNetPager分页控件 存储过程
SQL Server自动生成日期加数字的序列号
远程连接局域网内的SQL Server 的方法
把数据批量插入具有Identity列的表的方法
SQL Server 索引维护sql语句
从两种SQL表连接写法来了解过去
SQLServer 循环批处理
从每个分类选择10条记录的sql语句
SQLServer XML查询快速入门(18句话)
被遗忘的SQLServer比较运算符谓词

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


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