
🎉个人主页:这个昵称我想了20分钟
✨往期专栏:【速成之路】jQuery
【速成之路】Ajax
【速成之路】SQL server
🎖️系列专栏:【初学者】刷题学习Java
🔥推荐一款模拟面试,刷题神器👉点击跳转到网站
❤️欢迎各位小伙伴们!强烈推荐一款刷题神器👉点击跳转到网站
🔥这是一款专注于程序员的学习和成长的专业平台,有许多专业的IT面试题库,精选了多家知名企业的面试题,全方位提升你的IT技能,轻松面对各大企业面试。
Sql server安全管理体现在如下几方面:
对用户登录进行身份验证。当用户登录到数据库系统时,系统对该用户的账户和口令进行验证,包括确认用户的账户是否有效以及能否访问数据库系统。
对用户进行的操作进行权限控制。当用户登录到数据库系统后,只能在允许的权限内对数据库中的数据进行操作。
用户对某一数据库进行某种操作,必须满足以下3个条件:
SQL Server2012有两种身份认证模式:Windows验证模式和SQL Server验证模式。如图是这两种模式登录SQL server服务器的情况。

1.Windows验证模式
以下是对于Windows验证模式登录的几点重要说明:
(1)必须将Windows账户加入到SQL Server中,才能采用Windows账户登录SQL Server。
(2)如果使用Windows账户登录到另一个网络的SQL Server,必须在Windows中设置彼此的托管权限。
2.SQL Server验证模式
在SQL Server验证模式下,SQL Server服务器要对登录的用户进行身份验证。当SQL Server在Windows操作系统上运行时,系统管理员设定登录验证模式的类型可为Windows验证模式和混合模式。当采用混合模式时,SQL Server系统既允许使用Windows登录账号登录,也允许使用SQL Server登录账号登录。
1.建立Windows验证模式的登录名
(1)创建Windows的用户。以管理员身份登录到Windows ,打开“控制面板”,在管理账户中添加新的账户。

(2)将Windows账户加入到SQL Server中。以管理员身份登录到SQL Server Management Studio,在“对象资源管理器”中,展开“安全性”节点,并右击“登录名”项,选择“新建登录名”菜单项,如图所示。

打开“登录名-新建”窗口。如图所示,可以通过单击“常规”选项卡的“搜索”按钮,在“选择用户或组”对话框中选择相应的用户名或用户组添加到SQL Server 2012登录用户列表中。

2.建立SQL Server验证模式的登录名
要建立SQL Server验证模式的登录名,首先应将验证模式设置为混合模式。
(1)以系统管理员身份登录SQL Server Management Studio,在“对象资源管理器”中选择要登录的SQL Server服务器图标,右击鼠标,在弹出的快捷菜单中选择“属性”菜单项,打开“服务器属性”窗口。
(2)在打开的“服务器属性”窗口中选择“安全性”选项卡。选择服务器身份验证为“SQL Server和Windows身份验证模式”,单击“确定”按钮,保存新的配置,重启SQL Server服务即可。
在“对象资源管理器”窗口中单击“连接”,在下拉框中选择“数据库引擎”,弹出“连接到服务器”对话框。在该对话框中,“身份验证”选择“SQL Server身份验证”,“登录名”填写Jhon,输入密码,单击“连接”按钮,就能连接SQL Server了。

3.管理数据库用户
界面方式创建数据库用户账户的步骤如下(以xsbook数据库为例):
以系统管理员身份连接SQL Server,展开“数据库”→“xsbook”→“安全性”→选择“用户”,右击鼠标,选择“新建用户”菜单项,进入“数据库用户-新建”窗口。在“用户名”框中填写一个数据库用户名,“登录名”框中填写一个能够登录SQL Server的登录名。
注意:一个登录名在本数据库中只能创建一个数据库用户。选择默认架构为dbo,如图所示,单击“确定”按钮完成创建。


