包含数据库--基础介绍

1.包含数据库依然基于windows验证和SQL验证,只是将登陆用户信息存放到数据库中而不是实例中。

 

2.在包含数据库中使用的临时表,该临时表使用包含数据库的排序规则,而不是tempdb的排序规则。而在非包含数据库中使用的临时表,该临时表使用tempdb数据库的排序规则;

 

3.在包含数据库中使用的临时表,改临时表依然存放在tempdb中

 

4.包含数据库对数据库中对象使用目录排序规则(2012中只有一种Latin1_General_100_CI_AS_WS_KS_SC),而非包含数据库使用普通排序规则。数据库在创建对象时,会检测对象名是否存在,如á1和ā1在不同排序规则下被判断为不一样;

 

5.由于包含数据库的用户不受实例级别管理员控制,因此需要注意用户授权方式

 

6.使用包含数据库用户登录后,该用户会以guest身份去访问其他数据库

 

7.当包含数据库用户和实例级别登录相同时:

    对于SQL用户,先在包含数据库上验证该账户的合法性,如果密码错误,则返回登录失败而不检查实例级别的登录,如果该用户在包含数据库上不存在,则检查实例级别登录。

    对于windows用户,先在实例级别检查,再到包含数据库级别检查。

 

8.使用包含数据时,务必保证数据库选项AUTO_CLOSE(自动关闭)没有打开(默认关闭),否则会给拒绝服务(DoS)攻击留下后门,数据库被频繁打开和关闭会带来严重的系统开销,从而导致数据库停止响应。

 

9.MSDN:AUTO_CLOSE 设置为 ON 时,该选项可能导致频繁访问数据库而使性能下降,这是因为在每次连接后打开和关闭数据库增加了开销。 AUTO_CLOSE 还会在每次连接后刷新过程缓存。

posted on   笑东风  阅读(563)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现

导航

点击右上角即可分享
微信分享提示