Sql server 在SSMS中组织数据库和表格

Sql server 在SSMS中组织数据库和表格,sql-server,database,ssms,Sql Server,Database,Ssms,这是我四五天前问的一个问题的复述,没有回答。希望这次能有更多的运气 (使用SQL Server 2008) 在接下来的几周内,我计划将SQLServer引入一个急需合适的数据服务器的办公室。目前,内部网络上到处都是松散的Excel和Access文件(辅之以大量难以穿透的VB代码来进行数据操作) 我们需要SQL server完成两件事: 1.用于预先设计并持续捕获数据的内部数据库 2.对于从客户端接收的数据集的临时上传,我们将对其进行分析 我是办公室里唯一熟悉SQL的人。我必须训练其他五六个人使用

这是我四五天前问的一个问题的复述,没有回答。希望这次能有更多的运气

(使用SQL Server 2008)

在接下来的几周内,我计划将SQLServer引入一个急需合适的数据服务器的办公室。目前,内部网络上到处都是松散的Excel和Access文件(辅之以大量难以穿透的VB代码来进行数据操作)

我们需要SQL server完成两件事:
1.用于预先设计并持续捕获数据的内部数据库
2.对于从客户端接收的数据集的临时上传,我们将对其进行分析

我是办公室里唯一熟悉SQL的人。我必须训练其他五六个人使用它

现在,我的问题是:你们将如何设置DBs,以便于使用ManagementStudio直观地识别存储的内容?更准确地说:如果这是一个windows文件系统,它将如下所示:

c:\client work\client 1\工件1(数据库有10个表)\
c:\client work\client 1\part of work 2(数据库有8个表)\
c:\client work\client 1\工件3(数据库中有7个表)\

c:\internal\accounting system\8表的某些数据库\
c:\internal\accounting system\5表数据库\
c:\internal\some other system\some db with 7个表\

等等

简单地说,我需要按内部工作和客户工作进行视觉分割。客户工作我需要由不同的客户分割。对于每个客户,我需要划分出不同的工作组。(内部工作遵循类似的模式)

我知道的解决方案:

  • 运行多个数据服务器(例如,一个内部服务器,一个用于客户端工作)。但我不确定这会有什么坏处
  • 将架构分配给表

我很想听听你的建议

IMO,数据库用户不必知道或关心数据库的设置位置或设置方式。而且,除非他们受过良好的SQL培训,否则不应授予他们访问SSM的权限。这是一场即将发生的灾难。您应该创建允许用户访问所需数据的应用程序和/或报告。这样,他们就不需要知道数据的位置,也不需要知道。

在我看来,数据库用户不必知道或关心数据库的设置位置或方式。而且,除非他们受过良好的SQL培训,否则不应授予他们访问SSM的权限。这是一场即将发生的灾难。您应该创建允许用户访问所需数据的应用程序和/或报告。这样,他们就不关心数据的位置,也不需要知道。

管理SQL Server的组织工具是实例、数据库和架构:

一台服务器可以运行多个实例。实例基本上是同一台机器上完全独立的服务器实例

一个实例可以管理多个数据库。数据库是完整性的标准边界-您(通常)备份整个数据库,引用完整性被限制在同一数据库中的对象之间,等等

每个数据库可以包含多个模式,允许您组织代码

所有这些“容器”在某种程度上与安全有关

我建议您首先获取组织数据和流程清单,以便了解您正在处理的数据、谁使用数据以及如何使用数据,并特别注意公共或协作数据(某些人一起使用的数据)以及需要分区访问的数据(仅由特定角色使用)。SQL Server并不是存储非结构化数据的理想选择—例如,我不会将其视为文件服务器的简单替代品

然后,继续为用户定义角色。拥有角色比为单个用户分配权限要好得多。它记录了访问的语义含义(执行此角色的任何人都需要此访问,而不是用户的身份-john和kate需要访问-这不会告诉您他们为什么需要访问)。确保角色具有足够的细粒度。像AccountsReceivable这样的部门角色远不如PaymentApprover、InvoiceProcessor或AccountsPervisor有用。用户可以扮演多个角色-这将为您的基础架构提供更多的自文档功能,并减少安全漏洞和麻烦

这将有助于定义您将需要哪些容器,以及授予和引导数据基础架构的访问权限


至于让用户直接访问,我支持Randy Minder,SQL Server充其量只是一个专家用户工具。如果他们熟悉Access,一个好的选择是让他们对SQL Server中精心设计和选择的视图使用Access,直到他们准备好采用更系统的数据工程方法。

管理SQL Server的组织工具是实例、数据库和模式:

一台服务器可以运行多个实例。实例基本上是同一台机器上完全独立的服务器实例

一个实例可以管理多个数据库。数据库是完整性的标准边界-您(通常)备份整个数据库,引用完整性被限制在同一数据库中的对象之间,等等

每个数据库可以包含多个模式,允许您组织代码

所有这些“容器”在某种程度上与安全有关

我建议您首先获取组织数据和流程清单,以便了解您正在处理的数据、谁使用数据以及如何使用数据,特别注意公共或协作数据(某些人一起使用的数据)以及需要分区访问的数据(仅由特定角色使用)