SQL Server 错误日志Tip
在日常 SQL Server 错误日志可以用来确认服务的运行情况:例如服务的启停、备份和还原操作、登录认证情况等等,需要经常性的查看。使用 SQL Server 错误日志。默认情况下,错误日志位于ERRORLOG.n 文件中。默认保留有 SQL Server 错误日志文件,分别是:Errorlog.1~ErrorLog)没有扩展名。每当启动ErrorLog,并将之前的ErrorLog.1,之前的ErrorLog.2,依次类推,原先的ErrorLog文件有时候会碰到文件很大的情况,尤其将登录认证情况记录到错误日志的情况之下,此时使用sp_cycle_errorlog来生成新的日志文件,并循环错误日志扩展编号,就如
SQL Server 定位备份文件权限错误
今天在一台SQL Server 2005服务器上还原数据库,在选择C盘下的一个备份文件时,发生如下错误: 定位备份文件 - SDGF------------------------------C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackup无法在服务器上访问指定的路径或文件。请确保您具有必需的安全权限且该路径或文件存在。如果您确定所用服务帐户可以访问特定的文件,请在“定位”对话框的“文件名”控件中键入该文件的完整路径。如图所示:事实上,当前操作系统用户对C盘是有访问权限的。起初觉得很奇怪,后来仔细看了一下错误提示,是需要确定“服务帐户”可以访问
SQL Server解题:《编程之美》1的数目
读《编程之美》,有一题“1的数目”,题目如下:给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。例如:N= 2,写下1,2。这样只出现了1个“1”。N= 12,我们会写下1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12。这样,1的个数是5。写一个函数f(N),返回1到N之间出现的“1”的个数,比如f(12)=5。尝试了在SQL Server2000中解决,整体思路是:如果在纸上试着将这些整数竖着列一下,容易发现这样的规律,单看个位、十位、百位....,会发现1在这些位上出现是有一定规律的。例如在个位上,每连续10个数
SQL Server存储过程中使用递归
在朋友的一个SQL存储过程中看到有使用递归,回首想想貌似接触数据库这么久,还从来没有哪怕一次使用过。呵呵,有点小惭愧。于是研究了一下,试着写了一段SP来实现斐波纳契数列的计算。斐波纳契数列 800年前,意大利的数学家斐波纳契出版了惊世之作《算盘书》。在《算盘书》里,他提出了著名的“兔子问题”:假定一对兔子每个月可以生一对兔子,而这对新兔子在出生后第二个月就开始生另外一对兔子,这些兔子不会死去,那么一对兔子一年内能繁殖多少对兔子? 答案是一组非常特殊的数字:1,1,2,3,5,8,13,21,34,55,89……
SQL Server 检测字符串中是否有重复字符的函数
SQL Server 2000检测字符串中是否有重复字符的函数Create Function FN_DupChar(@String Varchar(100))Returns BitAsBegin Declare @Temp Table(Chr Varchar(1)) Declare @i Int ,@j Int Select @i = 1, @j = 0 While @i <= Len(@String) Begin Insert Into @Temp Select Substring(@String,@i,1) Select @i = @i + 1 End If Exists(Select 1 From @Temp Group By Chr Having Count(*) > 1) Begin Set @j = 1 End Return @jEnd[@more@]