1.创建登录名
在SQL Server 2012中,创建登录名可以使用CREATE LOGIN命令。语法格式:
CREATE LOGIN <登录名>
{ WITH PASSWORD = 'password' [ HASHED ] [ MUST_CHANGE ]
[ , <option_list> [ ,... ] ] /*WITH子句用于创建SQL Server登录名*/
| FROM /*FROM子句用于创建Windows登录名*/
WINDOWS [ WITH <windows_options> [ ,... ] ]
}
其中:
<option_list> ::=
SID = sid
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| CHECK_EXPIRATION = { ON | OFF}
| CHECK_POLICY = { ON | OFF}
[ CREDENTIAL = credential_name ]
<windows_options> ::=
DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
说明:
(1)创建Windows验证模式登录名。创建Windows登录名使用FROM子句,在FROM子句的语法格式中,WINDOWS关键字指定将登录名映射到Windows登录名,其中,<windows_options>为创建Windows登录名的选项,DEFAULT_DATABASE指定默认数据库,DEFAULT_LANGUAGE指定默认语言。
【例1】 使用命令方式创建Windows登录名tao(假设Windows用户tao已经创建,本地计算机名为DAVID-PC),默认数据库设为xsbook。
USE master
GO
CREATE LOGIN [DAVID-PC\tao]
FROM WINDOWS
WITH DEFAULT_DATABASE= xsbook
(2)创建SQL Server验证模式登录名。创建SQL Server登录名使用WITH子句,其中:
CREATE LOGIN sql_tao
WITH PASSWORD='123456',
DEFAULT_DATABASE=xsbook
2.删除登录名
删除登录名使用DROP LOGIN命令。语法格式:
DROP LOGIN <登录名>
例如,删除Windows登录名tao。
DROP LOGIN [DAVID-PC\tao]
删除SQL Server登录名sql_tao。
DROP LOGIN sql_tao
3.创建数据库用户
创建数据库用户使用CREATE USER命令。语法格式:
CREATE USER <用户名>
[{ FOR | FROM } LOGIN <登录名> | WITHOUT LOGIN ]
[ WITH DEFAULT_SCHEMA = schema_name ]
说明:
(1)FOR或FROM子句用于指定与用户名相关联的登录名。
(2)LOGIN指定要创建数据库用户的SQL Server登录名,必须是服务器中有效的登录名。
(3)WITHOUT LOGIN指定不将用户映射到现有登录名。
(4)WITH DEFAULT_SCHEMA指定服务器为此数据库用户解析对象名称时将搜索的第一个架构,默认为dbo。
【例3】 使用SQL Server登录名sql_tao(假设已经创建)在xsbook数据库中创建数据库用户tao,默认架构名使用dbo。
USE xsbook
GO
CREATE USER tao
FOR LOGIN sql_tao
WITH DEFAULT_SCHEMA=dbo
4.删除数据库用户
删除数据库用户使用DROP USER语句。语法格式:
DROP USER <用户名>
【例4】 删除xsbook数据库的数据库用户tao。
USE xsbook
GO
DROP USER tao
SQL的学习必须是有条理、有逻辑的由浅入深
学习SQL,一定要理论+实践结合,不管你是刚入门的小白,还是曾经学过相关知识,或者有一定基础,想要继续提升能力,又或者面试前突击想刷刷真题,都可以去牛客网练习!
牛客网做为国内内容超级丰富的IT题库,尤其是他的SQL内容,从入门到大厂真题,完全覆盖了所有SQL学习者的必备内容
从小白入门到某度、某音、某东的真实场景全部覆盖,只要想学习SQL,那一定不能错过牛客网!而且内容全部免费,赶紧刷起来!
牛客网
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el
我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。
我在新的Debian6VirtualBoxVM上安装RVM时遇到问题。我已经安装了所有需要的包并使用下载了安装脚本(curl-shttps://rvm.beginrescueend.com/install/rvm)>rvm,但以单个用户身份运行时bashrvm我收到以下错误消息:ERROR:Unabletocheckoutbranch.安装在这里停止,并且(据我所知)没有安装RVM的任何文件。如果我以root身份运行脚本(对于多用户安装),我会收到另一条消息:Successfullycheckedoutbranch''安装程序继续并指示成功,但未添加.rvm目录,甚至在修改我的.bas
是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s
我想用这两种语言中的任何一种(最好是ruby)制作一个窗口管理器。老实说,除了我需要加载某种X模块外,我不知道从哪里开始。因此,如果有人有线索,如果您能指出正确的方向,那就太好了。谢谢 最佳答案 XCB,X的下一代API使用XML格式定义X协议(protocol),并使用脚本生成特定语言绑定(bind)。它在概念上与SWIG类似,只是它描述的不是CAPI,而是X协议(protocol)。目前,C和Python存在绑定(bind)。理论上,Ruby端口只是编写一个从XML协议(protocol)定义语言到Ruby的翻译器的问题。生
因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实
我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的