SQL Server

SQL server分离和附加数据库

大兔子大兔子 提交于 2020-12-20 04:47:05
下文是参考网友的文章结合自身的经验来总结的 应用于将数据库更改到同一计算机或不同计算机的不同SQL server实例中,或者要移动数据库文件存储的位置时。 一、分离数据库 将数据库从SQL server实例中移除,保证数据文件和日志文件完整性。 对于分离一个数据库来说,我们可以用Manage Studio界面或者存储过程。但是对于每一种方法都必须保证没有用户使用这个数据库.接下来所讲的都是对于用命令来分离或附加一个数据库。对于用Manage Studio自己看着界面操作就可以应付了。 对于用存储过程来分离数据库,如果发现无法终止用户链接,可以使用ALTER DATABASE命令,并利用一个能够中断已存在链接的终止选项来把数据库设置为SINGLE_USER模式,设置为SIGLE_USER代码如下: ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE 下面是分离数据库的CMD命令 EXEC sp_detach_db DatabaseName 一旦一个数据库分离成功,从SQL Server角度来看和删除这个数据库没有什么区别。 二、 附加数据库 对于附加数据库,可以使用sp_attach_db存储过程,或者使用带有FOR ATTACH选项的CREATE DATABASE命令,在SQL

每个人都应该知道网站建设的制作流程与方法!

ぐ巨炮叔叔 提交于 2020-12-19 23:19:23
企业网站是客户获悉众多信息的主要渠道之一,个人网站是专业领域的精华呈现,而网站的建设与维护,其实是行业及个人的梦想延伸,一个更为宽广的世界就此形成。尤其是在互联网转型期间,掌握网站建设的流程与方法,对于实现全网联动互通、营销推广等,都具有特别重要的意义。 简而概之,从网站建设的起点开始,一条新时代的起跑线正清晰呈现。想获取客户增量?建设网站!想掌握客户信息?建设网站!想吸引更多流量?网站建设!想实现全网覆盖?网站建设! 在以网站建设为核心的PC站点、移动站点、微信站点、APP等多端模式形成后,全面的生态发展才算迈出第一步,先进的智能营销才是落在实处,梦想的舞台才算初具规模! 1、网站建设的定义 网站建设是指使用标识语言(markuplanguage),通过一系列设计、建模、和执行的过程将电子格式的信息通过互联网传输,最终以图形用户界面(GUI)的形式被用户所浏览。简单来说,网页设计的目的就是产生网站。简单的信息如文字,图片(GIF,JPEG,PNG)和表格,都可以通过使超文件标示语言、可扩展超文本标记语言等标示语言放置到网站页面上。而更复杂的信息如矢量图形、动画、视频、声频等多媒体档案则需要插件程序来运行,同样地它们亦需要标示语言移植在网站内。 2、网站建设流程 那么,网站建设制作的流程与方法有哪些?如何掌握最全面、先进的建站技术与信息呢? 许多企业及个人都迫切地想拥有自己的网站

T-SQL | 逻辑查询处理内幕学习

旧时模样 提交于 2020-12-19 18:04:13
【T-SQL 】 | 作者 / Edison Zhou 这是 EdisonTalk 的第 296 篇学习分享 T-SQL是ANSI和ISO SQL标准的MS SQL扩展,其正式名称为Transact-SQL,但一般程序员都称其为T-SQL。本文是我学习《T-SQL查询》一书的读书笔记,为你讲解逻辑查询的内幕 。 1 逻辑查询处理的各个阶段 流程总览 阶段解释 (1)FROM:标识出查询的来源表,处理表运算符。每个运算符会应用一系列的子阶段。eg.在JOIN连接运算中涉及的阶段是笛卡尔积、ON筛选器和添加外部行。FROM阶段会生成一个虚拟表,这里暂定为VT1。 (1-J1)笛卡尔积:对涉及到的两个表执行笛卡尔积(交叉联接),生成虚拟表VT1-J1。 (1-J2)ON筛选器:对VT1-J1中的行根据ON子句中出现的谓词进行筛选。只有让该谓词取值为TRUE的行,才能插入到VT1-J2中。 (1-J3)添加外部行:如果指定了OUTER JOIN(相对于CROSS JOIN或INNER JOIN),则将保留表(Preserved Table)中没有找到匹配的行,作为外部行添加到VT1-J2中,生成VT1-J3。 (2)WHERE:根据在WHERE子句中出现的谓词对VT1中的行进行筛选。只有让谓词计算结果为TRUE的行,才会插入VT2中。 (3)GROUP BY:按照GROUP

