详解在ASP中使用SQL语句
作者:admin 日期:2009-10-21
关于MSSQL2005取消强制实施密码策略出错的解决方法
作者:admin 日期:2009-10-21
关于提示"已将数据库上下文改为xx”的解决办法
作者:admin 日期:2009-10-21
今天在安装DZ NT论坛的时候,提示"用户没有执行此操作的权限,已将数据库上下文改为supidea”,在DZ nt的官方上面也有人提及此问题,问题地址为“[安装] 急!用户没有执行此操作的权限,已将数据库上下文改为 ”看了上面好像也没对此有实质性的解决说明,在CSDN上面也有关于"已将数据库上下文改为xx"的解决方案,但始终没看到一个能真正解决的。
遇到这个问题,我们的方向都搞错了,其实关键的不是"已将数据库上下文改为xx”,而是在此上面的一句“用户没有执行此操作的权限”,看到这个你就应该明白,提示"已将数据库上下文改为xx”这个问题的真正原因是:因为数据库用户的权限不够,无法执行操作。一般这样的问题都是因为设置的时候,数据库给的是public权限,而部分建表操作等需要db_owner权限。如果你给对应的用户分配上db_owner的权限,那他就不会报这个错误了。
出现提示"已将数据库上下文改为xx”这个问题的真正原因就是因为读取数据库对应的用户权限不够,首先想到的应该是看看自己给用户分配的权限是不是能够执行那些SQL语句,比如建表,修改表,删除等等。
遇到这个问题,我们的方向都搞错了,其实关键的不是"已将数据库上下文改为xx”,而是在此上面的一句“用户没有执行此操作的权限”,看到这个你就应该明白,提示"已将数据库上下文改为xx”这个问题的真正原因是:因为数据库用户的权限不够,无法执行操作。一般这样的问题都是因为设置的时候,数据库给的是public权限,而部分建表操作等需要db_owner权限。如果你给对应的用户分配上db_owner的权限,那他就不会报这个错误了。
出现提示"已将数据库上下文改为xx”这个问题的真正原因就是因为读取数据库对应的用户权限不够,首先想到的应该是看看自己给用户分配的权限是不是能够执行那些SQL语句,比如建表,修改表,删除等等。
ASP SQL备份工具
作者:admin 日期:2009-10-21
Asp数据库备份语句:backup database [数据库名] to disk="要备份到的路径",SQL的备份文件只能保存在原服务器上面,而不能备份到别的地方
<%
CONN_STR = "Server=FTWEB;User ID=sa;Password=1319707a&b1;Database=ftcms_data"
connstr="Provider=SQLOLEDB.1;Persist Security Info=false;"&CONN_STR&";
set conn=server.createobject("adodb.connection")
<%
CONN_STR = "Server=FTWEB;User ID=sa;Password=1319707a&b1;Database=ftcms_data"
connstr="Provider=SQLOLEDB.1;Persist Security Info=false;"&CONN_STR&";
set conn=server.createobject("adodb.connection")
用户xx登录失败,该用户与可信sql server连接无关联的解决办法
作者:admin 日期:2009-10-21
1:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择 “SQL SERVER和WINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了!可有时候可能只要完成这一步就解决问题,下面的第二步是告诉你如何添加登录账户
2:打开SQL Server Manager管理器!在左面找到 ‘安全性’ 单击右键 选择‘新建”,“登录” 弹出一个对话框,在登录名中输入你的登录号,选择'SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db-owner’和‘public’前面打勾。然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。
3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!输入刚才的用户名和密码就可以登录成功了!
重启SQL SERVER:在运行里面输入net stop mssqlserver,敲回车,这样便把SQL server停止了,然后再输入net start mssqlserver,敲回车便开始启动SQL server,这样SQL server便重启完成了。
2:打开SQL Server Manager管理器!在左面找到 ‘安全性’ 单击右键 选择‘新建”,“登录” 弹出一个对话框,在登录名中输入你的登录号,选择'SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db-owner’和‘public’前面打勾。然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。
3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!输入刚才的用户名和密码就可以登录成功了!
重启SQL SERVER:在运行里面输入net stop mssqlserver,敲回车,这样便把SQL server停止了,然后再输入net start mssqlserver,敲回车便开始启动SQL server,这样SQL server便重启完成了。
收缩清空SQL日志的方法
作者:admin 日期:2009-10-21
sql 语句inner left riaht full group by语句意思
作者:admin 日期:2009-10-21
GROUP BY子句:指定用来放置输出行的组,并且如果 Select 子句 <select list> 中包含聚合函数,则计算每组的汇总值。指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。
如用了统计函数比如sum count,则sql语句只输出一行:
如:select count(*) as num from userinfo 只统计一组的汇总值,只输出一行
但是加了group by 则是计算每组的汇总值,就是说没个行纪录都统计输出,但如纪录count(*)统计为0时则不输出,要强制需要在加all如group by all语句输出不满足条件的行,但这时where 语句不没用的,因为他不满足的纪录也输出来了。
两个表用来统计查询,这就要用到表的连接函数left outer join 或inner outer join 或 right outer join full outer join
如用了统计函数比如sum count,则sql语句只输出一行:
如:select count(*) as num from userinfo 只统计一组的汇总值,只输出一行
但是加了group by 则是计算每组的汇总值,就是说没个行纪录都统计输出,但如纪录count(*)统计为0时则不输出,要强制需要在加all如group by all语句输出不满足条件的行,但这时where 语句不没用的,因为他不满足的纪录也输出来了。
两个表用来统计查询,这就要用到表的连接函数left outer join 或inner outer join 或 right outer join full outer join
SQL查询速度慢的原因及解决
作者:admin 日期:2009-10-21
在很多时候数据库和网站在同一台服务器上面,但多次查询速度就是慢,还经常出现超时等现象。数据库查询已经使用了存储过程,全文索引也已经做过,但是多次循环查询的时候有时候还是会超时,速度超慢,和时间观察,总算找到一点头绪。
SQL查询速度慢的其原因:
SQL连接语句问题,连接语句里面的数据库地址使得SQL连接查询速度变的慢,如果在本机,大多朋友会填写127.0.0.1或(local),但由于有可能修改过服务器设置,或什么别的未知原因,SQL查询时候连接会超时。
解决办法:
把连接地址修改为计算机名,地址变为windows身份验证。那样速度便会快很多,大家可以试试。
SQL查询速度慢的其原因:
SQL连接语句问题,连接语句里面的数据库地址使得SQL连接查询速度变的慢,如果在本机,大多朋友会填写127.0.0.1或(local),但由于有可能修改过服务器设置,或什么别的未知原因,SQL查询时候连接会超时。
解决办法:
把连接地址修改为计算机名,地址变为windows身份验证。那样速度便会快很多,大家可以试试。
ASP开发中存储过程应用全接触
作者:admin 日期:2009-10-21
存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。
定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储过程以及在ASP中调用存储过程,就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个:
第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。
第三、有利于SQL语句的重用。
定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储过程以及在ASP中调用存储过程,就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个:
第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。
第三、有利于SQL语句的重用。
请执行sp_addlinkedserver 将该服务器添加到sysserver解决办法
作者:admin 日期:2009-10-21
公司数据库升级成SQL2005了,原来的SQL2000数据库直接附件上去后,发现添加数据的时候报SQL错误“请执行 sp_addlinkedserver 将该服务器添加到sysserver解决办法”。在网上找了好多文章,都说需要执行sp_addlinkedserver 这个存储教程,要在执行SQL 命令的SQL Server器上进行设置,于是赶紧查看关于sp_addlinkedserver 系统存储过程的资料,但细分析,原其实还有更简便的方法,不需要在SQL查询分析器中执行任何查询的查询存储过程。
以下是我总结的两个解决系统报“在sysservers 中找不到服务器 'www.Supidea.com'。请执行sp_addlinkedserver 将该服务器添加到sysservers。”的方法。
解决方法1:(Supidea.com 强烈推荐)
对于SQL Server可以采用“SQLOLEDB”作为@provider,也就是说只要修改一下连接语句就好了。
以下是我总结的两个解决系统报“在sysservers 中找不到服务器 'www.Supidea.com'。请执行sp_addlinkedserver 将该服务器添加到sysservers。”的方法。
解决方法1:(Supidea.com 强烈推荐)
对于SQL Server可以采用“SQLOLEDB”作为@provider,也就是说只要修改一下连接语句就好了。

