sqlserver数据库

SqlServer 开篇简介

拈花ヽ惹草 提交于 2019-12-04 07:32:02
实例: 我们的电脑中可以安装一个或多个SqlServer实例,每一个SqlServer实例可以包含一个或者多个数据库。 架构: 数据库中,又有一个或者多个架构。架构里面包含:表,视图,存储过程。 文件与文件组: SqlServer数据库存储在文件系统中,我们可以将文件分为若干个组。 数据库权限: 通常我们会创建用户角色,通过分配给不同角色的用户不同的权限,来限定各个角色的用户对数据的操作。 来源: https://www.cnblogs.com/bigbosscyb/p/11821251.html

SqlServer 创建数据库两种方式

不想你离开。 提交于 2019-12-04 07:31:53
一个SqlServer 数据库实例大概可以创建三万多个数据库。 创建数据库的第一种方式:SqlServer Management Studio管理工具进行可视化创建。 1)、打开数据库管理工具,在"对象资源管理器"中,连接到SqlServer数据库引擎的实例,然后展开该实例。 2)、右键单击"数据库",然后单击"新建数据库" 3)、在"新建数据库"中,输入数据库名称,(其它根据自己的具体需要,这里我直接默认不管)点击确定,就创建了一个数据库。 创建数据库的第二种方式-使用Transact-Sql创建: 1)、连接到数据库引擎 2)、在最上面的菜单栏上 单击"新建查询" 3、输入数据库创建语句,单击"执行"。此示例创建了一个叫BOOK的数据库。使用关键字Primary,表示我们创建了一个主文件(存储数据的主文件)。 /**创建数据库 并且指定存储数据库的mdf和ldf文件**/ USE master GO CREATE DATABASE BOOK ON PRIMARY ( NAME='book_data',--主文件逻辑文件名 FILENAME='D:\MyLocalDB\book_data.mdf', --主文件文件名 SIZE=5mb,--系统默认创建的时候会给主文件分配初始大小 MAXSIZE=500MB,--主文件的最大值 filegrowth=15%-- 主文件的增长幅度

SqlServer查询数据库所有的表名称,表说明以及字段详细信息

六眼飞鱼酱① 提交于 2019-12-03 16:45:22
SELECT 表名称= d.name, 表说明= isnull(f.value,''), 排序号= a.colorder, 列名称= a.name, 列说明= isnull(g.[value],''), 标识列= case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then 1 else 0 end, 主键列= case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then 1 else 0 end, 列类型= b.name, 字节数= a.length, 列长度= COLUMNPROPERTY(a.id,a.name,'PRECISION'), 小数位= isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0), 允许空= case when a.isnullable=1 then 1 else 0 end, 默认值= isnull(e

sqlserver数据往别的数据库迁移

泄露秘密 提交于 2019-12-03 15:02:44
背景:sqlserver数据库数据是服务于一个.net项目。后来由于去.net 要将数据前往高斯数据库 或者Oracle。 问题是 当sql Name Age Gender from student 得到全部数据之后 怎么逐条生成insert语句 一个很巧妙的方法是 在sqlserver查询出的表格中复制出所有的数据,粘贴到excel中 然后利用excel函数 拼接单元格的方式 将每行单元格中的字符串拼接成我们需要的sql语句。 假设在EXCEL中有三列A、B、C,现在要将这三列值插入到表testtable对应的三个字段(col1,col2,col3)中。 我们就可以在D1列输入 ="INSERT INTO testtable (col1,col2,col3) VALUES('"&A1&"' ,'"&B1&"' ,'"&C1&");" 然后鼠标单击D1列右下角往下拖就得到标准的SQL insert 语句。 同理可以进行 删除 更新操作 来源: https://www.cnblogs.com/wholeworld/p/11801371.html

怎样查出SQLServer的性能瓶颈

眉间皱痕 提交于 2019-12-03 03:32:06
怎样查出SQLServer的性能瓶颈 --王成辉翻译整理,转贴请注明出自微软BI开拓者[url]www.windbi.com[/url] --原帖地址 如果你曾经做了很长时间的DBA,那么你会了解到SQLServe的性能调优不是一个精密的科学。即使是,对于为最佳的性能找到最佳的配置也是很困难的。这是因为对于调优来说很少东西是绝对的。例如,一个性能调优可能对某一方面有用,可是却会影响其他的性能。 我曾经做过DBA,在最后7年的日子里,我总结了一套SQLServer调优的清单。当第一次进行SQLServer性能调优的时候,可以用它来作为一个向导。我经常被邀请去检查SQLServer并提供一些性能方面的建议。直到现在,我还没有真正写下一个贯穿整个性能调优过程的方案。但是当我做了越来越多的性能调优的咨询工作后,我现在决定花点时间整理出来。你将会发现它是很有用的,就象我发现对我的用处一样. SQLServer性能监控 这套性能优化的清单将至少准科学的帮助你找出你的SQLServer任何明显的性能问题。说是这样说,SQLServer的性能调优仍然是很困难的。我试图用这套清单去找出“容易”的sqlserver性能问题,困难的留待稍后。我这样做是因为很容易将容易和困难的的性能调优问题搞混。通过列出一个“容易”的性能调优范围,就很容易的将这些问题解决,一旦解决了这些容易的问题

EFCore中SQLSERVER 的分页问题

我是研究僧i 提交于 2019-12-03 01:54:20
自SQLSERVER 2012起新增了 Offset Fetch 语法,因此EFCore默认是以此语法生成相应的分页语句的。 如果我们的目标数据库低于 2012,那么EFCore默认生成的语句在执行的时候肯定会报语法错误。为了兼容旧版本数据库,EFCore提供了 Row_Number( ) 分页方法。 在DB_DZZHContext.cs中修改如下配置,加上红色标记部分. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.UseSqlServer(Common.Utils.Configuration.GetConnectionString("LegalDB"),b=>b.UseRowNumberForPaging()); } } 来源: https://www.cnblogs.com/wxxf/p/11770307.html