C# 数据操作系列

↘锁芯ラ 提交于 2020-12-19 15:43:54
0.前言 在上一篇中初略的介绍了一下SQL的基本写法,这一篇开始我们正式步入C#操作数据库的范围。通过这一系列的内容,我想大家能对于数据库交互有了一定的认识和基础。闲话不多说,先给大家介绍一个C#操作数据库的方式。 1. ADO.NET的介绍 在ADO.NET出现之前,C#连接数据库有很多种方式,各种框架琳琅满目。用户们饱受困扰,再加上乱七八糟的连接方式对语言的发展也是一种强有力的阻挠。所以微软决定搞一套标准化出来,之后ADO.NET诞生了。 ADO.NET定义了一系列操作数据库的接口和基类,而数据库厂商只需要根据自己的实际情况开发对应的实现类就可以了。 2. 使用ADO.NET 操作需要的步骤 使用ADO.NET操作数据库,先需要一个连接也就是 IDbConnection实例,然后使用IDbCommand执行,通过 IDataReader读取数据。 先来简单介绍一下上面提到的接口: a.IDbConnection 表示一个与数据源的开放连接,并由访问关系数据库的.NET 数据提供程序实现,也就是说这只是一个接口,具体的实现得看具体的数据库。 我们先看一下,具体的属性和方法吧: public string ConnectionString { get ; set ; } // 获取或设置用于打开数据库的连接字符串 public string Database { get ; } /

C# 数据操作系列

烂漫一生 提交于 2020-12-19 08:05:29
0. 前言 在上一篇中,我故意留下了查询的示范没讲。虽然说可以通过以下代码获取一个DataReader: IDataReader reader = command.ExecuteReader(); 然后通过reader一行一行的读取数据,但是我并不推荐这样使用。 在查询这一高频需求上,C#为之做了很多工作,提供了更多的选择。这里介绍一个查询的另一套写法。 1. 离线查询 C#在查询上提供了另一种机制,可以一次性从数据库把结果读取到网络缓存区中,直到使用的时候才加载到程序中。 在离线查询里最关键的三个接口或类: IDataAdapter 一种适配器,用来获取数据并填充或更新DataSet DataSet 表示数据在内存中的缓存 DataTable 表示内存中一个数据表 IDataAdapter用来提供数据,DataSet表示adapter读取的结果集,其中有一个DataTable集合表示执行的SQL查询结果。至于为什么是集合,是因为IDataAdapter允许运行多条查询语句。 好,让我们粗略浏览一下这个三个关键点的属性和方法: IDataAdapter: public int Fill (System.Data.DataSet dataSet) ; //将查询出来的结果填充到DataSet里 在C#内部,其实不允许推荐直接继承该接口,推荐继承DataAdapter类

热迁移、异构数据库迁移、传输性能 这些上云的难题阿里云都帮你解决了

蓝咒 提交于 2020-12-18 06:48:21
下载网站: www.SyncNavigator.CN 客服QQ1793040 ---------------------------------------------------------- 关于HKROnline SyncNavigator 注册机价格的问题 HKROnline SyncNavigator 8.4.1 非破解版 注册机 授权激活教程 最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。 好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧! SyncNavigator的基本功能: 自动同步数据/定时同步数据 无论是实时同步/24小时不间断同步,还是根据计划任务(每小时/每日/每周/等)定时自动同步都能完全胜任。 完整支持 Microsoft SQL Server 完整支持 Microsoft SQL Server 2000 2005 2008 数据库类型。并能在不同数据库版本之间相互同步数据。 支持 MySQL 4.1 以上版本 支持 MySQL 4.1 5.0 5.1 5.4 5.5

意向锁

