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

MSSQL
SQL Server口令 sql server安全性
解决SQL Server虚拟内存不足情况
sql中varchar和nvarchar的区别与使用方法
将count(*)值写入另一个表中的方法
SuperSocket 信息: (SpnRegister) : Error 1355。解决方法
sqlserver 复制表 复制数据库存储过程的方法
关于Select Where In 的排序问题
精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
在查询结果中添加一列表示记录的行数的sql语句
一条语句简单解决“每个Y的最新X”的经典sql语句
LINQ to SQL:处理char(1)字段的方式会引起全表扫描问题
SQL2000中改名和删除默认sa帐号的最安全方法
mssql SA帐号的改名和删除
SQLServer中master数据库分析
一道sql面试题附答案
三种实现方法实现数据表中遍历寻找子节点
经典SQL语句大全
实例学习mssql存储过程分析
SQL Server中选出指定范围行的SQL语句代码
[图文]三分钟学会Sql Server的复制功能

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


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