SqlServer高版本数据备份还原到低版本

匿名 (未验证) 提交于 2019-12-03 00:33:02
最近遇见一个问题:   想要将Sqlserver高版本备份的数据还原到低版本SqlServer上去,但是这在SqlServer中是没法直接还原数据库的,所以经过一系列的请教总结出来一下可用方法。 首先、 你得在电脑上装有你将要操作的高版本以及低版本的SqlServer或者你能够连上SqlServer高版本所在的数据库(便于后面拷贝数据), 第二步、 打开高版本数据库中你需要备份的数据库,将你备份的数据库相关的登录名或者用户删除。右键数据库->任务->生成脚本。在生成脚本的“选择对象”步骤选择“编写整个数据库及所有数据库对象的脚本选项”。在生成脚本的“设置脚本编写选项”的高级中选项中设置“编写USE DATABASE 脚本”和“架构限定对象名称”选项为False并将“服务器版脚本”选择为你的低版本的数据库的版本。生成脚本。 第三步、 在你低版本的数据库中新建数据库(名称随便),打开Sql脚本。将脚本中所有关于原数据库名称的操作全部删除,将数据库从第一个alter操作分成两部分,对新建数据库执行第一部分建表操作。 第四步、 右键新建的数据库->任务->导入数据,将数据来源设置为高版本的数据库,目标设置成当前数据库。然后选择复制一个或多个图表。选择所有的数据表,然后在“编辑映射”将”启用标识插入“选上。导入数据 第五步、 最后再执行前面分割的第二部分Sql脚本,为数据库建索引! Ok

利用cmd命令窗口操作SQLServer

匿名 (未验证) 提交于 2019-12-03 00:22:01
1. 在计算机管理里检查SQLServer服务是否开启,没有开启请开启 2.同时按下win+R 键,输入cmd后, 按下确定,进入黑窗口。 3.在其中输入sqlcmd -s 【服务器名】,如下:按下回车,出现1>说明进入SQLServer数据库中。 4.使用use 【数据库】选中你要操作的数据库 出现2>时输入go即可 5.在1>中输入标准的SQL命令,在2>中输入go即可进行相应的数据库操作。 6.在1>中输入exit即可退出SQLServer数据库 文章来源: 利用cmd命令窗口操作SQLServer

EFCore中SQLSERVER 的分页问题

匿名 (未验证) 提交于 2019-12-03 00:15:02
自SQLSERVER 2012起新增了 Offset Fetch 语法,因此EFCore默认是以此语法生成相应的分页语句的。 如果我们的目标数据库低于 2012,那么EFCore默认生成的语句在执行的时候肯定会报语法错误。为了兼容旧版本数据库,EFCore提供了 Row_Number( ) 分页方法。 在DB_DZZHContext.cs中修改如下配置,加上红色标记部分. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { optionsBuilder.UseSqlServer(Common.Utils.Configuration.GetConnectionString("LegalDB"),b=>b.UseRowNumberForPaging()); } } 来源:博客园 作者: 万万万W 链接:https://www.cnblogs.com/wxxf/p/11770307.html

SQLServer数据库差异比较

匿名 (未验证) 提交于 2019-12-03 00:11:01
//https://www.cnblogs.com/Leo_wl/p/11069813.html /* 使用说明:Old数据库为DB_V1,New数据库为[localhost].DB_V2。根据实际需要批量替换数据库名称 脚本来源:https://www.cnblogs.com/zhang502219048/p/11028767.html */ -- sysobjects 插入临时表 select s . name + '.' + t . name as TableName , t .* into #tempTA from DB_V1 . sys . tables t inner join DB_V1 . sys . schemas s on s . schema_id = t . schema_id select s . name + '.' + t . name as TableName , t .* into #tempTB from [ localhost ]. DB_V2 . sys . tables t inner join [ localhost ]. DB_V2 . sys . schemas s on s . schema_id = t . schema_id -- syscolumns 插入临时表 select * into #tempCA from DB_V1