标题标题  显示论坛会员列表名单  搜索论坛搜索  HelpHelp
  注册注册  登入登入
ASP教学区
 DoReMe : ASP教学区
主题 话题: 第三章 安装和使用SQL Server 回复发表新主题
作者
贴子内容 << Prev Topic下一个主题 >>
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回复: 44
Posted: 2004/11月/16 10:02上午 | IP记录 引用 qqooo

理解SQL Server的安全模式

SQL Server有三种安全模式,参考登录模式:

标准安全模式

WINDOWS NT 集成安全模式

混合安全模式

以下就是关于这三种模式的描述。

标准安全模式

标准安全模式是缺省的登录模式。当你使用标准安全模式时,SQL Server自己来决定谁有权限来访问这个服务器。如果你使用了这种配置,你必须为所有的进程建立能访问服务器的登录ID号。

当你在运行Internet Infornation和Active Server Page的系统上使用标准安全模式时,你必须建立一个和sa帐户不同的登录ID号。如果INTERNET用户运行以sa帐户的身 份来登录,那么他就有权限来改变你的数据库内的所有的数据。这是及其危险的。为了解决这个问题,你必须建立一个限制了权限的用户 (权限的分配我们会在后面的章节讨论,「用户组,用户,和权限」)。

你可以为INTERNET的登录用户取任何的名字。例如,你可以把他命名为WEBUSER。 为了建立这个新的登录ID号,你可以在SQL Enterprise Manager的菜单中选择Manage|Lodins。管理登录的对话框就会出现。然后,从Login Name的下拉式框中选择New User。然后输入你的INTERNET用户所使用的名字。你还需要输入一个口令, 这个口令是INTERNET用户访问你的服务器时认证所使用的。在你说明了这些信息以后,点击Add,一个新的登录ID号就会被 加入。

集成安全模式

集成安全模式是SQL Server的另一种可用的安全模式。使用了集成安全模式以后,你的安全认证工作就全部有WINDOWS NT来完成。也就是说,所有的WINDOWS NT帐户都可以访问SQL Server。

使用集成安全模式的好处就是你不必要费心去维护两个系统的安全。 你只需要在NT 的安全框架内建立一个有合适的权限的新用户就可以了。 一旦建立了一个WINDOWS NT 的用户,这个帐户会自动地映射成为SQL Server在SQL Secure Manager 中的一个登录ID号。 (要知道任何做,见后面的「SQL Secure Manager」)。

你需要进行几步操作来激活这种安全模式:

在SQL Server按照以后,选择开始|程序|SQL65|SQL Enterprise Manager

选择Server|SQL Server|Configure|来打开服务器选项配置的对话框(见图3.7)。 然后点击安全选项的一页(见图3.8)。

图3.8 服务器配置的菜单选项

 

 

 

 

 

 

 

 

 

 

 

 

选择WINDOWS NT集成模式。

对于缺省域的选择,你要说明你的SQL Server用户在哪里一个域内存在,如果你不是一个域的成员,你可以SQL Server所在的WINDOWS NT 服务器的名字。

对于缺省登录帐户的选择,就是指你要使用的缺省登录帐户。缺省登录帐户是给那些没有一个有效的登录帐户的用户使用的。

如果需要的话,你可以选择配置主机名和用户名的选项。在你选择上以后,在运行存储过程Sp_who时,这个选项会显示你的机器名 。

