日志

关于SqlServer那些事1(回归基础)

 来源    2020-08-02    0  

即将实习,回归基础总结,希望可以再好好打磨一下基础的一些东西

关于如何在重新修改表结构时该变其权限设置

步骤:

  1. 点击工具
  2. 进入选项
  3. 设计器
  4. 取消勾选阻止保存要求重新创建表的更改

关于创建创建数据库以及数据库文件(.mdf)和日志文件(.ldf)

创建数据库有“有很笨的”方法就是不写脚本自动创建,右键创建数据库,点击新建数据库,就会出现如下示例图:

讲讲mdf和ldf的理解吧!

mdf也就是数据库主文件,主要是对处理一些业务数据,它是存放在硬盘里的,如你所见你可以去设置它的一个初始化的值(5MB),也可以查看它创建后存储的路径

ldf也就是日志文件,通俗地讲就是会记录用户什么时间,做了什么操作,谁在操作等进行一系列的记录和保存,比如说数据库文件的创建时间或者是用户登录数据库的时间等等

对了,需要注意的一点是,对于mdf和ldf两个文件最好都存储在同一个文件夹路径,本质上来说就算存放在不同文件夹在做数据库附加时也不会受到影响,但是这样想想存储在不同文件夹是极不容易后期维护和查看的!

关于数据库分离

如果你想将数据库文件和日志文件进行打包或者复制到其他盘符,你也可以对它进行数据库的分离操作

步骤:

  1. 右键准备分离的数据库
  2. 任务
  3. 分离
  4. 确定

为什么要勾选删除连接,可能准备分离的数据库此时处于运行状态也就是和数据库保持连接的状态,需要删除连接操作然后进行分离,不然可能会出现操作失误等报错

 分离完成后,可以去存放数据库主文件的文件夹查看已被分离出来的文件,此时已完成数据库分离操作!

 关于数据库附加

所谓附加就是将分离出来的数据库文件重新再连接,进而保证数据库业务逻辑和成绩的表结构数据在分离后不会丢失。

步骤:

  1. 右键数据库
  2. 附加
  3. 添加

选择你刚刚分离出来的数据库文件(这里主要是附加mdf文件)

但是在附加的过程中,你可能会出现类似这样的报错信息:“操作系统错误,拒绝访问...”,不要心急这种问题可能是服务器对于附加的数据库文件没有权限

解决方案:

找到对应的准备附加的数据库文件夹,右键属性—》安全—》编辑—》添加(添加你自己命名的即可)—》勾选完全控制即可

其实还有一种办法就是在不分离数据库的情况下进行mdf的拷贝操作,那就是进行脱机处理。其实脱机原理也就是脱离数据库的连接,等完成之后进行联机即可

 

关于创建新的数据库用户

  1. 安全性
  2. 登录名
  3. 右键新建登录名
  4. 选择SqlServer身份验证
  5. 取消勾选强制密码实施策略

 

 

注意:切勿对系统数据库进行修改或者是其他违规操作,不然很可能会导致数据库系统奔溃的

关于采用自写脚本创建数据库

以上第一创建数据库的方式,作为小白初次可以这样去创建,但是个人觉得最好一次都不要尝试,个人觉得也比较low,知道有这种创建方式就好了!

go:你可以理解成分批次执行SQL

--首先判断数据库是否已经存在
if exists(select * from Sysdatabases where name ='mydb')
--存在就删除
drop database mydb
--执行完毕
go
--创建数据库
create database mydb
go
--使用数据库
use mydb
go

对了,使用以上脚本创建数据库仅仅限于开发环境下使用!!!不然可能会导致不明所以的数据库丢失,等同于删库!!!

关于数据的三种完整性约束

域完整性:某个字段的数据合法性约束(check约束、限制数据类型)

实体完整性:某一数据列的数据合法性约束

引用完整性:表与表之间引用是否合法的合法性约束(主键约束、唯一约束、主外键,一对一、一对多、多对多、分清楚谁是主表谁是从表!)

唯一约束(可null,null也是数据)、主键约束(唯一,不为null)、标识列(这一列的数据可自增、可设置起始的数值)
标识列:现有10条数据,删除后7条,存在1,2,3工3条数据,这样再去重新自增,这个时候标识列的起始值就从10开始一直加,假设自增值为1,这样就不会出现重复!

以上就是对SqlServer基础的一些总结,希望今年的实习阶段能够顺利,加油!!!