痴心易碎 提交于 2020-12-17 15:47:16
本文的 原文 SQL Server里的锁层级 当你读取一条记录时,SQL Server默认请求一个 共享锁(S) ,当你修改一条记录时,SQL Server请求一个 排它锁(X) 。这2个锁彼此不兼容,当你同时向读写一条记录时,会发生阻塞。 另外对于行级别的锁,在锁层级里,SQL Server也会在更高一层请求所谓的 意向锁(Intent Locks) :在页和表层级。SQL Server基于请求的行级别锁,请求下列的意向锁: 意向共享锁(Intent Shared Lock (IS)),当你在行层级有一个共享锁(S) 意向更新锁(Intent Update Lock (IU)),当你在行层级有一个更新锁(U) 意向排它锁(Intent Exclusive Lock (IX)),当你在行层级有一个排它锁(X) 因此当读或写你记录时,你总会获得如上图所示的锁层级。当SQL Server为什么使用这些意向锁呢? SQL Server里的意向锁 从技术上来说,SQL Server并不真的需要意向锁。这和性能优化有关。我们来具体看下。有了意向锁,SQL Server表明在锁层级里更高层级上,你需要请求其他锁。 意向共享锁(Intent Shared Lock) 告诉SQL Server某个地方有 共享锁(S) 。对于 意向更新锁(Intent Update Lock) 或 意向排它锁

sql server 的模糊查询的用法

前提是你 提交于 2020-12-17 14:11:49
查询所有姓张的同学 Select * from student where left(sName,1)=‘张‘ 看上去很美,如果改成查询名字中带亮的学生怎么做? 换一种做法 like Select * from student where sName like ‘张%’ 会吧所有姓张的都查询到,现在我想查询姓张并且名字是一个字的学生? Select * from student where sName like ‘%亮%’ ^只有MSSQL Server支持,其他DBMS用not like。 通配符 %多字符匹配的通配符,它匹配任意次数(零或多个)出现的任意字符 通配符_ 单字符匹配,它匹配单个出现的字符 [] 只匹配一个字符 并且这个字符必须是[]范围内的 [0-9] [a-z] not与like一起使用:not like …. 要通配_、%、[、^这些字符怎么办?[_]、[%]、[ [ ]、^(不需要放到中括号里,因为^只有放到中括号中才认为是通配符) 注意:like 'a%'与like'%a'的区别。  前者查询首字符为a的,后者查询末位为a的。 --通配符:_ 、 % 、 [] 、 ^ -- _ 表示任意的单个字符 --姓张,两个字的。 select * from MyStudent where fname like '张_' --姓张,三个字的 select * from

数据库优化案例——————某市中心医院HIS系统

我们两清 提交于 2020-12-17 07:27:59
记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的 手段 是 容易 掌握的,但是整体的优化 思想 是 很难 学会的。这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例。   最近一直很忙,博客产出也少的可怜,今天整理了一下自己做过优化或各种方案的客户已经超过100家了,今天分享的案例算是在这些客户中比较典型的了!没有什么高大上都是常见的问题!在之前的博客中都有过提及,那么本篇我们就结合之前的技术点来看看这个案例。学习优化手段的看官们可以参见我的优化系列: SQL SERVER全面优化-------Expert for SQL Server 诊断系列 --------------博客地址--------------------------------------------------------------------------------------- Expert 诊断优化系列 http://www.cnblogs.com/double-K/ 废话不多说,直接开整----------------------------------------------------------------------------------------- 系统环境   首先我们来看一下这个系统配置及现状,为什么说这个客户经典?那就是因为这个客户已经达到可以慢的地方都慢

解决数据库卡、慢,问题多,难管理——老技术的执著

孤者浪人 提交于 2020-12-17 06:51:03
写在前面   本篇是赤果果的产品介绍文章,同时也是向使用数据库的战友们表达一下我们是怎样一步一步打磨产品,又有什么样的远景、动力让我们一直走下去....    八年数据库之路的感悟 这篇文章最后所提到的数据库管理产品,又经过两年的不懈努力,一群带有热情的老技术打磨,现在3.0版本已经成功上线,并有将近500家线下企业客户使用,2500家线上用户,同时也承载着上千技术爱好者的大力支持。   在这里也向一直支持我们的技术大牛们表达感谢!! 要做到什么?   复杂的技术简单化、可视化、自动化、智能化 (都是被无数产品说烂掉的词),解放DBA、解放IT管理人... 1.0的时代   我们怎么样全面了解客户的数据库运行情况? 脚本? 命令? 又不全又累人,还不及时....我们做了最初的原形Expert for SQL Server ,他能帮助DBA 快速了解分析系统的运行情况,什么时间点出现过什么问题   这样我们可以对众多服务器、众多客户的系统进行全面分析。而告别个人经验主义、效果看水平,这样的时代我们认准的事——分析全面   告别:硬件说软件问题,软件说硬件不行,解决数据库问题就是换高速存储换完还不行再换服务器?       同时我也通过1.0的产品写了一整套数据库优化的文章和案例 SQL SERVER全面优化-------Expert for SQL Server 诊断系列