你有必要设置映射选项。 这些选项可以使你能够重新分配无效的字符(*,-,#,/)。

在这些合适的选项都被选择了以后,退出SQL Server,重新启动服务器。

图3.8 SQL配置的安全模式选项

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分配用户名

如果你决定使用集成安全模式,一定要非常小心地分配你的用户名。先确定一种命名习惯,然后坚持使用它。 有很多的字符(例如:-,#,@, *, /, \)是SQL Server所不支持的字符,但是WINDOWS NT 却支持。SQL Server允许你把这些字符映射成一些它可以接收的字符。从以往的实践来看,你最好取一些简单的,没有SQL Server不接收的字符的名字,例如,John Propeller可以命名为PropellerJ,但是,SQL Server会需要你把Propeller-J映射成Propeller_J。 因为连字符号(-)会造成错误(参考图3.8)。

混合安全模式

混合安全模式有标准安全模式和集成安全模式两种模式的好处。 你可以把WINDOWS NT的帐户和SQL Server的帐户混在一起用。你可以直接在SQL Server中添加用户,也可以在通过SQL Secure Manager给WINDOWS NT的用户组赋予权限(见以后的章节「SQL Secure Manager」)。

混合安全模式和集成安全模式的唯一不同就是在NT用户的帐户上。使用集成安全模式,一个用户必须拥有一个帐户,而且要成为一个有 权限访问SQL Server数据库的用户组的成员,才能服务器数据库。 在这种模式下,你不能直接为SQL Server添加登录ID号。但是,在混合模式下,你可以直接为SQL Server添加登录ID号。 在NT的用户数据库内的帐户和任何在SQL Server中添加的登录ID号一样都有权限访问数据库。因为混合安全模式的在维护NT登录帐户时的灵活性,我们推荐使用它。

Back to Top 查看 qqooo's 资料 搜索其它贴子 qqooo 访问 qqooo's
 
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回复: 44
Posted: 2004/11月/16 10:03上午 | IP记录 引用 qqooo

用户组,用户,和权限

在取名的部分,你已经学会了如何建立登录ID号,登录ID号提供的是一种很低级的安全。他们就像一个进入SQL Server的口令一样。他们只能决定谁能访问SQL Server,然而在他们进入SQL Server以后,他们不能用户能作哪里些操作。为了更清楚地说明权限,你必须为用户组和用户定义权限。

每一个SQL Server数据库,存储过程,和表都和权限有关。 只有特定的用户和用户组有权限访问每个对象或对它进行某种特定的操作。 当SQL server 在World Wide Web上工作时,对每一个对象的权限的合理分配尤其重要。

例如:假如你有一个表名为CreditCards,它包含了那些从你的站点上购买过商品的人的信用卡。你将不允许一个INTER NET上的陌生人访问这个表。所以,你需要非常仔细地配置这个表的权限,防止这些重要的数据落入坏人之手。

在这个例子中信用卡表,你需要这样来配置它的权限,从INTERNET上来的用户只能向表内添加数据,而不能读取表内的数据。你 允许用户向表内添加自己的信用卡号码,而不允许用户读取其它人的号码。那么,你怎样才能做到这样?

权限和登录ID号是无关的。它是和用户组和用户有关的。因此,你要作的第一件事就是建立一个新用户,并把它和WEB站点的用户所 使用的登录ID号联系起来。以下就是这些必要的步骤:

选择CreditCards表所在的数据库。有一个用户被设置成和这个特定数据库相关。

选择Manage|Users。管理用户的对话框就会出现(见图3.9)。

输入一个你想设置的用户名。例如:Webvistor。

从登录的下拉式框中,选择一个特定的登录ID号。把这个ID和用户名进行映射。

点击OK建立新用户。

图3.9 管理用户的对话框

 

 

 

 

 

 

 

 

 

现在你已经建立了一个新用户,也赋予了它一定的权限。你可以有一个选择:你可以要么对用户说明权限,要么对对像说明权限。这里是 关于为对像配置的几个步骤:

通过点击表的名字来选择CreditCards表。

选择Object|Permissions。 有关对像权限的对话框就出现了(见图3.10)。

选择标有By Object的一页。如何会出现用户和用户组的列表。

选上在Webvisitor用户旁边的Insert框。选上这个框,你就给用户Webvistor赋予了向表中添加数据的权限。

你一定要确保不要选上在Webvisitor用户旁边的Select框。如果你没有选上这个框,用户Webvistor就没有通 过SELECT语句从表中提取数据的权限。

点击Set按钮。点击了这个按钮,你真正地改变了这些权限。

点击Close关闭对话框。

图3.10 管理对像权限的对话框

 

 

 

 

 

 

 

 

 

 

 

 

 

 

技巧

在开发出现的时候,经常需要简单地把对所有的用户的权限限制都取消。为了达到这个目的,你只要在管理对像权限的对话框内,点击G rant All按钮,然后点击Set按钮,这样就把所有的权限分配给你的用户和用户组了。

如果不一个一个地为每一个用户说明权限,你也可以为一组用户说明权限。例如, 你可以建立一个网络可信连接的组和另一个网络非可信连接的组。你可以这样配置,使前一个组几乎具有访问任何对象的权限,而后一个 组则只具有很少的权限,几乎不能访问任何数据库。

为了建立一个新组,你可以按以下步骤操作:

限制数据库的名字。把一个组和一个特定的数据库联系上。

限制Manage|Group。管理用户组的对话框就会出现。

输入一个新的用户组名。

使用Add按钮,把你需要的用户加入到这个新的用户组中。

点击Add(在屏幕的右上角的第二个Add按钮),把这个新组加入到数据库中。

和为一个特定的用户分配权限一样,你也可以为一个用户组分配权限:点击用户组的名字,然后选择Object|Permissio n。你可以说明哪里些数据库这个用户组的成员可以访问,和哪里些操作是这个用户组的成员允许操作的。

Back to Top 查看 qqooo's 资料 搜索其它贴子 qqooo 访问 qqooo's
 
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回复: 44
Posted: 2004/11月/16 10:03上午 | IP记录 引用 qqooo

SQL Security Manager

SQL Security Manager的作用就是配置WNDOWS NT用户在SQL Server上的权限映射(图3.11)。它把WINDOWS NT的用户组向SQL Server的登录ID号进行映射。只有在SQL Enterprise Manager中的Server|SQL Server|Configure菜单中的混合安全模式或集成安全模式被选上以后,SQL Security Manager才有用。你不能使用这个程序来添加独立的用户,但是,你可以用他来给NT用户组赋予你的数据库的权限。

图3.11 SQL Secure Manager


 

 

 

 

 

 

 

 

 

 

要把WINDOWS NT 管理员用户组的成员用户和SQL Server的sa帐户进行映射,可以按以下几个步骤进行:

选择开始|程序|SQL65|SQL Security Manager,运行SQL Security Manager。然后独立帐户的屏幕就出现了。

输入sa的口令,然后点击连接。系统管理员权限的对话框就会出现。

从菜单中选择Security|Grant New。赋予系统管理员权限的对话框就出现了(见图3.12)。如果你是一个域的成员,在Default Domain中选择Group,显示这个域里所有的管理员组。 否则,选择缺省的Local Group。

点击Grant 按钮,SQL Server就会把sa的权限分配给所有指定的NT帐户。(sa具有控制SQL Server的全部权限。) 这种配置方法使任何NT管理员组的成员都具有完全控制SQL Server的权限。(记住,赋予一个用户全部权限是一件很危险的事,因为他会无意或有意地破坏你的数据库内的全部数据。)

图3.12 赋予系统管理员权限


 

 

 

 

 

 

 

 

 

 

 

为了赋予某一个用户对SQL Server的访问权限,SQL Server Manager必须给整个用户组赋予这个权限。在这个组内的全部用户都被加入到SQL Server的Logins文件夹下。你也可以用SQL Secure Manager来赋予和取消权限。

以下就是把WINDOWS NT用户组和SQL Secure Manager 的登录帐户进行的步骤:

选择开始|程序|SQL65|SQL Secure Manager,运行SQL Secure Manager。登录ID号的屏幕就出现了。

输入sa的口令,然后点击Connect。系统管理员权限的对话框就会出现。

选择User Privilege按钮,然后选择View| User Privilege,显示用户的屏幕就会出现。

然后选择Security|Grant New,为新用户赋予权限的对话框就会出现。

从用户组的列表中,选择一个你要给的他的成员赋予这个登录ID号的用户组。你可以选择是从当地用户组,还是从缺省域中选取。

点击Grant 按钮,SQL Secure Manager就会自动地为这些赋予权限的NT用户产生一个当年ID号。

当一个用户帐户在WINDOWS NT的数据库中改变了。这也会对SQL Server的用户数据库产生影响,因为他们的认证是集成在一起的。在你通过用户管理器从WINDOWS NT的用户数据库中删除一个之前,你必须通过SQL Secure Manager取消这个用户对SQL Server数据库的全部访问权限。你可以在SQL Secure Manager的用户屏幕下完成这个操作。点击你要取消的用户帐户,选择Secure|Account Detail,然后点击Drop Login按钮。这样你就把这个用户的当年ID号取消了。如果你先把这个用户从WINDOWS NT 的数据库中删除了,你就必须从SQL Enterprise Manager中删除这个登录ID号了。你必须在所有的数据库和Logins文件夹下删除这个用户的登录ID。注意,你一定要先 从SQL Secure Manager中删除这个登录ID,再从WINDOWS NT的数据库中删除这个用户。

Back to Top 查看 qqooo's 资料 搜索其它贴子 qqooo 访问 qqooo's
 
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回复: 44
Posted: 2004/11月/16 10:04上午 | IP记录 引用 qqooo

维护SQL Server数据库

        这一部分会向你介绍任何维护你的数据库。首学,你要学习如何建立Alerts,如何学习如何备份你的数据库。最后我们将介绍SQ L Server Databases Maintenance Plan Wizard(简称为「Maintenance Wizard」)。

建立Alerts

SQL Enterprise Manager允许你建立基于数据库的错误代码或特定的条件的系统Alerts。这些Alerts可以是e_mail的形式,也 可以是网页的形式。这个Alert引擎是你能够选择你要联系的人和联系的方式。

这个Alerts系统的主要好处就是他使你能够主动地维护数据库,而是被动地维护数据库。 这种好的维护策略的目的是在错误发生的时候,减少发现的时间。在错误即将发生时有足够多的警告。这个Alerts系统使你能够设 计这种警告系统。

为了使用Alerts,你必须在安装SQL Server的服务器上安装邮件服务。和E_mail一样,Alerts也使用网页邮件来发送消息。如果打算使用网页邮件特征, 你一定要保证你的邮件系统支持网页邮件。

以下就是运行SQL Mail的步骤:

在Enterprise Manager中,选择Server|SQL Mail|Configure。SQL Mail的配置对话框就会出现了。

输入需要的E_mail帐户的信息(对话框的形式和你安装在服务器上的邮件服务有关)。 例如,你正在使用Exchange,就要输入正确的Exchange的配置文件。在SQL Server正在运行时,你必须保证这个配置文件和SQL Sever的登录ID是同有关帐户。

点击OK,保存SQL Mail的配置信息。

选择Server|SQL Mail|Start,这就可以运行SQL Mail服务。

在SQL Mail 已经运行以后,你可以说明那个将要从SQL Server接收E_mail的操作者。 按照以下的保证,建立这个操作者。

在SQL Enterprise Manager中,选择Server|Alerts|Operators。管理Alerts和操作者的窗口就会出现,如图3.1 3所示。

点击Operators按钮。然后,点击New Operator按钮来建立有关新的操作者(这个按钮看起来向一个消防员的帽子)。新建操作者的对话框就会出现。

首先输入操作者的名字,然后,输入e_mail帐户的e_mail地址。这个e_mail地址会为Alerts说明向哪里里为操作 者发送警告信息。你可以点击标有Test的按钮,来测试这个e_mail地址是否有效。

图3.13 管理Alerts和操作者


 

 

 

 

 

 

 

 

 

点击OK,存储新操作者的配置。

这个操作者用于接收警告信息的。你必须按照以下的步骤来生存Alerts。

在SQL Enterprise Manager中,选择Server|Alerts|Operators。管理Alerts和操作者的窗口就会出现(见图3.1 3)。

点击New Alert按钮。然后,在New Name文本框中输入你要建立的Alert的名字。这个名字用于在Alert/Operator窗口中显示时。

说明那些可以触发这个Alert的错误。例如,你可以定义这个只能被硬件的致命性错误触发的Alert。为了做到这一点,选择那 个标有Severity的按钮,再从列表中选择024:Fatal Error:HardWare Error。

说明是发送E_mail还是发送网页给操作者。注意,在Alert被触发时,操作者是和接收信息的E_mail帐户联系在一起的 。

最后,点击OK,保存这个新的Alert的配置。

注意

大部分数字Paging系统允许你通过Intenet e_mail 信息来访问Pager。

你也可以通过NT 的下拉监视器来设置Alert。下拉监视器可以监视SQL Server的任何进程,也可以允许SQL Server的Alert引擎,因此,触发一个Alert,他就会发送一个E_mail。被最广泛地监视的就是数据库tempd b的存储空间。 你可以让性能监视器在数据库在50%,60%,或70%,等等的空间被占用时,警告SQL Sever的Alert引擎。 这样使你在服务器停机之前,有足够的时间来清理这个数据库。tempdb数据库的填满会导致服务器的停机,如果你继续坚持操作, 就有可以造成master数据库的损坏。

Back to Top 查看 qqooo's 资料 搜索其它贴子 qqooo 访问 qqooo's
 
qqooo
Groupie
Groupie


加入: 2004/5月/22
Online Status: Offline
回复: 44
Posted: 2004/11月/16 10:04上午 | IP记录 引用 qqooo

备份数据

精确地准备进行备份和恢复过程可以尽可能地减少你的服务器出故障时缩短损失。当你准备备份过程时,你应该记住这样几件事情:

把所有的备份数据库设备存储在同一个子目录下。把这些备份都放在一个子目录下,有利于服务器把他们向磁带上备份。

在每一次安装SQL Server之后,都要重新备份master数据库。

要在备份master数据库之前,备份所有的应用程序的数据库。

在这些事情发生以后,你必须备份master数据库。

你增加或删除一个数据库设备

你建立或改变了数据库的所有者。

你增加或改变了用户ID,登录ID号,或远程登录ID号。

你运行了sp_configure。

如果你丢失了master数据库,你也会丢失所有的其它数据库。在这种事情发生时,你必须重新生成master数据库,这是一个 很痛苦的事。注意,要经常备份它。

如果需要的话,要经常备份事务处理日志文件。

SQL Enterprise Manager使这种备份变得很容易。要准备备份,你要做的第一件事就是要建立一个备份数据库设备。按照以下步骤进行:

运行SQL Enterprise Manager,选择你的数据库服务器的名字。

从Tools菜单,选择Database Backup|Restore。

选择New Backup Devices。 新建备份数据库设备的对话框就出现了,如图3.14所示。

输入数据库设备的名字和备份数据库设备的位置。你也可以说明是向磁盘或磁带备份。

点击Create按钮。

你可以按照以下的步骤准备备份:

选择Tools|Database Backup|Restore。用于数据库备份的对话框就出现了(见图3.15)。

从Database Backup的下拉式框中,选择你要备份的数据库。

选择你需要的数据库备份设备。

 

图3.14 新建数据库备份设备的对话框


 

 

 

 

 

 

 

图3.15准备数据库备份的对话框


 

 

 

 

 

 

 

 

 

 

 

 

 

一次建立和准备使用备份设备时,你需要对它进行初始化(建立它)。 数据库设备的subsequence备份,后一个备份会覆盖前面一个备份。其它的选择是一个incremental的备份。如果 初始化数据库设备的选项没有选上,系统缺省的配置是incremental的备份。

点击合适的按钮-Backup Now或Sechedule(计划在某一个特定的时间进行备份)。

从备份数据库中恢复数据也是很容易的。按照以下的步骤完成:

选择Tools|Database Backup|Restore。 备份数据库的恢复对话框就出现了。

在Database Backup|Restore对话框中点击Restore按钮。选择你用于恢复

的备份数据库和要恢复的数据库(见下一页的图3.16)。

如何点击Restore按钮。

图3.16 从备份数据库设备中恢复

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DataBase Maintenance Plan Wizard

DataBase Maintenance Plan Wizard是为了使对数据库的维护更容易而设计的(见图3.18)。DataBase Maintenance Plan Wizard对数据进行持续的检查,检查数据连接,检查索引连接,检查数据分配,和检查索引分配。(这里有一些可用的维护选项。 要看所有的选项,你可用搜索连机标准文件,用wizard关键字。)在你回答了Wizard对话框中的一系列问题以后,wiza rd会为你决定哪里一个是最好的维护计划。实际上wizard所做的全部的事情只是写SQL script,然后执行它。wizard可以把你的繁忙的事务变成一些很简单的问题。这个wizard只是在数据库超过400M 时,不推荐使用。

图3.18 DataBase Maintenance Plan Wizard

 

 

 

图3.19 从备份数据库设备中恢复

 

总结

Microsoft SQL Server是最容易按和维护的数据库引擎和资之一。这个服务器足够强大,可以处理你几乎所有服务。

有一些商业的WEB服务器使用SQL Server来动态地把WEB网页存入服务器数据库中。在设计你的网络布局,你可以把一些或全部的HTML代码存储到你的数据库 的表格中,只需要从Active Server Page网页上的一个简单的查询就可以取出这些数据。SQL Server使你能够存储所有的字体和HTML颜色代码,等等。这些配置使维护你的网页变得更容易。假设在你的网页上的文本两个 星期换一次。如果你把文本保存在数据库中,并使用Active Server Page网页来读取其中的数据,你可以很容易地处理这个问题。这样你就可以用简单的文字处理器(例如,Microsoft Word)来改变文本的内容。Microsoft Query和Microsoft Access也可以用来更新数据库中的数据。

SQL Server在INTERNET上的主要用处就是存储和读取大量的数据。你会发现,作为一个WEB数据库服务器,SQL Server的反应时间比一般的数据库要长。在美国东北部的一个站点,一个星期要从SQL Server的主要数据库中下载1,500,000条记录。 下载这些数据大约要花40分钟,然而,WEB站点大约的反应时间为1秒钟下载一条记录。还不是很坏。

 

Back to Top 查看 qqooo's 资料 搜索其它贴子 qqooo 访问 qqooo's
 

如果你想回复的话你必须首先 login
如果你还没有注册的话你必须首先 注册

<< 上一页 页 of 2
  回复发表新主题
显示可打印的页面 显示可打印的页面

论坛跳转
不能 张贴新论题在这个讨论版
不能 回应论题在这个讨论版
不能 删除你的发言在这个讨论版
不能 编辑你的发言在这个讨论版
不能 新增投票标题在这个讨论版
不能 在这个讨论版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.1870 seconds.

 
保养品
保养品, Skin Care
www.elady.tw
美材批发
美材, Cosmetic
www.elady.tw/beauty_org
保养品批发
名牌保养品、保养品批发
gb.perfume.com.tw/skincare
饰品批发
饰品、饰品批发
gb.perfume.com.tw/ornament