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

MSSQL
获取MSSQL数据字典的SQL语句
Microsoft Search 服务无法启动 解决办法.
找出所有非xml索引并重新整理的sql
SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决
删除重复记录,并且剩下一条
select * from sp_who的解决方案
Sql语句与存储过程查询数据的性能测试实现代码
MSSQL 游标使用 心得
SQL 时间类型的模糊查询
mssql 指定字段编号sql语句
sql server中的decimal或者numeric的精度问题
sql 数据库还原图文教程
存储过程解密(破解函数,过程,触发器,视图.仅限于SQLSERVER2000)
MSSQL SERVER中的BETWEEN AND的使用
SQL Server约束增强的两点建议
SQL Server 更改DB的Collation
Oracle 10g各个帐号的访问权限、登录路径、监控状态命令查询等等
SQL Server的复制功能
sql 普通行列转换

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


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