随笔分类 - Sql Server
SQL Server 如何设置数据库的默认初始大小和自动增长大小
摘要:我们在SQL Server中新建数据库的时候,可以选择数据库文件及日志文件的初始大小、自动增长大小和最大大小,如下图所示: 可以通过设置更改数据库初始大小、自动增长大小和最大大小: 但是其实在SQL Server中新建数据库时,数据库的初始大小、自动增长大小和最大大小的默认值,是可以在model这个
阅读全文
服务器重启可能会导致SQL Server中部分数据库变为single user mode
摘要:今天检查公司生产服务器的SQL Server数据库,惊讶的发现有三个生产数据库变为了single user mode。奇怪的是没有任何人和程序执行过SQL语句将这三个数据库设置为single user mode,是自动变的。后来在网上查了查原来发现,重启windows server原来有可能导致SQ
阅读全文
如何把SQL Server中一个表,一个存储过程,一个视图等改为系统表,系统存储过程,系统视图等
摘要:使用如下存储过程即可: 其中"[dbo].[TableNameToSystem]"就是你要修改为系统对象的表名,视图名,存储过程名,函数名等对象。 例如下图中数据库中有个用户表叫[dbo].[TableToDemo] 然后执行存储过程sys.sp_MS_marksystemobject,将这个表变为
阅读全文
SQL SERVER中关于OR会导致索引扫描或全表扫描的浅析 (转载)
摘要:在SQL SERVER的查询语句中使用OR是否会导致不走索引查找(Index Seek)或索引失效(堆表走全表扫描 (Table Scan)、聚集索引表走聚集索引扫描(Clustered Index Scan))呢?是否所有情况都是如此?又该如何优化呢? 下面我们通过一些简单的例子来分析理解这些现象
阅读全文
在SQL Server中使用CLR调用.NET类库中的方法 (转载)
摘要:在SQL Server中调用 .NET 类库的方法要分为下面几步来实现: 1: 在类库中编写方法,必须是静态公有的 2: 启用CLR功能 默认情况下,SQL Server中的CLR是关闭的,所以我们需要执行如下命令打开CLR 如果上面的命令在执行过程中出现“不支持对系统目录进行即席更新 ”的错误时,
阅读全文
SQL Server如何附加只有mdf的数据库文件
摘要:有时候SQL Server意外断电会导致SQL Server的ldf日志文件丢失或者损坏,这个时候你如果直接附加mdf文件到SQL Server会失败,这里提供一个方法可以还原只有mdf的数据库文件,这里我们假设你要还原的数据库文件是YourDB.mdf 这个方法适合还原那些没有损坏的mdf数据库文
阅读全文
Sql server 的float和real类型会产生科学计数法,如何消除科学计数法
摘要:sqlserver 查询的 float 类型 如果是0.00000000001的话,会被显示为1E-11,请问怎么才能让查询出的结果显示为正常显示方式而不是科学计数法? 答案: float 和 real 用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地
阅读全文
Sql server在使用sp_executesql @sql执行文本sql时,报错: Could not find database ID 16, name '16'. The database may be offline. Wait a few minutes and try again.
摘要:最近在公司项目中使用exec sp_executesql @sql执行一段文本sql的时候老是报错: Could not find database ID 16, name '16'. The database may be offline. Wait a few minutes and try a
阅读全文
Sql server 使用drop database 语句,无法删除正在使用的数据库的解决办法
摘要:使用DROP DATABASE 删除数据库 显示“无法删除数据库 ,因为该数据库当前正在使用。 解决办法:在删除某一个数据库(下例中的“DB1”数据库)前,强制kill掉该数据库上的所有数据库连接。 如果不想用游标,也可以用循环,如下所示:
阅读全文
Sql server中的 nvarchar(max) 到底有多大?(转载)
摘要:问题: SQL server中的nvarchar(max)最大的长度是4000个字吗? 如果字段的内容超过4000个字时用什么类型呢?text 还是binary?他们的最大长度是多少?比如字段放的是长篇小说的内容之类的..谢谢 ! 回答: MSDN官方解答 所以: 得看SQL server的版本,S
阅读全文
Sql server 账号被锁住:"the account is currently locked out. The system administrator can unlock it."的解决办法(转载)
摘要:今天遇到的问题比较有意思。首先是很久没有打开测试数据库了,今天打开,使用service程序测试的时候出现下面的错误提示:Message: System.Data.SqlClient.SqlException: Login failed for user 'dcp_prod'. Reason: The
阅读全文
如何把高版本的sqlserver 还原到低版本的 sqlserver(转载)
摘要:本例为sql2012 还原到sql2008。 要实现的功能是把sql2012的数据库备份到sql2008,数据库名字为Test,并且这两个数据库在不同的电脑中。 微软的软件设计方案基本上都是新版本兼容旧版本,旧版本不兼容新版本 步骤如下: 1、首先把要把sql2012中要备份的数据库设置为兼容200
阅读全文
为何SQL Server还原数据库BAK文件失败,错误:The system cannot find the path specified.
摘要:今天发现一个问题,就是公司开发服务器上的SQL Server,还原一个数据库bak文件老是报错,错误如下: 可以看到这个错误是SQL Server在文件夹C:\Program Files\Microsoft SQL Server\MSSQL12.DA\MSSQL\DATA\下无法生成数据库文件Fra
阅读全文
64位的Sql Server使用OPENROWSET导入xlsx格式的excel数据的时候报错(转载)
摘要:In the old times while all the CPUs were 32bit, we were happily using JET OLEDB Provider reaching Excel or MDB files for long time without any issues.
阅读全文
Sql Server中的游标最好只用于有主键或唯一键的表
摘要:游标cursor,我想大多数人都在sql server里面用过。当一个表数据量不太大的时候,游标还是可以用的,毕竟游标是循环一个表中每一行数据的最简便办法。但是如果你用一个游标去循环一个没有主键或唯一键的表会发生什么呢? 我们来看看这个例子,我们声明了一个临时表#Foo并插入了一行数据,这个表没有主
阅读全文
SQLServer中DataLength()和Len()两内置函数的区别(转载)
摘要:最近工作中遇到了个问题:在数据库中声明字段类型时char(4),但实际只存储了‘DCE’三个字母,程序中拼装以该字段作为key的Map中,会把‘DCE’+空格作为其Key,这样造成用没加空格的‘DCE’为key去取Value的值是取不出来的,结果是空。后来查看数据库字段类型才发现了问题所在。大家都知
阅读全文
Sql server bulk insert
摘要:Bulk Insert Sql server 的bulk insert语句可以高效的导入大数据量的平面文件(txt,csv文件)到数据库的一张表中,其用法如下: 其中"test"是数据库表的名字,"f:\test.txt"是导入平面文件的地址,fieldterminator指定平面文件中列的分隔符是
阅读全文
设置Sql server用户对表、视图、存储过程、架构的增删改查权限
摘要:根据数据库Schema限制用户对数据库的操作行为 授予Shema dbo下对象的定义权限给某个用户(也就是说该用户可以修改架构dbo下所有表/视图/存储过程/函数的结构) 回收某个用户对Shema dbo下对象的定义权限(也就是说该用户不可以修改架构dbo下所有表/视图/存储过程/函数的结构) 允许
阅读全文
SQL Server FileStream (转载)
摘要:从SQL SERVER 2008开始,SQL SERVER引入了一种新的文件组类型叫FileStream文件组,如下图所示: 那么这种文件组是用来做什么的呢? 以往我们对文件管理有两种方法: 上面两种文件存放方式都有问题:第一种方法因为会访问磁盘,故受I/O影响性能不是很好,而且不能很好的进行文件备
阅读全文