在SQL SERVER中如果需要查询出当天、当月和当年的数据,可以通过DATEDIFF函数计算相差时间以获取正确的过滤条件。主要思路是通过DATEDIFF函数计算当前日期与数据日期的天数差、月份差和年数差,如果相差值为0,则表示为当前时间的数据,大于0或小于0则表示数据的时间比当前时间更加早或晚。
在进行SQL SERVER数据库的还原操作时,如果出现错误提示:备份介质集不完整。介质簇计数: 2。缺失的介质簇序列号: 1 。那么肯定就是要还原的数据库备份文件不完整,也就是备份介质缺少了,具体错误截图如下:
在新安装的SQL SERVER 2014上修改表结构,因为默认启用了"阻止保存要求重新创建表的更改",所以导致出现警告,提示不允许保存更改。其实这是一个老早的问题了,这个问题最早出现在SQL SERVER 2008上,只要对数据库进行相关设置即可解决问题,这里做个笔记记录下。
对SQL Server数据库进行还原操作操作时,如果提示未选择要还原的备份集,那么将会导致你无法进行还原操作,要进行还原的数据库名称也不会显示出来。解决此问题很简单,就是创建此数据库的备份集。
在对Microsoft SQL Server 2014进行备份操作的时候,出现错误:"System.Data.SqlClient.SqlError:无法打开备份设备'F:\.....'。出现操作系统错误 5(拒绝访问。)。(Microsoft.SqlServer.Smo)"。出现此错误的主要原因是所选择的备份文件夹没有权限,所以必须为文件夹添加SQLServerMSSQLUser$SQLEXPRESS和SQLServerMSSQLUser$MSSQLEXPRESS用户的所有权限。
当初决定自己做个博客网站的时候,曾经考虑网站是使用SQL Server还是MySql数据库。但是SQL Server正式版是要收费的,本着屌丝原则最终退而求其次,使用SQL Server 2014 Express(速成版),好处就是该版本是免费且可用于商业用途,坏处就是很多高级功能都被阉割了。
由于最近安装了windows server 2012操作系统,所以原本2008系统上的数据库和配置都要转移到2012上。之前有写过一篇如何实现SQL SERVER EXPRESS自动备份数据库的文章,由于12系统实现方式和08系统基本上一样,毕竟功能还是那些,只是win2012的系统界面换成Metro UI的风格。
本文简单的描述了如何使用sqlcmd命令来执行带参数的存储过程,其实语法很简单,只要在执行的存储过程后面添加相应的参数名和参数值即可。
本文主要记录了SQL Server Express如何实现自动备份数据库的功能。由于SQL Server Express作为微软发布的免费版本,所以功能上和正式版相比有所缺少。自动备份数据库需要SQL Server Agent服务,但是express版则没有该服务,所以我们只能自己用其他的方法来执行自动备份。
在使用SQL Service 2005/2008 创建链接服务器时,有出现过:"消息 15429,级别 16,状态 1,过程 sp_addlinkedserver,第 42 行'(null)' 是无效的产品名称。"的问题,从该错误提示上来看,主要是创建链接服务器的时候没有输入产品名称的原因。根据不同的创建方式以下分为两种解法方法,解决方法如下:
ASP.NET MVC项目中,使用entity framework添加数据遇到“从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值”这个错误问题。后经过问题的排查,是由于C#代码中实体类所传入的DateTime类型属性没有赋值的原因,其中主要涉及到SQL Server 中datetime2的时间精度和日期范围的问题。
项目中由于需求设计,数据库中需要一个timestamp时间戳类型的字段来作为区别数据添加和修改的标识。由于timestamp在SQL SERVER 2005数据库中,不可为空的timestamp类型在语义上等同于binary(8)类型,可为空的 timestamp类型在语义上等同于varbinary(8)类型,这将导致在C#程序中获取到的timestamp类型则变成了byte[]类型。所以如果我们需要从数据库中获取并使用这个时间戳的话就必需经过转换。