相关文章
c# – 回归基础; for循环,数组/向量/列表和优化
问答我最近正在研究一些代码并且遇到了一个方法,该方法有3个for循环,可以在2个不同的数组上运行. 基本上,发生的事情是foreach循环将遍历向量并从对象转换DateTime,然后另一个foreach循 ...
sql-server – PRIMARY KEY CONSTRAINT基础
问答如果您知道可以仅使用唯一索引在表之间创建关系,那么您能否解释为什么存在"主键约束"? 使用的RDBMS是SQL Server. 实际上,在创建唯一索引(非null)之后,我可以在另 ...
1
细说C#多线程那些事-线程基础
日志我第一次接触“线程”的概念时,觉得它深奥难懂,看了好多本书,花了很长时间才领悟到它的真谛.现在我就以一个初学者的心态,把我所理解的“多线程”描述给大家.这一次是系列文章,比较完整的展示与线程相关的基本 ...
1
回归基础: JavaScript 变量提升
日志from me: javascript的变量声明具有hoisting机制,它是JavaScript一个基础的知识点,也是一个比较容易犯错的点,平时在开发中,大大小小的项目都会遇到. 它是JavaScr ...
1
Logistic回归基础篇之梯度上升算法
日志代码示例: import numpy as np import matplotlib.pyplot as plt def loadDataSet(): dataMat = [];labelMat = ...
1
逻辑回归基础梳理
日志1.逻辑回归 逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏. Logistic回归虽然名字里带“回 ...
sql-server – SQL Server:如果基础表发生更改,则需要重新创建使用SELECT *的视图
问答有没有办法使使用SELECT *的视图与基础表保持同步. 我发现的是,如果对基础表进行了更改,从中选择所有列,则需要"重新创建"视图.这可以通过运行ALTER VIEW语句来简单地 ...
sql-server – 执行计划基础 – 哈希匹配混乱
问答我开始学习执行计划,并且对哈希匹配的确切工作原理以及为什么在简单连接中使用它感到困惑: select Posts.Title, Users.DisplayName From Posts JOIN Us ...
sql-server – 如何在调度程序的基础上自动运行存储过程?
问答我想每晚自动执行存储过程.我该怎么做.请指导我实现此目标的步骤. 提前致谢.::您可以使用SQL Server代理创建作业. 右键单击Jobs文件夹以打开菜单,选择New Job: 创建新作业时,将打 ...
1
sql-server – 不同的模式会产生从一个或多个分片中检索数据的错误.收到的基础错误消息是:无效的对象名称
问答我在Azure中创建了一个外部数据源,作为无法在Azure平台上创建LINKED SERVERS的替代方法. CREATE MASTER KEY ENCRYPTION BY PASSWORD = 's ...
1
sql-server – SQL Server Passthrough查询作为Access中DAO记录集的基础
问答我们最近创建并将Access数据库后端迁移到SQL Server.我正在尝试使用VBA代码创建与SQL Server后端的连接,并使用存储在VB记录集中的结果运行直通查询.当我尝试这个时,查询不会通过 ...
1
sql-server – 为什么差异备份不能指定其基础?
问答这是我的第一篇DBA.SE帖子,所以请告诉我任何错误,谢谢! 我是一名新的DBA(不是IT专业人员,公司里没有其他人这样做),所以解释越基本越好.我一直在阅读有关数据库备份策略的文章(或者,正如我学会 ...
1
sql-server – 在IIS下运行时“基础提供程序在Open上失败”
问答我们有一个在服务器上运行的网站.我们有一个"生产"实例和一个"临时"实例,每个实例都有自己的数据库. MSSQL Server在同一服务器上本地运行. 今天,突 ...
1
sql-server – SSAS – 我应该使用视图还是基础表?
问答我在SQL Server中设置了一组视图,它们输出了我想要包含在SQL Server Analysis Services多维数据集中的结果,包括计算多个维度(例如使用DATEDIFF的Age,使用DA ...
1
sql-server – 为什么CATCH块允许事务在SQL Server 2012中提交
问答最近,由于我们的遗留代码中的以下语句,我遇到了SQL错误.它尝试删除临时表,如果尚未定义则继续.显然,检查临时表的存在是一种不好的方法,但这不是我的问题. BEGIN TRY DROP TABLE # ...
1
sql-server – PostgreSQL和SQL Server btree存储基础问题
问答我知道SQL Server可以在聚簇索引中以叶级别存储行的数据.我相信PostgreSQL不会这样做.如果是这样,它的存储范例是什么? 我的主要问题如下.考虑以下设计&数据(以T-SQL显示) ...
1
Java基础 关于枚举类你可能不知道的事
日志谈谈枚举 如果一个类的对象个数是有限的而且是不变的,我们通常将这样的类设计成枚举类. 1. 枚举类的定义 枚举类有如下特点: 枚举类默认是使用final关键字修饰的,所以枚举类不能被继承: 枚举类的构 ...
1
SqlServer基础之(触发器)
日志概念:   触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触 ...
机器学习:逻辑回归(基础理解)
日志逻辑回归(Logistic Regression) 一.行业算法应用率 机器学习算法的本质就是求出一个函数 ý = f(x),如果给函数输入一个样本 x ,经过 f(x) 运算后得到一个 ý: 具统计 ...
准备.Net转前端开发-WPF界面框架那些事,搭建基础框架
日志题外话     最近都没怎么写博客,主要是最近在看WPF方面的书<wpf-4-unleashed.pdf>,挑了比较重要的几个章节学习了下WPF基础技术.另外,也把这本书推荐给目前正在从事 ...